/*サイト上部*/
.white_circle{
    inline-size:100vw;
    block-size:85vw;
    background:white;
    border-radius:0 0 0 150vw;
    position:absolute;
    left:100vw;
    top:-5vw;
    transform-origin:0;
    transform:scaleX(1.5);
    animation-name:whitecircle;
    animation-delay:2s;
    animation-duration:2s;
    animation-fill-mode:forwards;
}
@keyframes whitecircle{
    0%{
        left:100vw;
    }
    100%{
        left:5vw
    }
}
#section1{
    position:relative;
    z-index:1;
    display:flex;
    justify-content: center;
    padding-block-start:8rem;
    font-family:YakuHanRP,"fot-tsukubrdgothic-std", sans-serif;
}
h1{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size:2.2rem;
    font-weight:700;
    line-height:1.25;
    
}

.top_right{
    padding-block-start:5rem;
    box-sizing:content-box;
    inline-size:30rem;
    max-inline-size:30rem;

    transition:1.5s;
    transform:none;
    opacity:1;
    
}
.top_right_before{
    transform:translateX(1000px);
    opacity:0;
    
}
.wb1{
    background-color:#C7D1DB;
    border-radius:8rem;
    border:solid 1px black;
    inline-size:16rem;
    block-size:16rem;
    background-size:contain;
    background-repeat:no-repeat;
    margin-inline-start:7rem;
    font-size:1.375rem;
    font-weight:700;
    text-align:center;
    padding-block-start:5rem;
    line-height:1.3;
    position:relative;
    z-index:2;
}
.wb1:hover{
    transform:translate(0.4rem,0.625rem);
    transition: 0.2s;
}
.wb1 small{
    display:block;
    padding-block-end:.75rem;
    font-size:.875rem;
    font-weight:500;
}
.wb1-behind{
    display:block;
    content:"";
    width:16rem;
    height:16rem;
    background:white;
    border:solid 1px black;
    border-radius:8rem;
    margin-block-start:-15.375rem;
    margin-block-end:-0.625rem;
    margin-inline-start:7.4rem;
}

