@charset "utf-8";

.mb20{ margin-bottom: 20px!important;}
.mb30{ margin-bottom: 30px!important;}
p.center{ text-align: center;}
  /*col-set*/
  .col-set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% + 30px);
    -webkit-box-lines: multiple;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .col1-2 { width: calc(50% - 30px);}
  .col1-3 { width: calc(33.33333333% - 30px);}
  .col2-3 { width: calc(66.66666666% - 30px);}
  .col1-4 { width: calc(25% - 30px);}
  .col3-4 { width: calc(75% - 30px);}
  .col1-5 { width: calc(20% - 30px);}
  .col1-6 { width: calc(16.66666666% - 30px);}
  .col1000-2618 { width: calc(38.2% - 30px);}
  .col1618-2618 { width: calc(61.8% - 30px);}

  .col1-2,
  .col1-3,
  .col2-3,
  .col1-4,
  .col3-4,
  .col1-5,
  .col1-6,
  .col1000-2618,
  .col1618-2618 {
    margin-right: 30px;
  }

  @media screen and (max-width: 767px) {
    .col-set {
      width: calc(100% + 5px);
    }

    .col1-2,
    .col1-3,
    .col2-3,
    .col1-4,
    .col3-4,
    .col1-5,
    .col1-6,
    .col1000-2618,
    .col1618-2618 {
      width: calc(100% - 5px);
      margin-right: 5px;
    }

    .sp-col1-2 {
      width: calc(50% - 5px);
    }
  }

p#breadCrumb{display: none;}
div#contents_block {
    margin: 0;
    padding: 0;
    color: #333;
    font-family: "Noto Serif JP","游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
}
div#contents_block .gothic{
    font-family: "游ゴシック", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, sans-serif;
}
div#contents_block .ibarra{
    font-family: "Ibarra Real Nova", serif;
}
/*div#contents_block p{
    font-size: 0.9em;
}*/
#main a,#main a:hover,#main a:link,#main a:visited{
    color:#333;
}
div#contents_block img{
    max-width: 100%;
    line-height: 1;
}
div#contents_block #main {
    overflow:hidden;
}
div#contents_block .inner {
    max-width: 700px;
    margin: 0 auto;
    padding: min(20px,5vw) min(20px,4vw);
    position:relative;
}
div#contents_block .hided{
    opacity: 0;
    transform: translateY(10vh);
    transition: 1.5s;
    transition-delay: 0.5s;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
} 
div#contents_block .hided.displaied{
    opacity: 1;
    transform: translateY(0);
}
div#contents_block .box{
    position:relative;
}
div#contents_block .box:after{
    content:"";
    display:block;
    width:150vw;
    height:100%;
    position:absolute;
    left: -5%;
    top:0;
    border: 1px solid #333;
}
div#contents_block .sp{
    display: none;
}

@media screen and (max-width: 1200px) {
    div#contents_block {
        font-size: 16px;
    }
}
@media screen and (max-width: 767px) {
    div#contents_block {
        font-size: 2.7vw;
    }
    div#contents_block .pc{
        display: none;
    }
    div#contents_block .sp{
        display: block;
    }
	div#contents_block p {
    font-size: 1.3rem;
}
/*	div#contents_block section.sec h2 {
    font-size: 1.75rem!important;
}*/
}

div#contents_block section.lead{
    margin: min(13.5rem,21vw) 0;
    font-size: 15px;
    font-weight: 600;
}
div#contents_block section.lead .inner{
    display: flex;
    gap: 8%;
    padding-top: min(130px,13.5rem, 9vw);
    padding-bottom: min(85px,9rem,4.3vw);
    max-width: 1120px;
}

