@charset "UTF-8";

.all_wrap {
	/*background: #62b10c;*/
	background:url("../images/bg.webp") repeat center top fixed;
}

.showa_header {
	background: #fff;
	/*position: relative;*/
	position: fixed;
	box-sizing: border-box;
	padding: 15px 15px 10px 15px;
	z-index: 1101;
	width: 100%;
}
.showa_header::after {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	width: 100%;
	height: 10px;
	background:url("../images/nami_l.png") repeat-x center top;
}
.showa_header .logo {width: 160px;}
@media screen and (max-width: 620px){
	.showa_header .logo {width: 100px;}
}

.side_img01 {
	position: fixed;
	right: -360px;
	
	top: 200px;
	/*transition: all 1.3s cubic-bezier(0,1.21,.61,.28) 0.3s;*/
	/*transition: all 1.0s linear(0, 0.6 35%, 0.6 , 1) 0.3s;*/
	transition: all 1.0s linear(0, 0.68, 0.68, 0.8, 1) 0.3s;
	/*transition: all 1.3s cubic-bezier(.04,1.09,.67,.13) 0.3s;*/
}



@media screen and (max-width: 1200px){
	.side_img01 {width: 28vw;}
}
@media screen and (max-width: 940px){
	.side_img01 {width: 23vw;}
}
@media screen and (max-width: 768px){
	.side_img01 {display: none;}
}

.pStart .side_img01 {
	left: initial;
	right: 0;
}

.side_img01 .motion2 {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	/*transition: all 0s steps(6) infinite; */
	animation: movie01 3.6s steps(1) infinite;
}
@keyframes movie01 {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}


section:not(#outline) .cnt_container .tArea p:not(.cap) {
	font-weight: 600;
	letter-spacing: -0.05em;
}
section .cnt_container h2 {margin-bottom: 20px;}


#content {/*margin-top: 60px*/ padding-top: 60px;}
@media screen and (max-width: 620px){
	#content { padding-top: 40px;}
}
/*
@media screen and (max-width: 460px){
	#content {margin-top: 30px}
}
*/
#content .wrap {}
#content .wrap .container {
	box-sizing: border-box;
	/*border: 1px solid #333;*/
	/*border-radius: 26px;*/
	background: #fff;
	/*margin-bottom: 60px;*/
	margin-bottom: 0px;
	overflow: hidden;
	box-shadow: 1px 1px 5px 3px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 520px){
	#content .wrap .container {border-radius: 0px; border: none;}
}
.cnt_header {display: flex; justify-content: flex-end; }
/*.cnt_header .logo {width: 120px;}*/

.mv {
	background: #4ab033;
	position: relative;
	text-align: center;
	box-sizing: border-box;
	padding: 0 20px 40px;
}
@media screen and (max-width: 460px){
	.mv {padding: 0 10px 40px;}
}
.mv::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 10px;
	background:url("../images/nami_s.png") repeat-x center top;
	transform: rotateX(180deg)
}



.mv .txt01 {
	text-align: center;
	font-weight: 600;
	margin-bottom: 10px;
	font-size: 1.2em;
	padding-top: 30px;
	opacity: 0;
	transition: all 0.3s ease 0.2s;
}

.pStart .mv .txt01 {opacity: 1;}


.mv .mv_items {
	transform: scale(0.92);
	transition: all 0.3s ease 0.4s;
	opacity: 0;
}
.pStart .mv .mv_items {
	opacity: 1;
	transform: scale(1);
}

.mv .mv_items .txt02 {}
.mv .mv_items .txt02 img {max-width: 352px; width: 100%;}

.mv .imgArea {margin-top: 10px; margin-bottom: 5px; text-align: center;}
.mv .imgArea > img {position: relative; left: 10px; max-width: 200px; width: 100%;}
.mv .imgArea span.fukidashi {
	position: absolute;
	top: -36px;
	right: 4px;
	transition: all 0.4s ease 0.6s;
	transform: scale(0.8);
	opacity: 0;
	transform-origin: left bottom;
	max-width: 110px;
	width: 100%;
}
.pStart .mv .imgArea span.fukidashi {
	opacity: 1;
	transform: scale(1);
	
}