@keyframes arrow_after{
    0%{
      opacity:0;
    }1%{
        opacity:0;
    }
    3%{
        opacity:0.8
    }
    10%{
        opacity:1;
    }
    100%{
        opacity:0;
    }
}
h1 span{
    animation-name:h1animation;
    animation-duration:0.1s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes h1animation{
    0%{
        opacity:0;
    }
    99%{
        opacity:0;
    }
    100%{
        opacity:1;
    }
}

.right_arrow:after{
    content:">";
    animation-name:arrow_after;
    animation-duration:1.5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    opacity:0;
}
.right_arrow{
    position:absolute;
    left:-3rem;
    bottom:1.5rem;
    font-size:16px;
    font-family:"Noto Sans JP";
    font-weight:300;
    transform:scaleY(1.75);
    letter-spacing:3px;
    animation-name:arrow_animation;
    animation-duration:1.5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;

}
@keyframes arrow_animation{
    0%{
      left:-3rem;
    }
    100%{
        left:calc(-3rem + 11.5px);
    }
}

@keyframes arrow_before{
    0%{
      opacity:0;
    }
    100%{
        opacity:1;
    }
}
.right_arrow:before{
    content:">";
    animation:arrow_before 1.5s infinite linear;
    opacity:0;
}

.pcl_box{
	width:100%;
	text-align:center;
	margin-block:1rem;
	
}
.previous_company_link{
	
	text-decoration:underline;
	margin-inline:auto;
	
}



.spacer1{
    inline-size:30rem;
    position:relative;
}
.rounding_line{
    position:absolute;
    inline-size:50vw;
    max-inline-size:42rem;
    left:22vw;
    top:min(61vw,calc(49rem + 4vw));
}
.pencil{
    inline-size:280px;
    height:auto;
    position:absolute;
    top:min(calc(61vw - 210px),calc(50rem - 210px));
    left:min(73vw,calc(23vw + 42rem));
    z-index:0;
    opacity:0;
    transition:2.5s;
	pointer-events:none;
}
.human{
    display:inline-block;
    inline-size:30vw;
    max-inline-size:25rem;
    position:absolute;
    right:60vw;
    top:12rem;
    opacity:1;
    transition:2.5s;
    transform:none;
    @media(min-width:1300px){
        right:65vw;
    }
}

.human_before{
    transform:translateX(-1000px);
    opacity:0;
}
.scroll{
    position:absolute;
    left:2rem;
    top:29rem;
    padding:.125rem 1.5rem;
    border-block-start:1px solid black;
    font-size:1.25rem;
    letter-spacing:-0.125rem;
    font-family:"Noto Sans JP";
    font-weight:300;
    transform:rotate(90deg);
    opacity:0;
    animation:updown 2s infinite alternate-reverse linear, fadein 2s 4.5s forwards;
}
.scroll:after{
    content:"";
    display:block;
    position:absolute;
    inline-size:2rem;
    border-block-start:1px solid black;
    transform-origin:2rem 0;
    transform:rotate(30deg);
    right:0;
    top:0;
}
@keyframes updown{
    0%{
        top:29rem;
 
    }
    100%{
        top:32rem;
 
    }
}
@keyframes fadein{
    0%{
        opacity:0;
    }
    100%{
        opacity:1;
    }
}

.deadline{
    padding-block-start:.75rem;
    padding-block-end:.25rem;
    block-size:4rem;
    margin-inline-start:4rem;
}
.deadline h2{
    font-weight:700;
}
.day{
    display:inline-block;
    font-size:2rem;
    font-weight:700;
    transform:translateY(0.1rem);
    letter-spacing:1px;
    
}

.target{
    block-size:auto;
    margin-inline-start:4rem;
    position:relative;
    z-index:1;
}
.target h2{
    font-size:.8625rem;
    font-weight:700;
    display:inline-block;
    line-height:1;
	display:inline;
 
}
.target > div{
    display:inline-block;
    font-size:.8625rem;
    font-weight:700;
    line-height:1;
	display:inline;
}



/*参加申込について*/
#section2{
    text-align:center;
    width:100%;
    max-width:50rem;
    position:relative;
    z-index:2;
    margin-block-start:22rem;
    margin-inline-start:auto;
    margin-inline-end:auto;
    padding-block-end:7rem;
}
.apply_flow{
    width:100%;
    font-size:0;
    padding-block-start:7rem;
}
.bordered{
    padding-block:.2rem;
    padding-inline:.75rem;
    margin-block-start:1rem;
    margin-block-end:.5rem;
    border:solid 1px var(--black);
    width:fit-content;
    margin-inline:auto;
}
.explain{
    font-size:.875rem;
    padding-inline-end:.5rem;
    line-height:1.7;

}
.apply_flow > div{
    display:inline-block;
    vertical-align:top;
    width:50%;
    min-height:10rem;
    font-size:1rem;
    text-align:center;
}
.step1{
    border-inline-end:1px dashed var(--black);
	padding-block-end:5rem;
}
.step1 h3{
    background-image:url(../img/preentry.png);
}
.step2 h3{
    background-image:url(../img/upload.png);
    padding-inline-start:.875rem;
}
.apply_flow h3{
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    display:block;
    font-size:1.5rem;
    margin-block-start:-3.5rem;
    margin-block-end:2rem;
    padding-block-start:.5rem;
    padding-block-end:.75rem;
}