div#contents_block section.lead .inner .txtbox{
    display:flex;
    flex-direction:column;
}
div#contents_block section.lead .inner .photo{
    flex: 0 0 40%;
    margin-bottom: 5.25rem;
    /*margin-right: -9%;*/
}
div#contents_block section.lead .inner .date,
div#contents_block section.lead .inner .name{
    padding: 4rem 0 0;
    font-size: 1.45em;
}
div#contents_block section.lead .inner .tag span{
    display: inline-block;
    background: #5B5A52;
    color: #fff;
    padding: 0.2em 0.8em;
}
div#contents_block section.lead .inner h1{
    font-size: 4.6em;
    margin-bottom: 0.9rem;
    margin-top: 0.2em;
    font-weight: 700;
}
div#contents_block section.lead .inner .text{
    /*margin-top:auto;
    font-size: 1em;*/
    line-height: 2.4;
}
@media screen and (max-width: 1200px) {
    div#contents_block section.lead{
        font-size: 12px;
    }
}
@media screen and (max-width: 767px) {
    div#contents_block section.lead{
        font-size: 2.7vw;
		margin: 30px 0 0 0;
    }
    div#contents_block section.lead .inner{
        flex-direction:column;
        margin:0 10vw;
    }
    div#contents_block section.lead .inner .txtbox {
        display:contents;
    }
    div#contents_block section.lead .inner .date{
        font-size:1em;
        order:1;
    }
    div#contents_block section.lead .inner h1{
        font-size:2em;
        margin-bottom:0.85rem;
        order:2;
    }
    div#contents_block section.lead .inner .name,
    div#contents_block section.lead .inner .tag{
        order:3;
    }
    div#contents_block section.lead .inner .photo{
        order:4;
        margin: -3.9rem -14vw 0 auto;
        z-index:2;
    }
	div#contents_block section.lead .inner .photo img{
	max-width: 50vw;	
	}
    div#contents_block section.lead .inner .text{
        order:5;
        margin: 20px -5vw 0 -5vw;
        letter-spacing: 0;
        font-size: 1.15em;
		font-family: "游ゴシック", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, sans-serif;
		font-weight: 400;
    }
    div#contents_block section.lead .inner.box:after{
        height:80vw;
    }
}

div#contents_block section.sec{
    padding-top: min(160px,15.5rem,2vw);
    /*padding-bottom: min(120px,13.5rem,7vw);*/
    font-size: 15px;
}
div#contents_block section.sec .photo{
    text-align: center;
    padding-bottom: min(70px,7.5rem,2vw);
}
div#contents_block section.sec .photo img{
    max-width: min(520px,54vw);
    margin:0 auto;
}
div#contents_block section.sec .photo.yoko_p img{
    max-width: 100%;
    margin:0 auto;
}
div#contents_block section.sec .text_wrapper{
    position:relative;
    padding: 0 min(20px,1.8rem);
}
/*section.sec .text_wrapper:before{
    content:"";
    display:block;
    width:0;
    position:absolute;
    left: -5%;
    top:-1.5rem;
    bottom:-1.5rem;
    border-left: 1px solid #333;
}*/
div#contents_block section.sec h2{
    font-size: 1.75rem;
    letter-spacing:0.05em;
    margin-bottom: 20px;
}
div#contents_block section.sec .txt{
    letter-spacing:0.05em;
    line-height: 2.4;
	color: #222222;
    /*font-size: 1.15em;*/
}
div#contents_block #main a{
    position:relative;
    text-decoration: underline;
    transition:0.3s;
}
div#contents_block #main a:hover{
    color:#ac4d4c;
}
@media screen and (max-width: 1200px) {
    div#contents_block section.sec{
        font-size: 12px;
    }
}
@media screen and (max-width: 767px) {
    div#contents_block section.sec{
        font-size: 2.7vw;
    }
/*    section.sec h2{
        font-size: 1.4em;
    }*/
/*    section.sec .text_wrapper:before{
        content:unset;
    }*/
    div#contents_block section.sec .txt{
        letter-spacing:1px;
    }
	div#contents_block section.lead .inner .text{
		font-size: 1.3rem;
	}
}

div#contents_block section.howto{
    font-size: 15px;
    margin-top: min(28rem,2vw);
	background: #d7cdb873;
	padding: 5% 0;
}
div#contents_block section.howto .inner{
    max-width: 730px;
	margin: 0 auto;
}
div#contents_block section.howto h2{
    text-align:center;
    letter-spacing:0.05em;
}

div#contents_block section.howto p{
    line-height:2.2;
    font-size: 1.4rem;
    padding: 0 17px 0;
    letter-spacing: 0.04em;
}

div#contents_block section.howto .inner .col-set p.text{ font-size: 1.2rem; line-height: 1.5;}
div#contents_block section.howto .inner .col-set p.text span{ font-size: 80%;}

@media screen and (max-width: 767px) {
    div#contents_block section.howto{
    }
    div#contents_block section.howto p{
        font-size: 1.3rem;
    }

}

