@charset "UTF-8";

body {
    width: 100%;
    /*overflow-x: hidden;*/
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    margin: 0;
    text-align: justify;
line-break: strict;
overflow-wrap: break-word;
word-wrap: break-word;
}
body, html {
    color: #000;
}

.minchou {
font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

img {
        max-width: 100%;
        height: auto;
        vertical-align: bottom;
    }

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    
    
    .header_bg {
        background: #EFEFEF;
        box-sizing: border-box;
        position: relative;
    }
    .header_wrap {
        position: relative;
        text-align: center;
        margin: 0 auto;
        width: 100%;
        max-width: 945px;
        padding: 3.85vw 5vw 3.85vw 0;
        box-sizing: border-box;
        font-size: 0;
    }
    .header_logo {
        display: inline-block;
        width: 30.548vw;
    }
    .header_logo2 {
        display: inline-block;
        width: 38.548vw;
        margin: 0 0 0 5vw;
        position: relative;
    }
    .header_logo2::before {
        content: "";
        position: absolute;
        left: -2.5vw;
        top: 0;
        width: 1px;
        height: 100%;
        background: #251E1C;
    }
    .header_logo img {
        width: 100%;
    }
    .header_pr {
        display: inline-block;
        font-size: 0;
        position: absolute;
    	top: 50%;
    	right: 15px;
    	transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    	width: 8.585%;
    }
    .header_pr img {
        width: 100%;
    }
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }

    
    
    @media screen and (min-width: 440px) {
        .header_pr {
            width: 40px;
        }
    }
    
    
    @media screen and (min-width: 640px) {
        .header_logo {
            width: 190px;
        }
        .header_logo2 {
            width: 240px;
            margin: 0 0 0 80px;
        }
        .header_logo2::before {
            left: -40px;
        }
        .header_wrap {
            padding: 9.55px 0 14px 50px;
        }
        .sp{
            display: none;
        }
        .pc{
            display: block;
        }
    }
    
    
    
    .ft_line {
        display: inline-block;
        width: 100%;
        height: 1px;
        background: #cdcdcd;
        border: none;
    }
    
    
    
    .fv_wrap {
        font-size: 0;
        text-align: center;
        margin-bottom: 35px;
    }
    .fv_wrap img {
        width: 100%;
    }
    
    
    
    .pagetop {
      position: fixed;
      bottom: 20px;
      right: 20px;
      font-size: 0;
      line-height: 1;
      z-index: 99;
    }
    .pagetop a {
      width: 30px;
      display: inline-block;
    }
    .pagetop.-on {
        position: absolute;
        bottom: 30px;
    }
    .toparrow_mark {
        transform: translateY(-10px);
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
    }
    @media screen and (min-width: 640px) {
        .pagetop a {
            width: 36px;
        }
        .pagetop.-on {
            bottom: 164px;
        }
        .toparrow_mark {
            transform: translateY(-145px);
            -webkit-transform: translateY(-145px);
            -ms-transform: translateY(-145px);
        }
    }
    @media screen and (min-width: 1300px) {
        .pagetop {
            right: calc(50% - 620px);
            transform: translateX(50%);
        	-webkit-transform: translateX(50%);
        	-ms-transform: translateX(50%);
        }
    }
    
    
    .fc_bg {
        background: #E8EEF3;
        position: relative;
    }
    .fc_wrap {
        padding: 80px 15px 70px;
        text-align: center;
    }
    .fc_logo img {
        width: 60%;
        max-width: 341px;
        margin: 0 0 34px;
    }
    .fc_txt1 {
        font-weight: 600;
        font-size: 20px;
        margin: 0 0 16px;
    }
    .fc_txt2 {
        font-weight: 600;
        /* font-size: 15px; */
        font-size: 18px;
        margin: 0;
        line-height: 1.8;
    }
    .fc_txt2 a {
        color: #000;
        text-decoration: none;
    }

    .fbnr_wrap {
        position: fixed;
        left: 0;
        bottom: 0;
        z-index: 50;
        width: 100%;
        font-size: 0;
        text-align: center;
        display: none;
    }
    .fbnr_wrap::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        opacity: .8;
        left: 0;
        top: 0;
        background: linear-gradient(90deg, #C9D9F0 0%, #E0EBC2 25%, #FFFBCE 50%, #E0EBC2 75%, #C9D9F0 100%);
    }
    .fbnr {
        display: inline-block;
        position: relative;
        z-index: 5;
        width: 70%;
        max-width: 341px;
        transition: .9s;
        transform: translateY(-8%);
    }
    .fbnr:hover {
        opacity: .7;
    }
    