@media screen and (max-width: 500px){
	.mv .imgArea > img {width: 40vw}
	.mv .imgArea span.fukidashi {
		/*width: 21.2vw;*/
		width: 23.2vw;
		top: -6.4vw;
		right: 1.8vw;
	}
}
@media screen and (max-width: 460px){
	.mv .imgArea span.fukidashi {right: -0.8vw; top: -8vw;}
}

.mv .mv_items .term {
	max-width: 342px;
	margin: auto;
	padding-bottom: 20px;
}



.btnArea {text-align: center; position: relative;}
.btnArea.btn2 {
	display: flex;
	justify-content: space-between;
}


.btnArea a, .btnArea button {transition: all 0.3s ease; display: block;}
.btnArea a:hover, .btnArea button:hover {opacity: 0.5!important;}

.cnt_top .btnArea {margin-top: 30px; padding-bottom: 10px}
.cnt_top .btnArea .tomato {max-width: 164px;}
.cnt_top .btnArea .tomato:not(.onPosi) {
	/*position: absolute;*/
	
	position: absolute;
	/*bottom: 50px;*/
	bottom: -20px;
	right: 0;
	
	/*pointer-events: none;*/
}
.cnt_top .btnArea .tomato .tomatoWrap {
}

.cnt_top .btnArea .tomato a {
	/*background: #333;*/
	border-radius: 70px;
	overflow: hidden;
	display: block;
	position: relative;
	
}

.cnt_top .btnArea .tomato a.target02  {
	transition: all 0.5s cubic-bezier(0.25, 0, 0, 1.5);
	opacity: 0;
	transform: scale(0.8);
}
.cnt_top .btnArea .tomato a.target02.is-animate  {
	opacity: 1;
	transform: scale(1);
}

@media screen and (max-width: 480px){
	.cnt_top .btnArea .tomato {width: 40vw;}
}

/*
.cnt_top .btnArea .tomato.onPosi {
	position: static;
	display: block;
	width: 100%;
}
*/
.cnt_top .btnArea .tomato.onPosi {
	position: fixed;
	/*top: 10px;*/
	top: 60px;
	z-index: 900;
	

}
.cnt_top .btnArea .tomato.onPosi .tomatoWrap {
	position: relative;
	right: -71px;
	/*right: -95px;*/
}
.cnt_top .btnArea .tomato.onPosi a {}

@media screen and (max-width: 520px){
	.cnt_top .btnArea .tomato.onPosi  {right: 21px;}
	.cnt_top .btnArea .tomato.onPosi .tomatoWrap  {right: -21px;}
}
@media screen and (max-width: 460px){
	.cnt_top .btnArea .tomato.onPosi  {right: 10px;}
	.cnt_top .btnArea .tomato.onPosi .tomatoWrap  {right: -10px;}
}


.cnt_top .btnArea > div {
	position: absolute;
	/*top: -115px;*/
	top: -180px;
}













#about_okomeal {}
#about_okomeal .imgArea {margin-bottom: 20px;}
#about_okomeal .imgArea img {
	max-width: 168px;
	width: 100%;
}
#about_okomeal .link {margin-top: 10px}
#about_okomeal .link a {font-weight: 700; letter-spacing: -0.05em; position: relative;}
#about_okomeal .link a::after {
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	top: calc(100% - 1px);
	right: 0;
}
/*#about_okomeal .link a::before {background: #4ab033;}*/
#about_okomeal .link a::after {background: #333; transition: all 0.3s ease;}
#about_okomeal .link a:hover::after {width: 0%;}

#about_okomeal .link a span {position: relative;}
#about_okomeal .link a span::after {
	content: '';
	background:url("../images/arrow01.svg") no-repeat center center;
	width: 10px;
	height: 10px;
	display: inline-block;
	margin-left: 3px;
	/*
	position: absolute;
	top: 53%;
	transform: translateY(-50%) scale(0.7);
	left: calc(100% + 0px);
	*/
}



#cha_background {}
#cha_background .imgArea {margin-top: 20px;}
#cha_background .imgArea img {
	max-width: 236px;
	width: 100%;
}