/* インターンシップ保険について*/
.insurance{
	padding-block:4rem;
}
.insurance h2{
	font-size:1.5rem;
	letter-spacing:0.5rem;
}
.insurance .insurance_check_title{
	inline-size:calc(50% - 10px - 3rem);
	font-size:0.95rem;
	padding-inline-start:2.5rem;
	padding-inline-end:2.5rem;
	border:solid 1px black;
	border-inline-end:none;
    position:relative;
	height:4rem;
	display:flex;
	align-items:center;
}
.insurance_p1{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding-block-start: 4rem;
	padding-block-end:2rem;
	border-block-end:1px black solid;
}
.insurance_check_title:before{
	content:"";
	display:block;
	position:absolute;
	width:4rem;
	height:4rem;
	border-right:solid 1px black;
	border-top:solid 1px black;
	right:0;
	top:0;
	transform-origin:50% 50%; 
	transform:translateX(calc(50% - 2px)) rotate(45deg) scale(0.68) translateY(-3px);
}
.insurance_check_content{
	width:50%;
	text-align:left;
}
.insurance_check_content p{
	font-size:0.875rem;
}

.insurance_p2{
	display:flex;
	justify-content:space-between;
	padding-block-start:2rem;
	padding-block-end:2rem;
	
}
.insurance_p2>div:nth-child(1),.insurance_p2>div:nth-child(3){
	width:calc(50% - 2.5rem);
	text-align:left;
	font-size:0.875rem;
}
.insurance_p2>div:nth-child(2){
	align-self:center;
}
.question_line{
    margin-block-start:3rem;
    margin-block-end:2rem;
    margin-inline:auto;
    padding:20px;
    border-block-end:1px solid var(--black);
    inline-size:fit-content;
    max-inline-size:50rem;
    display:block flex;
    flex-direction:row;
    justify-content: center;
    align-items: center;
}
.question_line img{
    display:block;
    inline-size:2.5rem;
    block-size:auto;
}
.line_description{
    padding-inline:.5rem;
}
.line_link{
    background:white;
    border:solid 1px var(--black);
    padding-inline:.75rem;
    transition:1s;
}
.line_link:hover{
    background:rgb(4,4,4);
    color:white;
}

.pre_entry_button{
    display:block;
    inline-size:fit-content;
    margin-inline:auto;
    font-size:1.5rem;
    font-weight:600;
    padding-inline-end:2rem;
}
.pre_entry_button:after{
    content:">";
    font-weight:500;
    position:absolute;
    transform:translateX(1rem) scaleX(0.3) scaleY(0.8);
}
.pre_entry_button:hover:after{

    animation:arrow .5s;
}
@keyframes arrow{
    50%{
        transform:translateX(1.25rem) scaleX(0.3) scaleY(0.8);
    }
    100%{
        transform:translateX(1rem) scaleX(0.3) scaleY(0.8);
    }
}

#section3{
    background:var(--white);
	width:100%;
}
#section3_alt{
	width:100%;
	background:white;
}
.content-width{
    inline-size:100%;
    max-inline-size:60rem;
    margin-inline:auto;
    padding-block:5rem;
}
.about_h2{
    display:flex;
    position:relative;
    inline-size:80%;
    justify-content:space-between;
    align-items:center;
    border:solid 1px var(--black);
    padding-block:.75rem;
    padding-inline:1.5rem;
    transform:translateX(-5rem);
    box-shadow:6px 6px 0 #C8D2DC;
	z-index:3;
}
.about_string{
    font-size:1.5rem;
    letter-spacing:.25rem;
}
.about_blank{
    inline-size:8.75rem;
}
.woman_img{
    position:absolute;
    inline-size:15rem;
    left:97%;
    top:85%;

}
.about_title{
    display:block;
    width:200px;
    height:200px;
    text-align:center;
    line-height:200px;
    font-size:1.25rem;
    background:#f0f2f6;
    position:relative;
    transition:4s;
}
.about_title_animate{
	animation:about_title 2.5s forwards;
}
.about_title.active{
    background:#f0f2f6ff;

}
@keyframes about_title{
	0%{
	  color:rgba(0,0,0,0);
		background:#f0f2f600;
	}
	90%{
		color:rgba(0,0,0,0);
		background:#f0f2f600;
	}
	100%{
		color:rgba(0,0,0,1);
		background:#f0f2f6ff;
	}
}

