:root {
    /* --hd_h: 100px; */
    --hd_h: 59px;
    --hd_sh: 58px;
    --hd_h_sp: 59px;
    --main_w: 1440px;
    --main_color: #121212;
    --blue: #3073bb;
    --en: 'Inter';
    --gray: #f9f9f9;
    --gray2: #eef1f1;
}
/* #special-contents{ */
body{
    font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
#special-contents *{
    box-sizing: border-box;
}
#special-contents h2,
#special-contents h3,
#special-contents h4{
    font-weight:normal;
    line-height: 1.5;
}
#special-contents figure{
    margin: 0;
    position: relative;
}
.forPC{
    display: block;
}
.forSP{
    display: none;
}
.iblock{
    display: inline-block;
}
@media screen and (max-width:767px){
    .forPC{
        display: none;
    }
    .forSP{
        display: block;
    }
}
.blue{
    color:var(--blue);
}
.bggray{
    background-color:var(--gray);
}
.en{
    font-family: 'Inter', "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.center{
    text-align: center;
}
.tsume {
    font-feature-settings: "palt";
    letter-spacing: .05em;
}
.letter-spacing1 {
    letter-spacing: .1em;
}
.mtop-05{
    margin-top: .5em !important;
}
.mtop-1{
    margin-top: 1em !important;
}
.mtop-2{
    margin-top: 2em !important;
}
.mbtm-05{
    margin-bottom: .5em !important;
}
.mbtm-1{
    margin-bottom: 1em !important;
}
.mbtm-2{
    margin-bottom: 2em !important;
}
/* note */
.note{
    display: block;
    width:100%;
    font-size:min(.75em,3vw);
}
.note li{
    padding-left:1.5em;
    position: relative;
}
.note li::before{
    content: '※';
    display: block;
    width:1em;
    height:1em;
    position:absolute;
    top:0;
    left:0;
}
/* lazy */

.lazy,
.ilazy {
    opacity: 0;
    transition: opacity .5s .25s ease;
}

.lazy.lazyloaded,
.ilazy.lazyloaded {
    opacity: 1;
}
/* flex */

