@charset "utf-8";
/* CSS Document */

#intro{text-align:center;}
#intro > section{
width:100%;
background:url(../../img/s8.png),
linear-gradient(rgba(208, 0, 0, 0),rgba(0, 0, 0, 1));
bacground-size:cover,cover;
background-position:center bottom,center bottom;
background-repeat:no-repeat, no-repeat, no-repeat;
padding-bottom:20vh;
}
#main_photo{
position:sticky;
top:0;
width:100%;
height:100vh;
background:url(../../img/s52.jpg); center no-repeat;
background-size:cover;
background-position:center 20%;
z-index:-1;
}
#main_copy{
width:60%;
margin:25vh auto;
font-size:120%;
text-align:left;
line-height:2.5;
}
#main_copy ul{margin-bottom:2rem;}
#main_copy li{width:100%;}
#main_copy li img{
width:50%;
max-width:300px;
height:auto;
}
#intro h2{
font-size:400%;
font-weight:900;
line-height:1.2;
margin-left:20%;
margin-bottom:70vh;
text-align:left;
}
#main_copy h3{
font-size:250%;
font-weight:900;
}
#main_copy h3 span{
display:inline-block;
color:#d10000;
}
#main_copy h3 small{
display:block;
font-weight:300;
font-size:30%;
margin-left:2.5rem;
margin-top:-2rem;
}
#main_copy h4{
font-size:140%;
font-weight:900;
line-height:1.5;
}
#main_copy p{margin-bottom:1.5rem;}
.info > p:nth-of-type(1){
color:#000;
background:#fff;
padding:1.25rem 0;
line-height:1;
text-align:center;
letter-spacing:0.04rem;
}
.info > div:nth-of-type(1){
width:100%;
height:100vh;
position:relative;
padding:10% 0 0 10%;
}
#info1 > div:nth-of-type(1){
background:url(../../img/s62.jpg);
background-size:cover;
background-position:center bottom;
}
#info2 > div:nth-of-type(1){
background:url(../../img/s69.jpg);
background-size:cover;
background-position:center center;
}
#info3 > div:nth-of-type(1){
background:url(../../img/s98.jpg);
background-size:cover;
background-position:70% center;
}
.info h2{
font-size:300%;
font-weight:900;
}
.info > section{
width:90%;
max-width:1000px;
margin:0 auto;
}
#info1 section > dl{margin:2rem 0}
#info1 section > dl > dt{
text-align:center;
font-size:200%;
font-weight:900;
margin:5rem 0 1.5rem;
}
#info1 dt small{
display:block;
text-align:center;
font-size:50%;
font-weight:300;
color:#777;
}
#info1 section > dl > dd{
text-align:justify;
line-height:2;
margin-bottom:1rem;
}
#info1 ul{
display:flex;
flex-wrap: wrap;
justify-content:space-between;
margin:1.5rem 0;
}
#info1 ul li{
width:48%;
margin-bottom:2rem;
}
#info1 ul li p:nth-of-type(1){
line-height:1;
font-size:180%;
text-align:right;
font-weight:200;
color:#777;
}
#info1 ul li p:nth-of-type(2){margin-top:-3px;}
#info1 ul li img{
width:100%;
height:auto;
}
#info1 ul li p:nth-of-type(3){
margin-top:0.5rem;
font-size:115%;
position:relative;
}
#info1 ul li p:nth-of-type(3):before{
content:"";
display:inline-block;
width:5px;
height:1.5rem;
background:#d10000;
positon:absolute;
top:0;
left:0;
margin-right:0.5rem;
vertical-align:middle;
}
#info2 ul + p{display:none;}
#info1 dd img{
width:100%;
height:auto;
}
#info1 ol{
text-align:center;
font-size:130%;
margin:3rem auto 5rem;
}
#info1 ol li{
width:18rem;
margin:0 auto 60px;
line-height:1;
padding:1.5rem 0;
border:2px solid #bbb;
border-radius:8px;
position:relative;
background:#000;
}
#info1 ol li::after{
content:'';
position:absolute;
display:block;
border-left:2px solid #bbb;
top:68px;
left:50%;
height:62px;
box-sizing:border-box;
}
#info1 ol li:nth-of-type(4)::before{
content:'';
position:absolute;
display:block;
border:2px solid #bbb;
top:167px;
left:-100px;
height:585px;
width:486px;
box-sizing:border-box;
border-radius:8px;
}
#info1 ol li:nth-of-type(9)::after{
top:133px;
height:60px;
}
#info1 ol li:nth-of-type(9){margin:0 auto 120px;}
#info1 ol li:nth-of-type(6),
#info1 ol li:nth-of-type(7),
#info1 ol li:nth-of-type(9){
width:12rem;
}
#info1 ol li:nth-of-type(5)::after,
#info1 ol li:nth-of-type(6)::after,
#info1 ol li:nth-of-type(7)::after,
#info1 ol li:nth-of-type(8)::after,
#info1 ol li:nth-of-type(11)::after{
height:0;
}
#info1 ol li:nth-of-type(7){margin-bottom:0;}
#info1 ol li:nth-of-type(8){
border:none;
line-height:1.7;
margin-bottom:20px;
}
#info1 ol li:nth-of-type(8) dt{
font-size:90%;
margin-bottom:0.5rem;
}
#info1 ol li:nth-of-type(8) dd{
font-size:60%;
font-weight:500;
}
#info2{margin-bottom:7rem;}
#int_nav{
display:flex;
flex-wrap:wrap;
justify-content:space-between;
margin:5rem auto;
border-bottom:1px solid #777;
}
#int_nav li{
width:24%;
text-align:right;
line-height:2;
font-size:80%;
font-weight:300;
opacity:0.4;
padding-bottom:1rem;
position:relative;
}
#int_nav li img:nth-of-type(2){display:none;}
#int_nav li:hover{
cursor:pointer;
opacity:1;
}
#int_nav li:hover::after{
content:"";
display:block;
width:100%;
height:4px;
background:#d10000;
position:absolute;
bottom:-1px;
left:0;
}
#int_nav li.int_this{
cursor:pointer;
opacity:1;
}
#int_nav li.int_this::after{
content:"";
display:block;
width:100%;
height:4px;
background:#d10000;
position:absolute;
bottom:-1px;
left:0;
}
/*-------------------------------分岐-------------------------------*/
.int{display:none;}
.int.int_con{display:block;}
/*-------------------------------分岐-------------------------------*/
#int_nav li img{
width:100%;
height:auto;
}
.int{margin-bottom:5rem;}
.int > section{margin-bottom:3rem;}
.int > section:nth-of-type(1){
display:flex;
justify-content:space-between;
}
.int > section:nth-of-type(1) div{width:48%;}
.int > section:nth-of-type(1) p{width:40%;}
.int > section:nth-of-type(1) p img{
width:100%;
height:auto;
}
.int h3{
background:#d10000;
padding:0.75rem 1.25rem;
margin-bottom:1.5rem;
font-size:85%;
font-weight:300;
display:inline-block;
}
.int h3 + dl > dt{
padding-bottom:1rem;
margin-bottom:1rem;
border-bottom:1px dotted #999;
}
.int h3 + dl dt span{
display:block;
line-height:1.3;
}
.int h3 + dl dt span:nth-of-type(2){
font-weight:900;
font-size:250%;
letter-spacing:0.3rem;
}
.int h3 + dl dt span:nth-of-type(3){
font-weight:200;
margin-left:0.5rem;
}
.int h3 + dl dd dl{margin-top:0.75rem;}
.int h3 + dl dd dt{
font-size:100%;
margin-left:-0.5rem;
}
.int h3 + dl dd dd{font-size:90%;}
.int > section:nth-of-type(2){
display:flex;
flex-direction:row-reverse;
}
.int > section:nth-of-type(2) dl{width:60%;}
.int > section:nth-of-type(n+2) dt{
font-size:120%;
font-weight:900;
margin-bottom:0.75rem;
position:relative;
padding-left:1rem;
line-height:1;
color:#999;
}
.int > section:nth-of-type(n+2) dt:before{
content:"";
position:absolute;
display:block;
width:5px;
height:1.3rem;
vertical-align:middle;
background:#d10000;
top:0;
left:0;
}
.int > section dd{
font-weight:500;
margin-bottom:3rem;
line-height:2;
}
.int h2{
display:flex;
align-items: center;
width:40%;
font-size:180%;
letter-spacing:0.3rem;
line-height:1.7;
margin-top:2rem;
writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-webkit-writing-mode:vertical-rl;  
}
.int ul{
display:flex;
justify-content:space-between;
margin-bottom:6rem;
}
.int li{width:32%;}
.int li img{
width:100%;
height:auto;
}
.int section:nth-of-type(3){
display:flex;
justify-content:space-between;
}
.int section:nth-of-type(3) p{width:32%;}
.int section:nth-of-type(3) dl{width:63%;}
#int_1 section:nth-of-type(3) p{
background:url(../../img/s78.jpg);
background-size:cover;
background-position:center top;
}
#int_2 section:nth-of-type(3) p{
background:url(../../img/s83.jpg);
background-size:cover;
background-position:center top;
}
#int_3 section:nth-of-type(3) p{
background:url(../../img/s89.jpg);
background-size:cover;
background-position:center top;
}
#int_4 section:nth-of-type(3) p{
background:url(../../img/s93.jpg);
background-size:cover;
background-position:center top;
}
#info3 > section{
text-align:center;
margin:8rem auto;
width:80%;
max-width:1000px;
}
#info3 h3{
display:inline-block;
padding:1rem 1.5rem;
border:1px solid #fff;
border-radius:4px;
margin:0 auto 6rem;
line-height:1;
}
#info3 h3 img{
width:auto;
height:1.25rem;
vertical-align:bottom;
margin-right:2rem;
}
#info3 > section > p{
margin:0 auto 6rem;
line-height:2;
color:#999;
font-weight:900;
font-size:110%;
}
#info3 > section dl{
width:48%;
display:inline-block;
vertical-align:top;
margin:0 auto 6rem;
}
#info3 > section dt{
font-size:115%;
line-height:1;
margin-bottom:3rem;
position:relative;
}
#info3 div dt:after{
content:"";
display:block;
width:5rem;
height:5px;
background:#d10000;
}
#info3 div.photo_right dt:after{
position:absolute;
right:0;
bottom:-2rem;
}
#info3 div.photo_left dt:after{
position:absolute;
left:0;
bottom:-2rem;
}
#info3 > section dt img{
width:auto;
height:1.25rem;
vertical-align:bottom;
margin-right:2rem;
}
#info3 > section dd{line-height:2.5;}
.photo_right{text-align:right;}
.photo_left{text-align:left;}
#info3 > section div p{
width:40%;
display:inline-block;
vertical-align:top;
margin:0 auto 5rem;
}
#info3 > section div.photo_right p{
margin-left:5%;
margin-right:6%;
}
#info3 > section div.photo_left p{
margin-right:5%;
margin-left:6%;
}
#info3 > section div p img{
width:100%;
height:auto;
}
#info4 > section{
margin:3rem auto;
width:80%;
max-width:1000px;
}
#info4 h2{
text-align:center;
font-size:250%;
margin-bottom:0.5rem;
}
#info4 h2+p{
text-align:center;
}
#req > ul{
display:flex;
justify-content:space-between;
text-align:center;
margin:2rem auto 3rem;
border-bottom:5px solid #fff;
}
#req > ul li{
width:24%;
background:#fff;
color:#000;
border-bottom:7px solid #000;
border-radius:7px 7px 0 0;
padding:20px 0 0;
font-size:100%;
opacity:0.7;
}
#req > ul li.req_this{
border-bottom:7px solid #fff;
opacity:1;
}
#req >ul li:hover{
cursor:pointer;
opacity:1;
}
#req li small{
display:block;
margin:0 auto;
font-size:60%;
line-height:1.2;
font-weight:300;
margin-top:0.2rem;
}
#req li img{
display:block;
margin:0 auto;
width:100%;
height:auto;
margin-top:0.5rem;
}
#req dl{
border-bottom:1px solid #ddd;
font-size:90%;
font-weight:500;
line-height:3;
}
#req dt{
width:20%;
display:inline-block;
padding:2rem 0;
vertical-align:middle;
line-height:1.7;
}
#req dd{
width:78%;
display:inline-block;
padding:2rem 0;
vertical-align:middle;
}
#req i{color:#999;}
#req section{display:none;}
#req section.req_info{display:block;}
.req_info li{line-height:1.5;}
.req_info li:nth-of-type(n+2){margin-top:1rem;}
.req_info h3{
font-size:130%;
font-weight:900;
color:#999;
padding-bottom:1rem;
border-bottom:1px solid #ddd;
}
#entry{margin:5rem auto;}
#entry h3{
text-align:center;
font-size:200%;
font-weight:900;
line-height:1.5;
margin-bottom:2rem;
}
#entry h3 + p{
line-height:2.5;
margin-bottom:3rem;
}
#entry h3 + p a{
color:#fff;
display:inline-block;
border-bottom:#d10000 solid 2px;
line-height:2;
}
#entry h3 + p a:hover{opacity:0.7;}
table{
width:100%;
text-align:left;
margin-bottom:3rem;
}
tr{
background:#fff;
color:#000;
border-bottom:5px solid #000;
display:flex;
justify-content:space-between;
}