.line_top{
   border-top:solid 1px black;
   width:0%;
   position:absolute;
   top:0;
   left:0;
}
.line_top.active{
    animation:drawin 1s 0s forwards;
}
@keyframes drawin{
    0%{
        width:0%;
    }
    100%{
        width:100%;
    }
}
.line_right{
    border-right:solid 1px black;
    height:0%;
    position:absolute;
    right:0;
    top:0;
}
.line_right.active{
    animation:drawinheight 0.5s 1s forwards;
}
@keyframes drawinheight{
    0%{
        height:0;
    }
    100%{
        height:100%;
    }
}

.line_left{
    border-left:solid 1px black;
    height:0%;
    position:absolute;
    left:0;
    bottom:0;

}
.line_left.active{
    animation:drawinheight 1s 2s forwards;
}
.line_bottom{
    border-bottom:solid 1px black;
    width:0%;
    position:absolute;
    right:0;
    top:100%;
    
}
.line_bottom.active{
    animation:drawin 0.5s 1.5s forwards;
}

.concept{
    display:flex;
    margin-block-start:6rem;
}
.concept p{
    width:31rem;
    padding-inline-start:2rem;
    padding-inline-end:2rem;
    line-height:2.4;
}
.concept h4{
    font-weight:700;
    padding-inline-start:2rem;
    display:block;
    padding-block-start:1rem;
}
.concept .smallp{
    font-size:.875rem;
    line-height:1.9;
}
.concept small{
    font-size:.75rem;
    letter-spacing:-0.5px;
    display:block;
    margin-block-start:-.5rem;
    padding-inline-start:1rem;
}
.outlink{
    margin-block-start:1rem;
    border-block-end:1.5px solid black;
    display:block;
    margin-block-end:3rem;
}
.types{
    display:flex;
    inline-size:calc(34rem + 200px);
    
    justify-content: space-between;
    padding-block-start:1rem;
    font-size:.875rem;
}
.types>div{
    padding:1.125rem;
    min-width:5rem;
    min-height:3rem;
}
.types p{
    inline-size:100%;
    text-align:center;
}
.types h4{
    display:block;
    inline-size:100%;
    text-align:center;
    font-size:.875rem;
    
}
.type_icon_box{
    margin-block:.5rem;
    display:flex;
    justify-content: center;
    line-height:2.5rem;
}
.type_icon_box img{
    height:2.5rem;
    align-self:center;
    margin-inline:.25rem;
}
.type2{
    width:calc(44% - 1.5rem);
    border:solid 2px #8B829F;
}

.type3{
    width:56%;
    border:2px solid #8B829F;
}
.merit{
    margin-block-start:12rem;
}
.merit h4{
    display:block;
    width:100vw;
    font-size:1.125rem;
    border-block-end:solid 2px var(--black);
    padding-block-end:1rem;
    padding-inline-start:.5rem;
    position:relative;
    z-index:2;
}
.merit>div{
    display:flex;
    margin-block-end:8rem;
    position:relative;
}

.number_image{
    display:block;
    width:170px;
    height:200px;
}
.merit p{
    padding-block:1.25rem;
    font-size:.875rem;
    line-height:2;
    background:white;
    position:relative;
    z-index:2;

}
/*OKサインを作る人*/
.human_ok{
    position:absolute;
    display:block;
    top:0;
    height:16rem;
    left:40rem;
}
/*メリット2のお金をもらっている人*/
.richman{
    display:block;
    position:absolute;
    left:calc(170px + 40rem);
    width:200px;
    height:200px;
    z-index:10;
    background:white;
}
.merit3{
    padding-inline-start:3rem;
}
.merit3 h4{
    margin-inline-start:4rem;
    width:30rem;
    position:relative;
    z-index:10;
    background:var(--white);
}

/*メリット3の見出し前後のイラスト*/
.merit3 h4:before,.merit3 h4:after{
    content:"";
    position:absolute;
    display:block;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:center;
}
.merit3 h4:before{
    background-image:url(../img/human_sword.png);
    width:4rem;
    left:-4.5rem;
    height:250%;
    top:-95%;
}
.merit3 h4:after{
    background-image:url(../img/woman_sword.png);
    width:5rem;
    right:-1.5rem;
    bottom:0;
    height:180%;
}
/*メリット3本文*/
.merit3 p{
    padding-block-start:2rem;
}

