@charset "UTF-8";


/* 赤　＝　#e50012　rgb(229,0,18) */
/* 背景　＝　#fbfaf8 */
/* ベージュ　＝　#fbe6d4　rgb(251,230,212) */
/* 黒　＝　#4d4545 */



div#mfp_overlay_background,
div#mfp_loading_screen,
div#mfp_loading,
div#mfp_overlay,
#mfp_hidden {
	display: none;
}


/*===================================================================
　↓　#contents
===================================================================*/
#contents {
    padding-top: 80px;
}
@media screen and (max-width: 768px) {
#contents {
    padding-top: 70px;
}
}


/*===================================================================
　↓　#head-image
===================================================================*/
#head-image {
    height: 300px;
    background-image: url(../img/entry-back.jpg);
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
#head-image .inner {
    text-align: center;
    padding: 30px 0;
    background-image: url(../img/entry-rose.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    color: #e50012;
}
#head-image .inner p {
    font-size: 2.6rem;
}
#head-image .inner h1 {
    font-weight: 500;
}

@media screen and (max-width: 768px) {
#head-image {
    height: 200px;
}
#head-image .inner {
    padding: 20px 0;
}
#head-image .inner p {
    font-size: 2.2rem;
}
}
@media screen and (max-width: 640px) {
#head-image {
    height: 120px;
}
#head-image .inner {
    padding: 15px 0;
}
#head-image .inner p {
    font-size: 1.8rem;
}
#head-image .inner h1 {
    font-size: 1.2rem;
}
}



/*===================================================================
　↓　#form
===================================================================*/
#form,
#thanks {
    max-width: 800px;
    padding: 0 30px;
    box-sizing: border-box;
    margin: 70px auto 100px;
}
#form span.red {
    color: #e50012;
}
@media screen and (max-width: 640px) {
#form,
#thanks {
    margin: 50px auto 70px;
}
}
@media screen and (max-width: 640px) {
#form,
#thanks {
    margin: 30px auto 50px;
    padding: 0 20px;
}
}


/*----------------------------------------------
　　#note
----------------------------------------------*/
#form #note {
    margin-bottom: 50px;
}
#form #note ul {
    margin-left: 20px;
}
#form #note ul li {
    list-style-type: disc;
    line-height: 1.8em;
    margin-bottom: 10px;
    font-size: 1.3rem;
}
#form #note ul li:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 640px) {
#form #note {
    margin-bottom: 30px;
}
}


/*----------------------------------------------
　　form
----------------------------------------------*/
#form table {
    width: 100%;
}
#form table tr {
    display: table;
    width: 100%;
	margin-bottom: 10px;
}
#form table th {
    width: 160px;
    text-align: left;
    box-sizing: border-box;
    border-right: 3px solid #fbfaf8;
    vertical-align: middle; 
    background-color: rgba(229,0,18,0.08);
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
#form table th p { 
    padding-left: 15px;
    box-sizing: border-box;
}
#form table td {
    vertical-align: middle; 
}
#form table td input.normal {
    width: 100%;
    padding: 20px 15px;
    box-sizing: border-box;
    font-size: 1.4rem;
    background-color: #fff;
    color: #4d4545;
    border: none;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    font-family: YakuHanJP, 'Lato', 'Noto Sans JP', sans-serif !important;
}
#form table td select {
    border: none;
    background-color: #fff;
	max-width: 360px;
	width: 100%;
	box-sizing: border-box;
    color: #4d4545;
	padding: 20px 0 20px 20px;
	appearance: none;
	font-size: 1em;
    font-family: YakuHanJP, 'Lato', 'Noto Sans JP', sans-serif !important;
	/*for firefox*/
	-moz-appearance: none;
	text-indent: 0.01px;
	text-overflow:"";
	background-image: url(../img/select.png);
	background-repeat: no-repeat;
	background-size: 10px 6px;
	background-position: center right 15px;
	/*for Chrome*/
	border-radius: 0px;
	-webkit-appearance: none;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}
#form table td textarea {
	width: 100% !important;
    height: 200px !important;
	border: none;
	box-sizing: border-box;
	appearance: none;
    padding: 15px;
	font-size: 1em;
    line-height: 1.6em;
    color: #4d4545;
	font-family: YakuHanJP, 'Lato', 'Noto Sans JP', sans-serif !important;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

/*エラー表示*/
.mfp_err {
    color: #e50012;
    font-size: 1.2rem;
    line-height: 2em;
}

/*送信確認tr*/
#form table tr:last-child td {
    padding: 15px 0 15px 20px;
    box-sizing: border-box;
    font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 640px) {
#form table tr,
#form table th,
#form table td {
    display: block;
    width: 100%;
}
#form table tr {
    margin-bottom: 15px;
}
#form table th {
    padding: 10px 0; 
    border-right: none;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
#form table td input.normal,
#form table td select,
#form table td textarea {
	border-top-left-radius: 0;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 5px;
    font-size: 1.6rem;
    padding: 12px 15px;
}
#form table tr:last-child td {
    padding: 10px 0 10px 0;
}
}