section.target .cnt_container .tArea p span.bkLine {
	background-size: 0% 100%;
	/*transition: all 0.4s ease;*/
	transition-delay: 0.5s;
}
section.target.is-animate .cnt_container .tArea p span.bkLine {
	background-size: 100% 100%;
}




#cha_prof {}
#cha_prof .profArea {
	box-sizing: border-box;
	background: #4ab033;
	/*border: 1px solid #333;*/
	border-radius: 26px;
	padding: 25px;
	color: #fff;
	font-weight: 600;
}
@media screen and (max-width: 460px){
	#cha_prof .profArea {padding: 25px 10px;}
}

#cha_prof .profArea > section {margin-bottom: 40px;}
#cha_prof .profArea h3 {
	background: #fff;
	box-sizing: border-box;
	color: #4ab033;
	padding: 3px;
	font-weight: 700;
	letter-spacing: 0.26em;
	font-size: 1.1em;
	/*border: 2px solid #fff;*/
	border-radius: 20px;
	margin-bottom: 10px;

	/*outline: 1px solid transparent;*/
	/*transform: translateZ(0);*/
	/*
	-webkit-backface-visibility: hidden;
  backface-visibility: hidden;
	*/
	/*box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.4);*/
}

#cha_prof .profArea > section .imgArea {margin-top: 20px;}

#cha_prof .profArea > section.target .imgArea img {
	max-width: 240px;
	width: 100%;
	opacity: 0;
	transform: scale(0.8);
	transition: all 0.5s cubic-bezier(0.25, 0, 0, 1.5) 0.5s;
	margin: auto;
}
#cha_prof .profArea > section.target.is-animate .imgArea img {
	opacity: 1;
	transform: scale(1);
}

#cha_prof .profArea > section p {letter-spacing: -0.05em;}
#cha_prof .profArea > section > ul {}
#cha_prof .profArea > section > ul > li {}
#cha_prof .profArea > section > ul > li:not(:last-child)::after {
	content: '◆';
	display: block;
	transform: scale(0.6)
}


#outline {}

.outlineCnt .ol_list {}
.outlineCnt .ol_list > li {}
.outlineCnt .ol_list > li:not(:last-child) {margin-bottom: 15px;}
.outlineCnt .ol_list > li .ol_title {font-size: 1.1em; font-weight: 600;}
.outlineCnt .ol_list > li .ol_title::before/*, .complete .contact .ol_title::before*/ {content: '●'; display: inline-block; margin-right: 3px; color: #4ab033; margin-bottom: 3px;}
.outlineCnt .ol_list > li .tArea {font-weight: 500; font-size: 0.9em; line-height: 1.2;}
.outlineCnt .ol_list > li .tArea > p:not(.cap) + p.cap {margin-top: 6px;}

.outlineCnt .ol_list > li .tArea > ul {margin-bottom: 8px}
.outlineCnt .ol_list > li:not(.contact) .tArea > ul > li {position: relative; padding-left: 15px; margin-bottom: 5px;}
@media screen and (max-width : 1180px ){
	.outlineCnt .ol_list > li:not(.contact) .tArea > ul > li { padding-left: 13px; }
}
.outlineCnt .ol_list > li:not(.contact) .tArea > ul > li::before {
	content: '・';
	color: #4ab033;
	position: absolute;
	top: 0;
	left: 0;
}
.outlineCnt .ol_list > li.notice .tArea > ul {}
.outlineCnt .ol_list > li.notice .tArea > ul > li:not(:last-child) {margin-bottom: 20px;}


.outlineCnt .ol_list > li.contact .tArea, .complete .contact .tArea {}
.outlineCnt .ol_list > li.contact .tArea a, .complete .contact .tArea a {color: #181818; transition: all 0.3s ease;}
.outlineCnt .ol_list > li.contact .tArea a:hover, .complete .contact .tArea a:hover {color: #4ab033;}
.outlineCnt .ol_list > li.contact .tArea > ul, .complete .contact .tArea > ul {}
.outlineCnt .ol_list > li.contact .tArea > ul > li, .complete .contact .tArea > ul > li {margin-top: 3px;}


.outlineCnt .ol_list > li .tArea .btnArea {margin-top: 12px;}

@media screen and (max-width: 385px){
#content br.sp, .modal br.sp {display: inline;}
	.brkBr01 {display: none;}
}
@media screen and (max-width: 340px){
	section:not(.outlineCnt) .cnt_container .tArea p:not(.cap), #cha_prof .profArea > section p, #cha_prof .profArea > section > ul {
		font-size: 4vw;
	}
}




/**** form ****/

#form {}
#formCnt {}
#formCnt h2 {
	font-size: 2em;
	font-weight: 700;
	margin-top: 30px;
	color: #4ab033;
}
#formCnt h2 + p {text-align: left;}

#formCnt .formArea {text-align: left; margin-top: 40px;}
#formCnt .formArea .formList {}
#formCnt .formArea .formList > li {
	/*
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	*/
	
	margin-bottom: 15px;
	padding-bottom: 15px;
	
	/*
	margin-bottom: 8px;
	padding-bottom: 8px;
	margin-top: 8px;
	padding-top: 8px;
	*/
	border-bottom: 2px dotted rgba(0,0,0,0.3);
	
}