/*メリット3の下がった所*/
.downstairs{
    position:absolute;
    inline-size:20rem;
    block-size:8rem;
    border-block-end:solid 1px;
    left:calc(170px + 39rem);
}
.downstairs img{
    inline-size:2.5rem;
    block-size:auto;
    position:absolute;
    bottom:0;
    left:4rem;
}
.downstairs:before{
    content:"";
    position:absolute;
    inline-size:5rem;
    border-block-end:solid 1px;
    bottom:-1px;
    right:100%;
    transform:rotate(61deg);
    transform-origin:5rem 0;
    
}


/*スケジュール*/
.schedule{
    margin-block-start:8rem;
    min-block-size: 20rem;
    border:solid 1px;
    padding-block-start:0;
}
.schedule h3{
    margin:-100px auto 3rem auto;
    line-height:1.2;
    padding-top:calc(100px - 1.25rem);
    letter-spacing:.2rem;
}

.schedule_row{
    display:flex;
    margin-block-start:1.75rem;
    margin-block-end:1.75rem;
}
.schedule_explain{

    align-self: center;
}
.schedule h4{
    font-size:1.5rem;

    font-weight:600;

}
.schedule p{
    margin-block-start:.5rem;
    font-size:.875rem;
    line-height:1.6;
}
.circle120{
    border:solid 1px;
    inline-size:120px;
    block-size:120px;
    border-radius:60px;
    /*あわせて30rem - 100px */
    margin-inline-start:calc(26rem - 220px);
    margin-inline-end:4rem;
    position: relative;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-block-start:.5rem;
    font-size:1.25rem;
    font-weight:700;
	background:white;
}
.circle120 img{
    max-block-size:42px;
    max-inline-size:64px;
    inline-size:auto;
}
/*円の下の線*/
.afterline:after{
 content:"";
 block-size: 0;
 border-inline-start:1px solid;
 position:absolute;
 top:119px;
 left:60px;
}
.schedule .active:nth-child(2) .afterline:after{
	animation:growdown 1s forwards linear;
}
.schedule .active:nth-child(3) .afterline:after{
	animation:growdown 1s forwards linear;
}
.schedule .active:nth-child(4) .afterline:after{
	animation:growdown 1s forwards linear;
}
.schedule .active:nth-child(5) .afterline:after{
	animation:growdown 1s forwards linear;
}
.schedule .active:nth-child(6) .afterline:after{
	animation:growdown 1s forwards linear;
}
.schedule .active:nth-child(7) .afterline:after{
	animation:growdown 1s forwards linear;
}
@keyframes growdown{
	from{
		block-size:0;
	}
	to{
		block-size:2.5rem;
	}
}


.next_schedule{
    margin:6rem auto 0 auto;
    padding-inline-start:3.5rem;
    padding-inline-end:2.5rem;
    inline-size:fit-content;
    letter-spacing:.25rem;
    background-image:url(../img/impact.png);
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    padding-block-start:1.2rem;
    padding-block-end:1.5rem;
    position:relative;
    font-weight:700;
}
.next_schedule:before,.next_schedule:after{
    content:"";
    position:absolute;
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    inline-size:4.5rem;
    block-size:2.5rem;
    top:0.5rem;
}
.next_schedule:before{
    right:100%;
    background-image:url(../img/rightfinger.png);
}
.next_schedule:after{
    left:100%;
    background-image:url(../img/leftfinger.png);
}
.next_explain{
    margin-inline:auto;
    inline-size:fit-content;
    margin-block-start:0!important;
}