div#contents_block section.profile{
    font-size: 15px;
    margin-top: min(4rem, 2vw);
}
div#contents_block section.profile h2{text-align: center;}
div#contents_block section.profile .inner{
    max-width: 1060px;
}
div#contents_block section.profile .detail{
    max-width: 800px;
    margin: 60px auto 0;
    border:1px solid #333;
    padding: min(6rem ,6vw) min(10rem,10vw) min(5.25rem,6vw);
    position:relative;
}
div#contents_block section.profile .detail h3{
    position: absolute;
    font-weight: normal;
    font-size:1.2em;
    background:#FFF;
    padding:0 2em;
    top:-0.8em;
    left:6rem;
    width: fit-content;
}
div#contents_block section.profile .detail p:not([class]){
    line-height: 2.4;
}
div#contents_block #main section.profile .detail .name{
    text-align:center;
    font-size: 3rem;
    margin-bottom: 30px;
}
div#contents_block #main section.profile .detail .sns{
    text-align:center;
/*    margin-top: 4.9rem;*/
    font-size: 1.3em;
}
div#contents_block section.profile .detail .sns i{
    font-size: 2.1em;
    vertical-align:middle;
    margin-right: 0.4em;
    border-radius: 0;
    color: #333;
    background: none;
}
div#contents_block section.profile .detail .sns a{
    text-decoration:none;
}



@media screen and (max-width: 767px) {
    div#contents_block section.profile h2{
        /* max-width:70vw; */
        margin:0 auto;
    }
    div#contents_block section.profile .detail h3{
        left: 0;
        right: 0;
        margin: 0 auto;
    }
   
    div#contents_block #main section.profile .detail p.name{
        font-size: 1.3em;
        white-space: nowrap;
        margin-bottom: 2vw;
        text-align: left;
    }
    div#contents_block #main section.profile .detail .sns{
       padding: 0.2rem 0 0;
       margin:3vw;
    }
    div#contents_block #main section.profile .detail .sns i{
        font-size: 1.8em;
        margin-right: 0.3em;
        width: auto;
    }
    div#contents_block #main section.profile .detail p:not([class]){
        font-size: 0.80em;
        line-height: 1.6;
    }
    div#contents_block section.profile .detail .sns a{
        font-size: 0.8em;
    }
}
.interview_slider { font-size: 15px; margin-top: 30px!important;}
.commoninfo { font-size: 15px; margin: 6% 2vw 0!important; border-bottom: 1px solid; border-top: 1px solid; padding: 6% 10%;}
.commoninfo .inner{ margin: 0 auto!important;}
div.banner { max-width: 800px; margin: 60px auto 0!important;}

.commoninfo .modal_btn{ max-width: 400px; margin: 0 auto;  background: #333; color: #fff; border: none!important; width: auto!important; text-align: center;}

@media screen and (max-width: 767px) {
div.banner { font-size: 1.2rem!important; margin: 30px 3vw!important;}
.commoninfo { padding: 10%;}
}

div#contents_block .photo_yoko_fade { position: relative; width: 100%; aspect-ratio: 6 / 4; overflow: hidden;}
div#contents_block .photo_yoko_fade img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: fadeLoop 8s infinite ease-in-out;}
div#contents_block .photo_yoko_fade img:nth-child(1) { animation-delay: 0s; }
div#contents_block .photo_yoko_fade img:nth-child(2) { animation-delay: 4s; }

@keyframes fadeLoop {
  0%   { opacity: 0; }
  10%  { opacity: 1; }
  40%  { opacity: 1; }
  60%  { opacity: 0; }
  100% { opacity: 0; }
}

div#contents_block .photo_tate_fade { position: relative; width: 70%; margin: auto; aspect-ratio: 4 / 5; overflow: hidden;}
div#contents_block .photo_tate_fade img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: fadeLoop_tate 8s infinite ease-in-out;}
div#contents_block .photo_tate_fade img:nth-child(1) { animation-delay: 0s; }
div#contents_block .photo_tate_fade img:nth-child(2) { animation-delay: 4s; }

@keyframes fadeLoop_tate {
  0%   { opacity: 0; }
  10%  { opacity: 1; }
  40%  { opacity: 1; }
  60%  { opacity: 0; }
  100% { opacity: 0; }
}