.flex-around {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.flex-between {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.flex-start {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.flex-end {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.flex-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.columns-2>* {
    width: 49%;
}
.columns-50>* {
    width: 50%;
}
.columns-48>* {
    width: 48%;
}
.columns-47>* {
    width: 47%;
}
.columns-3>* {
    width: 30%;
}
.columns-31>* {
    width: 30%;
}
.columns-32>* {
    width: 32%;
}
.columns-33>* {
    width: 33%;
}

.maker{
    height:5px;
    background:linear-gradient(transparent 60%, #c2d7ee 60%);
    mix-blend-mode: multiply;
}
.maker-yellow{
    height:5px;
    background:linear-gradient(transparent 60%, #fbe7a1 60%);
    mix-blend-mode: multiply;
}
/* contents header */
.sptitle-wrapper{
    text-align: center;
    padding:min(4em, 5vw) 1.5em;
}
.sptitle_en{
    font-size:min(1.5em, 5vw);
    padding:.5em 0;
    font-weight: 700;
    margin-bottom: 1em;
    display: inline-block;
    padding:.2em 1em;
    background-color:var(--blue);
    color:#fff;
    border-radius: 3px;
}
.sptitle{
    font-size:min(2.7em, 6vw);
    font-weight: 200;
}
.pL05{
    padding-left:.35em;
}
.mainimg-wrp{
    width:100%;
    height:0;
    padding:0;
    padding-bottom:40%;
    position: relative;
    background-color:#f9f9f9;
    overflow: hidden;
}
@media screen and (max-width:767px){
    .mainimg-wrp{
        padding-bottom:70%;
    }
}
.mainimg-wrp img{
    width:100%;
    height:100%;
    object-fit: cover;
    position: absolute;
    top:0;
    left:0;
}
/* contents */
.inner{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding:min(4em,10vw) min(2em,5vw);
}
.inner1200{
    width:100%;
    max-width:1200px;
    margin:0 auto;
    padding:min(1em,4vw) min(2em,5vw);
}
.spcontens-header{
    overflow: hidden;
}
.title-wrp{
    text-align:center;
}
.title-wrp .title{
    font-size:min(2.2em, 5vw);
    margin-bottom: 1em;
    font-weight: 200;
}
.title-wrp .title_en{
    display: inline-block;
    font-size:min(1.2em, 4.5vw);
    padding:.5em .25em;
    margin-bottom: 1.75em;
    font-weight: 700;
    position: relative;
}
.title-wrp .title_en::before,
.title-wrp .title_en::after{
    content: '';
    display: block;
    width:100%;
    height:0;
    border-bottom:3px solid var(--blue);
    position: absolute;
    
    left:0;
}
.title-wrp .title_en::before{
    top:0;
}
.title-wrp .title_en::after{
    bottom:0;
}
.title-wrp .title2{
    display: inline-block;
    font-size:min(1.5em,4.5vw);
    position: relative;
}
@media screen and (max-width:767px){
    .title-wrp .title2{
        margin-bottom: 1em;
    }
}
.title-wrp .title-dash::before,
.title-wrp .title-dash::after{
    content:'';
    width:2em;
    height:0;
    border-top:2px solid;
    position: absolute;
    top:calc(50% - 1px);
}
.title-wrp .title2::before{
    left:-2.75em;
}
.title-wrp .title2::after{
    right:-2.75em;
}
.title-wrp .lead{
    font-size:min(1.05em,3.5vw);
    font-weight: bold;
    line-height:2;
}
.profile .inner{
    max-width:800px;
    padding:min(3em,7vw) min(2em,5vw) min(2em,7vw) ;
}
.profile .profile-entitle{
    width:100%;
    font-size:min(1.1em, 4.5vw);
    margin-bottom: 1em;
    font-weight: 700 !important;
}
.profile .profile-entitle::before{
    content: '';
    width:.75em;
    height:.75em;
    border:4px solid;
    border-radius: 100%;
    display: inline-block;
    margin-right:.5em;
}
@media screen and (max-width:767px){
    .profile .profile-entitle{
        text-align: center;
    }
}
.profile .profile-title{
    font-size:min(1.1em, 3.6vw);
    margin-bottom: 1em;
}
.profile .profile-lead{
    font-size:min(.9em, 3.2vw);
    line-height:1.6;
}
.profile .profile-text-wrp{
    width:65%;
}
.profile .family{
    width:30%;
    margin-top: -2em !important;
}
.profile .family img{
    width:100%;
    height:auto;
}
@media screen and (max-width:767px){
    .profile .profile-text-wrp{
        width:100%;
        order:1;
    }
    .profile .family{
        width:50%;
        margin: 1em auto !important;
        order:0;
    }
}
.decidingFactor .factor-item {
    margin: 5% 0;
}
@media screen and (max-width:767px){
    .decidingFactor .factor-item {
        width:100%;
        margin-bottom: 2em;
    }
    .decidingFactor .factor-item.order0 {
        order:0;
    }
    .decidingFactor .factor-item.order1 {
        order:1;
    }
    .decidingFactor .factor-item.order2 {
        order:2;
    }
    .decidingFactor .factor-item.order3 {
        order:3;
    }
    .decidingFactor .factor-item.order4 {
        order:4;
    }
    .decidingFactor .factor-item.order5 {
        order:5;
    }
}

.decidingFactor .factor-item.img-wrp{
    overflow: hidden;
    position: relative;
}
@media screen and (max-width:767px){
    .decidingFactor .factor-item.img-wrp.order0{
        width:100%;
        height:0;
        padding-bottom:100%;
    }
    .decidingFactor .factor-item.img-wrp.order0 img{
        width:100%;
        height:100%;
        object-fit: cover;
        position: absolute;
        top:0;
        left:0;
    }
}
.decidingFactor .factor-item.img-wrp img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.decidingFactor .factor-item.meta{
    padding:2em 3em;
}
@media screen and (max-width:767px){
    .decidingFactor .factor-item.meta{
        padding:0 1em;
    } 
}
.decidingFactor .factor-entitle{
    font-size:min(3em, 7.5vw);
    margin-bottom:.5em;
}
.decidingFactor .factor-entitle .sml{
    font-size:.4em;
    font-weight: 700;
}
.decidingFactor .factor-title{
    font-size:min(1.8em, 5vw);
    margin-bottom:1.5em;
}
.decidingFactor .factor-lead{
    font-size:min(1em, 3.5vw);
    line-height:2;
    margin-bottom:2em;
    text-align: justify;
}
.decidingFactor .before,
.decidingFactor .after{
    width:48%;
    margin-top: 1em;
    position: relative;
}
.decidingFactor .before:after {
	left: 102.5%;
	top: calc(50% - 1em);
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: transparent;
	border-left-color: var(--blue);
	border-width: 12px;
	margin-top: -12px;
}
@media screen and (max-width:767px) {
    .decidingFactor .before:after {
        border-width: 9px;
        margin-top: -9px;
    }
}
.decidingFactor .after .thumb,
.decidingFactor .before .thumb{
    width:100%;
    height:0;
    padding-bottom:60%;
    position: relative;
}
.decidingFactor .thumb img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.decidingFactor .after .thumb img,
.decidingFactor .before .thumb img{
    position: absolute;
    top:0;
    left:0;
}
.decidingFactor .caption{
    font-size:min(1em, 3.2vw);
    font-weight: 700;
}
.decidingFactor .caption.befor-cap{
    color:#999;
}

/* other points */
.point-item{
    margin: 2% 0;
}
.point-item img{
    width:100%;
    height:100%;
    object-fit: cover;
    position: absolute;
    top:0;
    left:0;
}
.item-title-point{
    display: inline-block;
    font-size:min(.9em, 3.5vw);
    font-weight: 700;
    margin-bottom:1em;
    border: 3px solid;
    border-radius: 2px;
    padding:.25em .5em;
    position: relative;
    background-color: #fff;
}

.item-title-point::before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: .8em .8em 0 0;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    top:100%;
    left:0;
    z-index: 2;
}
.item-title-point::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.3em 1.3em 0 0;
    border-color: #3073bb transparent transparent transparent;
    position: absolute;
    top:100%;
    left:-3px;
    z-index: 1;
}

.item-title{
    display: block;
    font-size:min(1.1em,4vw);
    margin-bottom:.75em;
}
.item-lead{
    display: block;
    font-size:min(.9em,3.5vw);
    line-height: 1.8;
    margin-bottom:1em;
}
/* point1 */
.point-item1{
    margin: 5% auto;
}
@media screen and (max-width:767px) {
    .point-wrp .inner{
        padding-bottom: 0;
    }
}
.point-item1 .point-item1img{
    width:50%;
    position: relative;
}
.point-item1 .point-item1img img{
    position: relative;
}
.point-item1 .point-item1meta{
    width:45%;
    padding: 1.5em;
}
@media screen and (max-width:767px) {
    .point-item1 .point-item1img{
        width:100%;
    }
    .point-item1 .point-item1meta{
        width:100%;
        padding: 1.5em 1em;
    }
}
.point-item1thumb-wrp{
    margin: 2em auto;
}
.point-item1thumb{
    padding:0;
    padding-bottom: 34%;
    position: relative;
    overflow: hidden;
}
.item-title.item-title1{
    display: block;
    font-size:min(1.5em,4vw);
    margin-bottom:1em;
}
.item-lead.item-lead1{
    display: block;
    font-size:min(1em,3.5vw);
    line-height: 1.8;
    margin-bottom:1em;
}

/* point2 point3 */
.point-item2 .thumb{
    width:100%;
    height:0;
    padding-bottom:56.5%;
    overflow: hidden;
    background-color:#f9f9f9;
}
@media screen and (max-width:767px){
    .columns-47 .point-item2{
        width:100%;
    }
    .point-item2 .thumb{
        padding-bottom:60%;
    }
}
.point-item2 .meta-wrp{
    padding:1.5em 0;
}
@media screen and (max-width:767px){
    .point-item2 .meta-wrp{
        padding: 1.5em 1em;
    }
}


/* to sum up */
.sumup{
    text-align: center;
    position: relative;
    z-index: 3;
}
.sumup .staff{
    width:120px;
    margin:-1em auto 1em !important;
}
.sumup .staff img{
    width:100%;
    height:auto;
}
.sumup-lead{
    font-size: min(1.1em,3.6vw);
    font-weight: 600;
    line-height: 1.8;
}
.sumup .btn-wrp{
    text-align: center;
    padding:0 1.5em 4em;
}
.sumup .btn-wrp .btn{
    display: inline-block;
    /* background-color:var(--blue); */
    background-color:#f9d44f;
    padding:.5em 3em;
    border-radius:3em;
    /* color:#fff; */
    color:#222;
    text-decoration: none;
    font-size:min(1.2em,4vw);
    font-weight: 600;
    position: relative;
    box-shadow: 0 0 3px rgba(0,0,0,.3);
}
.sumup .btn-wrp .btn::after{
    content: '';
    width:.4em;
    height:.4em;
    border-top:1px solid;
    border-right:1px solid;
    position:absolute;
    top:50%;
    right:1em;
    transform: translateY(-50%) rotate(45deg);
}
.sumup .note-wrp {
    margin-top: 2em;
}
.sumup .note-wrp .note li{
    display: inline-block;
}
@media screen and (max-width:767px) {
    .sumup .note-wrp .note li{
        text-align: left;
    }
}