.movie{
    padding-block-start:12rem;
}
.movie .about_title{
   margin-inline-end:1rem;
}
.movie_explain{
    display:flex;
    justify-content: center;
}
.movie_explain>div{
    margin-inline-start:1rem;
}
.movie_explain p{
    padding-block-start:1.5rem;
    padding-block-end:1rem;
    font-size:1.125rem;
    line-height:1.8;
}
.movie_explain img{
    display:block;
    inline-size:16rem;
    block-size:auto;
    margin-inline-start:3rem;
}

.youtube_embed{
    margin:4rem auto;
    width:fit-content;
    border:solid 2px;
    border-radius:1rem;
    padding:3rem;
    position:relative;
}

/*よくあるご質問*/
.faq h2{
    display:block;
    margin:0 auto;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    
    font-size:20px;
    position:relative;
    transform:translatex(-94px);
    z-index:1;
}
.faq{
	position:relative;
	z-index:9;
	background:#F0F2F6;
}
.faq h2 span{
    font-size:44px;
}
.faq-title{
    position:relative;
}
/*額縁を掲げる人*/
#suga{
    inline-size:420px;
    position:absolute;
    top:0;
    left:50%;
    transform:translatex(-50%) translatey(-40px);
    z-index:0;
}
/*きらきら*/
.kirakira{
    position:absolute;
}
#kirakira1{
    inline-size:80px;
    left:50%;
    transform:translatex(-20%);
    top:-25px;
}
#kirakira2{
    inline-size:40px;
    left:calc(50% - 220px);
}

/*アコーディオン*/
.qanda{
    margin:0 auto;
   margin-block-start:calc(260px - 8rem);
    max-width:50rem;
}
details{margin-block-end:1.5rem;}
summary{
    font-size:1.625rem;
    padding-bottom:.5rem;
    border-bottom:solid 2px black;
    
    list-style: none;
}
summary:before{
    content:"Ｑ.";
}
summary:after{
    content:"+";
    float:right;
}
details[open] summary:after{
    content:"-";
    display:inline-block;
    transform:scalex(1.8) translatex(-2px);
}
details>div{
    padding-block-start:1.5rem;
    padding-block-end:2.5rem;
    padding-inline-start:3.5rem;
    padding-inline-end:2.5rem;
    background:white;
    line-height:2;
}
details>div:before{
    content:"A.";
    position:absolute;
    font-size:1.75rem;
    transform:translatex(-2rem) translatey(-1rem);
}


/*下向きの大きな矢印*/
.next_arrow{
    padding-block:10rem;
    display:flex;
    justify-content: center;
    text-align:center;
}
.next_arrow > div{
    inline-size:10rem;
    border-bottom:solid 1px black;
}
.arrow_left{
    transform:rotate(25deg);
    transform-origin:10rem 0;
}
.arrow_right{
    transform:rotate(-25deg);
    transform-origin:0 0;
}

/*ご質問・ご相談*/
.questions_box{
    inline-size:100%;
    max-inline-size:50rem;
    margin-inline:auto;
}
.questions{
    display:flex;
}
.questions h2{
    writing-mode:horizontal-tb;
    padding-block:1.25rem;
    font-size:1.875rem;
    letter-spacing:.375rem;
    position:relative;
    border-bottom:1px black solid;
}
.questions h2:after{
    content:url(../img/image_faq_02_pc.png);
    position:absolute;
    bottom:0;
    right:0;
}
.questions div:nth-child(1){
  inline-size:calc(100% - 23.5rem);
}