#formCnt .formArea .formList > li:first-child {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 2px dotted rgba(0,0,0,0.3);
}

#formCnt .formArea .formList > li > div {position: relative;}
/*
#formCnt .formArea .formList > li > div.fmTitle {width: 120px;}
#formCnt .formArea .formList > li > div.fmCont {width: calc(100% - 130px)}
*/
#formCnt .formArea .formList > li > div.fmTitle {margin-bottom: 15px; font-weight: 600; }
#formCnt .formArea .formList > li > div.fmTitle span {}
#formCnt .formArea .formList > li > div.fmTitle span::before {content: '●'; display: inline-block; margin-right: 3px; color: #4ab033;}


.formList_2nd {}
.formList_2nd > li {}
.formList_2nd > li:not(:last-child) {margin-bottom: 10px;}

.div2Items {
	display: flex;
	justify-content: space-between;
}
.div2Items > span {width: calc(50% - 5px)}
.div2Items > span:first-child {margin-right: 10px;}

li.age > div.fmCont > span input {margin-right: 5px; }


.required_txt {color: #D7191C;}
#formCnt .formArea .formList > li.required .fmTitle span {}
#formCnt .formArea .formList > li.required .fmTitle span::after {content: '＊'; color: #D7191C;}

#formCnt .formArea .formList > li.error {
	position: relative;
}
#formCnt .formArea .formList > li.error::before {
	content: '';
	position: absolute;
	top: -12px;
	left: -10px;
	width: calc(100% + 20px);
	height: calc(100% + 8px);
	background: #fddcdc;
	z-index: 0;
}
#formCnt .formArea .formList > li.error .fmTitle {}
#formCnt .formArea .formList > li.error > div.fmTitle span::before {color: #D7191C;}
#formCnt .formArea .formList > li.error input[type="text"], #formCnt .formArea .formList > li.error input[type="search"],  #formCnt .formArea .formList > li.error select { background: #fff; }
#formCnt .formArea .formList > li.error textarea { background: #fff;}

.errorMessage {
	position: relative;
	margin-top: 10px;
	color: #D7191C;
}

.agreement {margin-top: 60px; }
.agreement h3 {
	font-size: 1.5em;
	font-weight: 600;
	margin-bottom: 25px;
	color: #ee8600;
}
.agreement .checkBoxList {}
.agreement .checkBoxList > li {
position: relative;
	font-size: 1.1em;
}

.agreement .checkBoxList > li label {
	padding-left: 25px;
	position: relative;
	/*display: block;*/
	box-sizing: border-box;
}
.agreement .checkBoxList > li label span {margin-right: 0;}
.agreement .checkBoxList > li label input {
	position: absolute;
	left: 0;
}
.agreement .checkBoxList > li p.cap {padding-left: 25px;}
/*
.agreement .checkBoxList > li  {
	position: absolute;
	left: 0;
	top: 0;
}
*/
.agreement .checkBoxList > li:not(:last-child) {margin-bottom: 15px;}


.agreement .ol_list {
	text-align: left;
	/*
	background: #f9f7e4;
	*/
	box-sizing: border-box;
	padding: 20px;
	border: 1px solid #333;
	height: 300px;
	overflow-y: scroll;
	
}
@media screen and (max-width: 460px){
	.agreement .ol_list {padding: 10px;}
}
.agreement .ol_list > li {}
.agreement .ol_list > li > .tArea {}
.agreement .ol_list > li > .tArea > p {}
.agreement .ol_list > li > .tArea > p + ul {margin-top: 10px;}