.mainCont {
    padding: 0 10px;
    font-size: 105%;
}
@media screen and (max-width: 768px) {
    .mainCont {
        font-size: 88%;
    }
}
.mainCont * {
    box-sizing: border-box;
} 
.mainCont section {
    max-width: 960px;
    margin: 0 auto;
    padding: 0;
}
.cont {
    /* font-size: 105%; */
}
.mainCont section.lead {
    padding: 20px 30px;
    font-size: 90%;
    line-height: 1.8;
    /* background: #eef5ff; */
    /* margin: 50px auto; */
}
.mainCont section.lead .leadText {
    /* text-shadow: 0px 5px 12px rgba(80,128,194,0.7); */
    /* filter: drop-shadow(0px 5px 4px rgba(80,128,194,0.7)); */
}
section h2.ttl {
    font-size: 175%;
    color: #5080c2;
    margin-bottom: 40px;
    padding-bottom: 0px;
    border-bottom: 5px double;
    padding-left: 5px;
    margin-top: 0;
}
.mainCont section .block {
    padding: 0 0px;
    margin-bottom: 75px
}
.mainCont section .block:not(:last-of-type) {
}
.imgSet .imgArea {
    width: 28%;
    min-width: 280px;
    margin-bottom: 10px;
    container-type: inline-size;
}
.imgSet .imgArea .img {
    margin: 0;
}
.imgSet .imgArea .img img {
    vertical-align: bottom;
}
.imgSet .imgArea.l {
    float: left;
    margin-right: 30px;
}
.imgSet .imgArea.r {
    float: right;
    margin-left: 30px;
}
.imgSet .imgArea .text {
    padding: 10px;
    margin: 0;
    background: #eef5ff;
    font-size: 4.25cqw;
}
.imgSet .imgArea .text .name {
    font-size: 140%;
    margin-top: 3px;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .imgSet .imgArea {
        min-width: 200px
    }
    .imgSet .imgArea .text {
        font-size: 5.2cqw
    }
}
@media screen and (max-width: 600px) {
    .imgSet .imgArea {
        width: 100%;
        clear: both;
        display: flex;
        align-items: flex-end;
        float: none!important;
        margin: 0!important;
    }
    .imgSet .imgArea .img {
        width: 35%;
    }
    .imgSet .imgArea .text {
        width: 65%;
        font-size: 2.75cqw;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .imgSet .imgArea .text .name {
        font-size: 150%;
    }
}
.talkList > div {
    /* display: inline-flex; */
    /* clear: both; */
    margin-bottom: 1.25em;
    line-height: 1.8;
}
.talkList dt {
    width: 4.5em;
    font-weight: bold;
    /* display: inline-block; */
    float: left;
    color: #5080c2;
}
.talkList dd {
    /* display: inline-block; */
    /* padding-left: 23em; */
    margin-left: 4em;
    margin-left: 0;
}

.imgBlock {
    max-width: 791px;
    margin: 30px auto;
    clear: both;
}
.imgBlock.full {
    max-width: 100%;
}
.imgBlock .img {
    text-align: center;
    margin: 0;
}
.imgBlock .imgText {
    font-size: 90%;
    margin: 5px 0 0;
    padding: 15px 20px;
    background: #f2f2f2;
}

.footSnsLinks {
    list-style: none;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
    max-width: 450px;
    padding: 0;
}
.footSnsLinks li {
    width: 30%;
    font-size: 20px;
    font-weight: 600;
    min-width: 140px;
}
.footSnsLinks li a {
    color: #44546a;
    text-decoration: none;
}
.footSnsLinks li a:hover {
    text-decoration: underline
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}
.dilb {
    display: inline-block;
}