.questions p{
    padding-block-start:2.5rem;
    line-height:2.0;
}
.questions div:nth-child(2){
    inline-size:21.5rem;
    padding-inline-start:2rem;
    padding-block-start:3rem;
}
.questions div:nth-child(2) a{
    display:block flex;
    justify-content:center;
    background:white;
    border:solid 1px black;
    inline-size:21rem;
    height:4rem;
    margin-block-start:1.5rem;
    text-align:center;
    position:relative;
    box-shadow:.25rem .25rem 0 black;
	transition:0.5s;
}
.questions div:nth-child(2) a:hover{
	box-shadow:0 0 0 black;
	transform:translateX(.25rem) translateY(.25rem);
}
.questions div:nth-child(2) a span{
    display:inline-block;
    align-self:center;
    font-size:1.375rem;
}
.line{
    padding-inline-start:2rem;
    box-sizing:border-box;
    padding-block-end:.125rem;
    letter-spacing:.25rem;
}
.visit{
    padding-inline-start:2.5rem;
    box-sizing:border-box;
    line-height:0.8;
    letter-spacing:.25rem;
}
.visit small{
    font-size:.75rem;
    line-height:0.5;
    letter-spacing:-0.03125rem;
}
.line:before,.visit:before{
    content:"";
    position:absolute;
    background-size:contain;
    background-repeat:no-repeat;
    top:50%;
    transform:translatey(-50%);
}
.line:before{
    background-image:url(../img/line_round.png);
    left:2.5rem;
    inline-size:2.5rem;
    block-size:2.5rem;
}
.visit:before{
    background-image:url(../img/store_in.png);
    left:2.625rem;
    inline-size:3.75rem;
    block-size:2.125rem;
}
.yellow_wb{
    background:#FFFAB4;
    position:relative;
    padding:.25rem 1rem;
    font-size:.75rem;
    inline-size:fit-content;
    margin-block-start:1.375rem;
	opacity:0;
	transition:1s;
}
.yellow_wb>div{
    color:#FFFAB4;
    position:absolute;
    bottom:100%;
    transform:scale(1.25) translatey(.25rem);
}

/*LINEでのお問合せ・来店での問い合わせ詳細*/
.contacts{
    margin-block-start:5rem;
    inline-size:45rem;
    margin-inline:auto;
}
.contacts p{
    padding-block:1.5rem;
}
.contacts li{
    margin-inline-start:1.5rem;
    font-size:1.125rem;
    padding-block:.25rem;
}
.contacts li::marker{
    content:"■";
    display:inline-block;
    color:rgb(33, 70, 182);
}

.questions_box h3{
    font-size:1.5rem;
    letter-spacing:.75rem;
    display:block;
    padding-inline-start:3.5rem;
    position:relative;
}
.questions_box .h3_deco{
    inline-size:100%;
    border:solid 1px black;
    block-size:.5rem;
}
.contacts .remarks{
    padding-block:.5rem;
}

.questions_box h3:before{
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    content:"";
    display:inline-block;
    position:absolute;
    left:0.25rem;
}
/*LINEでのお問合せ見出し*/
.contacts_line h3:before{

 bottom:0.25rem;
 inline-size:2rem;
 block-size:1.5rem;
 background-image:url(../img/sp_touch.png);

}
/*ご来店でのお問合せ見出し*/
.contacts_visit h3:before{
    bottom:-0.125rem;
    inline-size:2.5rem;
    block-size:1.5rem;
    background-image:url(../img/store_in.png);
}

/*iroha紹介box*/
.iroha{
    inline-size:calc(100% - 0.5rem);
   block-size:15rem;
    border:solid 1px black;
    position:relative;
    padding-block-start:.25rem;
    padding-inline-start:.25rem;
    display:flex;
    flex-direction:column;
    justify-content: center;
    font-size:1.125rem;
    padding-inline:3rem;
    margin-block-start:2rem;
}
.iroha_double{
    position:absolute;
    inline-size:100%;
    right:-0.5rem;
    bottom:-0.5rem;
    block-size:15rem;
    border:solid 1px black;
    box-sizing:content-box;
    pointer-events:none;
}
.iroha_wb{
    position:absolute;
    background-image:url(../img/fukidashi_faq_pc.png);
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
    right:.5rem;
    top:-6rem;
    inline-size:10rem;
    block-size:10rem;
    font-size:1.75rem;
    text-align:center;
    display:flex;
    flex-direction: column;
    justify-content: center;
    padding-block-end:.5rem;
    padding-inline-end:.25rem;
    line-height:1.3;
}