th{
padding:1.5rem;
display:flex;
justify-content:space-between;
align-items: center;
vertical-align:middle;
background:#eee;
width:35%;
}
th span{
color:#fff;
background:#c69c6d;
display:inline-block;
text-align:center;
padding:0.5rem 0.75rem;
font-size:80%;
font-weight:500;
}
td{
width:65%;
padding:1.5rem;
vertical-align:middle;
}
table + p{
margin:0 auto;
text-align:center;
}
table + p input{
font-size:110%;
padding:0.5rem 1rem;
font-weight:700;
font-family:'Noto Sans Japanese', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;font-weight:700;
}
table + p input:hover{
cursor:pointer;
opacity:0.7;
}
input[type="text"]{
padding:0.5rem;
font-size:100%;
font-weight:500;
font-family:'Noto Sans Japanese', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;font-weight:700;
width:100%;
}
input::placeholder {color:#bbb;}
input[type=radio]{display:none;}
input[type="radio"]+ label{
border:1px solid #555;
border-radius:5px;
padding:0.5rem 1rem;
white-space: nowrap;
display:block;
}
input[type="radio"]+ label:hover{cursor:pointer;}
input[type="radio"]:checked + label{
background:#516590;
color:#fff;
}
textarea{
padding:0.5rem;
width:100%;
font-size:100%;
font-weight:500;
font-family:'Noto Sans Japanese', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;font-weight:700;
}
#thanks{
margin:0 auto 5rem;
width:90%;
max-width:1000px;
text-align:center;
}
#thanks h2{
padding-top:200px;
margin-bottom:2rem;
font-size:200%;
font-weight:900;
}
#thanks p{line-height:3;}
#thanks p a{
display:inline-block;
margin:2rem auto;
background:#fff;
color:#000;
padding:0.5rem 1.5rem;
border-radius:2rem;
font-weight:700;
font-size:90%;
}
#thanks p a:hover{opacity:0.7;}
@media screen and (min-width:1350px){ 
#main_copy{width:50%;}
#intro h2{margin-left:25%;}
}
@media screen and (min-width:1024px){
#info1 ol li::after{top:70px;}
#info1 ol li:nth-of-type(4)::before{
top:167px;
left:-100px;
height:600px;
}
}
@media screen and (min-width:768px) and ( max-width:900px) {
#info1 ul li p:nth-of-type(1){font-size:165%;}
}
@media screen and (min-width:768px) and ( max-width:1000px) {
#main_copy{width:60%;}
#main_copy section{
width:35%;
margin-right:5%;
}
}
@media screen and (max-width:768px){ 
#main_copy{
width:70%;
margin:0 auto;
padding-bottom:15vh;
}
#intro > section{
background:url(../../img/s8.png),
linear-gradient(rgba(208, 0, 0, 0),rgba(0, 0, 0, 1));
background-size:200% auto,cover;
background-position:center bottom,center bottom;
background-repeat:no-repeat, no-repeat, no-repeat;
padding-bottom:0;
}
#main_copy section{display:none;}
#intro h2{
margin-left:15%;
margin-bottom:50vh;
}
#info1 section > dl > dt{margin:3rem 0 1.5rem;}
#info1 ul li{margin-bottom:1.5rem;}
#info1 ul li p:nth-of-type(1){font-size:160%;}
#info1 ul li p:nth-of-type(2){margin-top:-2px;}
#info1 ol{margin:2rem auto 3rem;}
#info1 ol li{
width:16rem;
margin:0 auto 40px;
padding:1.5rem 0;
}
#info1 ol li::after{top:68px;}
#info1 ol li:nth-of-type(4)::before{
top:140px;
left:-99px;
height:513px;
width:450px;
}
#info1 ol li:nth-of-type(9)::after{
top:110px;
height:40px;
}
#info1 ol li:nth-of-type(9){margin:0 auto 80px;}
#info2{margin-bottom:5rem;}
#int_nav{margin:3rem auto;}
.int > section:nth-of-type(1) p{width:50%;}
.int > section{margin-bottom:2rem;}
.int > section dd{margin-bottom:2rem;}
.int ul{margin-bottom:4rem;}
#info3 > section{margin:5rem auto;}
#info3 h3{margin:0 auto 3rem;}
#info3 > section > p{margin:0 auto 3rem;}
#info3 > section dl{margin:0 auto 3rem;}
#info4 > section{
margin:2rem auto;
width:90%;
}
#req dt{width:16%;}
#req dd{width:82%;}
#req > ul{margin:1.5rem auto 2rem;}
#req > ul li{
    font-size:90%;
    }