.agreement_txt01 {
	margin-top: 40px;
	margin-bottom: 40px;
	font-weight: 600;
	font-size: 1.1em;
}
button.nextBtn.checked {transition: all 0.6s ease; opacity: 1;}
button.nextBtn.noncheck {
	opacity: 0.4;
	pointer-events: none;
}

#formCnt .btnArea {margin-top: 30px;}

.complete {}
.complete .txt01 {
	font-size: 1.4em;
	font-weight: 600;
	margin-bottom: 30px;
}
.complete .txt02 {
	text-align: center;
}



.complete .contact {
	margin-top: 30px;
	box-sizing: border-box;
	background: #f9f7e4;
	padding: 20px;
	border-radius: 10px;
	font-size: 0.9em;
	/*color: #fff;*/
}
@media screen and (max-width: 460px){
	.complete .contact {padding: 10px;}
}
.complete .contact .tArea {text-align: left; font-weight: 500;}

.complete .contact .ol_title {
	margin-bottom: 10px;
	font-size: 1.2em;
    font-weight: 600;
	color: #ee8600;
}

.return_top {margin-top: 30px; font-size: 1.1em; font-weight: 600;}

.complete .imgArea {margin-top: 40px;}
.complete .imgArea img {
	max-width: 260px;
	width: 100%;
}






    /* モーダル */
    .modal {
        /*display: none;*/
		visibility: hidden;
		display: flex;
        position: fixed;
        top: 0;
        left: 0;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        background: rgba(79, 79, 79, 0.5);
        z-index: 100;
        opacity: 0;
        pointer-events: none;
        /*transition: opacity 0.3s ease;*/
        transition: all 0.3s ease;
		box-sizing: border-box;
		padding-top: 50px;
    }



    /* モーダル表示状態 */
    .modal.active {
		visibility: visible;
        
        opacity: 1;
        pointer-events: auto;
    }

    /* モーダルの中身*/
    .modal-content {
        width: calc(100vw - 20px);
        max-width: 470px;
        
        position: relative;
        opacity: 0;
        transform: scale(0.9);
        transition: all 0.3s ease;
		max-height: 80vh;
		
    }
.modal_container {
	overflow-y: scroll;
	max-height: 80vh;
	box-sizing: border-box;
        background: #fff;
        padding: 20px 0px;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}
@media (orientation: landscape) and (max-height: 450px) {
	.modal-content, .modal_container {max-height: 70vh;}
}

.modal.active .modal-content {
        opacity: 1;
	transform: scale(1);
    }


    /* アニメーション*/

/*
    .modal.active .modal-content {
        animation: fadeInScale 0.4s ease forwards;
    }

    @keyframes fadeInScale {
        0% {
            opacity: 0;
            transform: scale(0.8);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
*/

.close-btn {
position: absolute;
/*top: 0px;*/
bottom: calc(100% + 3px);
right: 0px;
background: transparent;
border: none;
cursor: pointer;
transition: transform 0.3s ease;
	
	width: 24px;
	height: 24px;
	
    }
@media (orientation: landscape) and (max-height: 450px) {
	.close-btn {
		bottom: calc(100% - 24px);
		right: -30px;
	}
}
.close-btn:hover {opacity: 0.5;}
/*
.close-btn i {line-height: 1;}
.close-btn i::before {
	content: '×';
	font-size: 2rem;
}
*/

.close-btn i {width: 100%; height: 100%;}
.close-btn i::before, .close-btn i::after {
	content: '';
	width: 1px;
	height: 100%;
	background: #fff;
	position: absolute;
	top: 0;
	left: 50%;
	
}
.close-btn i::before {
	transform: translateX(-50%) rotate(45deg);
}
.close-btn i::after {
	transform: translateX(-50%) rotate(-45deg);
}


.modal #cha_prof .profArea > section .imgArea img {
	max-width: 240px;
	width: 100%;
	margin: auto;
}



@media (orientation: portrait){

}