.how_to_reserve{
    display:flex;
    padding-block:.75rem;
}
.how_to_reserve div:nth-child(1){
   font-weight:700;
   background:black;
   color:white;
   block-size:fit-content;
   inline-size:7rem;
   text-align:center;
   align-self:center;
   margin-inline-end:1rem;
}
.iroha .remarks{
    font-size:.875rem;
}
.iroha a{
    font-size:.875rem;
    text-decoration:underline;
    color:rgba(0,0,0,0.8);
}

/*ともだち追加*/
.friend_append{
    margin-block-start:4rem;
    inline-size:100%;
    text-align:center;
    font-size:1.25rem;
	padding-block-end:6rem;
}
.friend_append img{
    display:inline-block;
    inline-size:12rem;
    block-size:auto;
	transform:translateY(1rem);
}
.friend_append a{
    display: flex;
    background:white;
    inline-size:18rem;
    block-size:5rem;
    font-size:1.375rem;
    flex-direction: column;
    justify-content: center;
    margin-inline:auto;
    border:solid 1px black;
    box-shadow:.5rem .5rem 0 black;
    font-weight:700;
    position:relative;
    margin-block-end:6rem;
}
.friend_append a:before{
  content:url(../img/icon_tooltip_lne_pc.png);
  position:absolute;
  left:3rem;
  transform:scale(1.4) translateY(.25rem);
  align-self:center;

}
.friend_append a:after{
    content:"▼";
    display:inline;
    position:absolute;
    left:13rem;
    transform:scale(0.8);
}

/*参加者の声*/
.review{
    background:var(--white);
    padding-block-start:6rem;
	position:relative;
	z-index:9;
	background:white;
}
.review h2{
    line-height:5.5rem;
    font-size:2.25rem;
    letter-spacing:.75rem;
    background-image:url(../img/wavy.png);
    background-size:calc(5.5rem * 50 / 94);
    background-repeat:repeat;
}
.review_check{
    display:flex;
    justify-content: space-between;
}
.review_check p{
  font-size:1.125rem;
  margin-block:2rem;

}
.voice_wb{
    inline-size:23rem;
    block-size:18rem;
    background-image:url(../img/voice.png);
    background-size:contain;
    background-repeat:no-repeat;
    position:relative;
}
.voice_wb_content{
    position:absolute;
    background:white;
    border:solid 1px rgba(0,0,0,0.8);
}
.vwc1{
    inline-size:10rem;
    block-size:2.5rem;
    border-radius:0.5rem;
    display:flex;
    text-align:center;
    flex-direction:column;
    justify-content: center;
    font-size:1.125rem;
    top:3rem;
}
.vwc2{
   inline-size:1.5rem;
   block-size:.9rem;
   border-radius:0.25rem;
   top:5rem;
   left:9rem;
}
.vwc3{
    inline-size:1rem;
    block-size:.7rem;
    border-radius:.2rem;
    top:6.25rem;
    left:10.5rem;
}

/*体験談*/
.voice_box_wrapper{
    overflow-x:auto;
    margin-inline:auto;
}
.voice_box{
  flex-direction:column;
  justify-content: flex-start;
  width:100%;
max-width:100%;
  inline-size:fit-content;
  margin-inline:auto;


}
.voice_box::-webkit-scrollbar{
  display:none;
}
.voice{
    position:relative;
    inline-size:18rem;
    border:solid 1px black;
    padding:1rem;
    margin-inline:.5rem;
    margin-block-end:1rem;
    background:white;
    z-index:2;
    box-shadow:.25rem .25rem 0 lightgray,calc(.25rem + 1px) calc(.25rem + 1px) 0 black,calc(.25rem - 1px) calc(.25rem + 1px) 0 black,calc(.25rem + 1px) calc(.25rem - 1px) 0 black;
}

.voice img{
    inline-size:100%;
    block-size:12rem;
    background-color:gray;
    object-fit: cover;
    object-position:center;
}
.voice span::before{
  display:inline-block;
  content:"■";
}
.voice p{
    padding-block:1rem;
    color:rgba(0,0,0,0.8);
}