#entry{margin:3rem auto 5rem;}
#entry h3{margin-bottom:1rem;}
#entry h3 + p{margin-bottom:2rem;}
table{margin-bottom:2rem;}
#thanks{margin:0 auto 3rem;}
#thanks h2{
padding-top:150px;
margin-bottom:2rem;
font-size:200%;
font-weight:900;
}
}
@media screen and (max-width:480px){
#intro > section{
background:url(../../img/s8.png),
linear-gradient(rgba(208, 0, 0, 0),rgba(0, 0, 0, 1));
background-size:230% auto, cover;
background-position:center bottom,center bottom;
background-repeat:no-repeat, no-repeat, no-repeat;
padding-bottom:0;
}
#main_copy li img{width:100%;}
#info1 section > dl > dt{margin:2rem 0 0.5rem;}
#info1 ul li{margin-bottom:1rem;}
#info1 ul li p:nth-of-type(1){font-size:140%;}
#info1 ul li p:nth-of-type(2){margin-top:0;}
#info1 ul li p:nth-of-type(3){font-size:110%;}
#info1 ul li p:nth-of-type(3):before{
width:3px;
height:1.25rem;
}
#info1 ol{
font-size:115%;
margin:1rem auto 2rem;
}
#info1 ol li{
width:12rem;
margin:0 auto 30px;
padding:1.5rem 0;
border:1px solid #bbb;
}
#info1 ol li:nth-of-type(6),
#info1 ol li:nth-of-type(7),
#info1 ol li:nth-of-type(9){
width:8rem;
}
#info1 ol li::after{
top:64px;
border-left:1px solid #bbb;
}
#info1 ol li:nth-of-type(4)::before{
top:125px;
left:-35px;
height:440px;
width:260px;
border:1px solid #bbb;
}
#info1 ol li:nth-of-type(8){
margin-bottom:0px;
width:14rem;
}
#info1 ol li:nth-of-type(8) dt{margin-bottom:0;}
#info1 ol li:nth-of-type(8) dd{font-size:80%;}
#info1 ol li:nth-of-type(9){margin:0 auto 75px;}
#info1 ol li:nth-of-type(9)::after{
top:105px;
height:45px;
}
#info2{margin-bottom:0;}
.int{margin-bottom:1rem;}
#info2 ul{
margin:1rem auto;
border-bottom:none;
}
#info2 li{
line-height:1.3;
margin-bottom:0;
}
#info2 li img{
display:inline-block;
margin-bottom:0.5rem;
}
#info2 li:hover::after{height:0;}
#int_nav li{padding-bottom:0;}
#int_nav li.int_this::after{height:0;}
#int_nav li img:nth-of-type(1){display:none;}
#int_nav li img:nth-of-type(2){display:inline;}
#int_nav li.int_this::after{
content:"";
display:block;
width:100%;
background:#d10000;
position:absolute;
bottom:-1px;
left:0;
}
#info2 ul + p{
display:block;
text-align:center;
margin:0 auto 1rem;
}
.int > section{margin-bottom:1rem;}
.int > section:nth-of-type(2) dl{width:78%;}
.int h2{
width:22%;
font-size:130%;
letter-spacing:0.2rem;
margin-top:0;
}
.int > section dd{margin-bottom:1rem;}
.int > section:nth-of-type(1){
display:flex;
flex-wrap:wrap;
}
.int > section:nth-of-type(1) div{width:100%;}
.int > section:nth-of-type(1) p{width:100%;}
.int h3{
font-size:90%;
display:block;
text-align:center;
}
.int section:nth-of-type(3) p{display:none;}
.int section:nth-of-type(3) dl{width:100%;}
#info3 > section{margin:2rem auto;}
#info3 h3{margin:0 auto 2rem;}
#info3 > section > p{margin:0 auto 2rem;}
#info3 > section div p{
width:100%;
display:block;
margin:0 auto 2rem;
}
#info3 > section div.photo_right p{
margin-left:0;
margin-right:0;
}
#info3 > section div.photo_left p{
margin-right:0;
margin-left:0;
}
#info3 > section dl{
margin:0 auto 1rem;
width:100%;
display:block;
}
.photo_right{text-align:left;}
#info3 div.photo_right dt:after{left:0;}
#info3 div.photo_left dd{padding-bottom:1rem;}
#info3 > section dt img{
height:1.15rem;
margin-right:1rem;
}
#info3 h3 img{
height:1.15rem;
margin-right:1rem;
}
#info4 > section{
margin:1rem auto;
width:90%;
}
#info4 h2{font-size:200%;}
#info4 h2+p{text-align:justify;}
#info4 h2+p br{display:none;}
#req > ul{
margin:1rem auto;
border-bottom:3px solid #fff;
}
#req > ul li{
border-bottom:5px solid #000;
border-radius:5px 5px 0 0;
padding:10px 0 0;
font-size:90%;
line-height:1.3;
}
#req dl{
border-bottom:1px solid #ddd;
font-size:100%;
line-height:2;
}
#req dt{
width:100%;
display:block;
padding:1rem 0 0;
font-size:120%;
font-weight:700;
color:#bbb;
}
#req dd{
width:100%;
display:block;
padding:0 0 1rem;
}
.req_info li{line-height:1.7;}
.req_info li{margin-top:0.5rem;}
table{font-size:110%;}
tr{display:block;}
th{
padding:0.5rem 1.5rem;
width:100%;
}
th br{display:none;}
th span{padding:0.25rem 0.75rem;}
td{
width:100%;
padding:1rem 1.5rem;
vertical-align:middle;
display:block;
}
input[type="radio"]+ label{text-align:center;}
textarea{height:7rem;}
#entry{margin:2rem auto 3rem;}
#entry h3 + p{margin-bottom:1rem;}


#thanks{margin:0 auto 2rem;}
#thanks h2{
padding-top:100px;
margin-bottom:2rem;
font-size:200%;
font-weight:900;
}
#thanks p{
text-align:justify;
line-height:2;
}
#thanks p br{display:none;}
#thanks p:nth-of-type(2){
text-align:center;
}
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait){
#intro{font-size:120%;}
#intro h2{
font-size:500%;
line-height:1.3;
}
#intro > section{padding-bottom:10vh;}
#main_copy{margin:25vh auto 0;}
#main_copy li img{
width:50%;
max-width:450px;
}
.info{font-size:130%;}
.info > p:nth-of-type(1){padding:2rem 0;}
#info2 > div:nth-of-type(1){background-position:65% center;}
#info1 ol li{width:22rem;}
#info1 ol li::after{top:78px;}
#info1 ol li:nth-of-type(4)::before{
top:180px;
left:-130px;
height:640px;
width:620px;
}
#info1 ol li:nth-of-type(9)::after{
top:131px;
height:80px;
}
#info1 section > dl:last-of-type{padding-bottom:5rem;}
}