/* #privac
-------------------------------------*/
#form #privacy p.h-title {
    background-color: rgba(229,0,18,0.2);
    padding: 20px 0;
    text-align: center;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}
#form #privacy .privacy-inn {
    height: 300px;
    overflow: scroll;
    background-color: #fff;
    box-sizing: border-box;
    padding: 30px;
    line-height: 2em;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
}
#form #privacy .privacy-inn p {
    margin-bottom: 20px
}
#form #privacy .privacy-inn ol {
    margin-left: 20px;
}
#form #privacy .privacy-inn ol > li {
    margin-bottom: 25px;
}
#form #privacy .privacy-inn ol > li > span {
    font-weight: bold;
    display: inline-block;
    margin-bottom: 5px;
}
#form #privacy .privacy-inn ol ul {
    margin-left: 20px;
}
#form #privacy .privacy-inn ol ul li {
    list-style-type: disc;
    margin-top: 10px;
}
#confirmation {
    text-align: center;
    margin-top: 30px;
}
@media screen and (max-width: 640px) {
#form #privacy p.h-title {
    padding: 15px 0;
}
#form #privacy .privacy-inn {
    padding: 20px;
    height: 200px;
}
#form #privacy .privacy-inn p,
#form #privacy .privacy-inn li {
    font-size: 1.3rem;
    line-height: 1.8em;
}
#form #privacy .privacy-inn ol ul li {
    margin-top: 6px;
}
#form #privacy .privacy-inn ol > li {
    margin-bottom: 15px;
}
#confirmation {
    margin-top: 20px;
}
}





/*===================================================================
　↓　ボタン関係
===================================================================*/
button {
    display: inline-block;
    max-width: 220px;
    width: 100%;
    line-height: 50px;
    height: 50px;
    font-size: 1.4rem;
    text-align: center;
    color: #fff;
    background-color: #e50012;/*赤*/
    border: 1px solid #e50012;/*赤*/
    border-radius: 5px;
    box-sizing: border-box;
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -ms-transition: 0.4s;
    transition: 0.4s;
    background-image: url(../img/yajirushi-w.png);
    background-repeat: no-repeat;
    background-size: 17px 10px;
    background-position: center right 10px;
    margin: auto 5px;
}
button:hover {
    background-position: center right 0;
    background-color: #faccd0;
    color: #e50012;/*赤*/
    border: 1px solid #faccd0;
    background-image: url(../img/yajirushi-r.png);
}

/* リセットボタン特別仕様 */
button:last-of-type {
    background-color: #fbfaf8;
    border: 1px solid #e50012;/*赤*/
    color: #e50012;/*赤*/
    background-image: none;
}
button:last-of-type:hover {
    background-image: none;
    background-color: #faccd0;
    border: 1px solid #faccd0;/*赤*/
}

@media screen and (max-width: 640px) {
button {
    display: inline-block;
    margin-bottom: 10px;
}
}



/*===================================================================
　↓　確認画面（#mfp_phase_confirm_inner）
===================================================================*/
#mfp_phase_confirm_inner h4 {
    text-align: center;
    font-size: 1.7rem;
    font-weight: 500;
    color: #e50012;/*赤*/
    margin-bottom: 30px;
}
#mfp_phase_confirm_inner table th {
    padding-left: 20px;
    width: 200px;
}
#mfp_phase_confirm_inner table td {
    padding: 20px;
    box-sizing: border-box;
    background-color: #fff;
}
#mfp_phase_confirm_inner table tr:last-child td {
    padding: 20px;
    box-sizing: border-box;
    font-size: 1.4rem;
}
#mfp_phase_confirm_inner div.mfp_buttons {
    text-align: center;
    margin-top: 30px;
}
@media screen and (max-width: 640px) {
#mfp_phase_confirm_inner table th {
    padding: 15px;
    width: 100%;
}
#mfp_phase_confirm_inner table td {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}
}




/*===================================================================
　↓　#thanks
===================================================================*/
#thanks p {
    line-height: 2.2em;
}
#thanks p:first-of-type {
    font-size: 1.8rem;
    color: #e50012;
    margin-bottom: 20px;
    text-align: center;
    font-weight: 500;
}
#thanks ul {
    margin: 20px 0;
    padding: 30px 30px 30px 50px;
    box-sizing: border-box;
    background-color: rgba(229,0,18,0.1);
    border-radius: 10px;
}
#thanks ul li {
    list-style-type: disc;
    margin-bottom: 10px;
}
#thanks ul li:last-child {
    margin-bottom: 0;
}

/* TOPボタン特別仕様 */
#btn-wrap {
    text-align: center;
    margin-top: 40px;
}
#btn-wrap .top-btn {
    background-color: #fbfaf8;
    background-image: url(../img/yajirushi-r.png) ;
}

@media screen and (max-width: 640px) {
#thanks p:first-of-type {
    font-size: 1.6rem;
    margin-bottom: 10px;
}
#thanks ul {
    padding: 15px 15px 15px 35px;
    border-radius: 5px;
}
}
