@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;
}

img {
    border: none;
    margin: 0;
    padding: 0;
    line-height: 0;
    max-width: 100%;
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    
    
    .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: 3vw 1.5vw 3vw 0;
        box-sizing: border-box;
        font-size: 0;
    }
    .header_logo1 {
        display: inline-block;
        height: 4.2vw;
    }
    .header_logo2 {
        display: inline-block;
        height: 4.2vw;
        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_logo2::after {
        content: "";
        position: absolute;
        right: -2.5vw;
        top: 0;
        width: 1px;
        height: 100%;
        background: #251E1C;
    }
    .header_logo3{
        display: inline-block;
        height: 4.2vw;
        margin: 0 0 0 5vw;
        position: relative;
        
    }
    .header_logo1 img ,.header_logo2 img ,.header_logo3 img{
        height: 100%;
    }
    .header_pr {
        display: inline-block;
        font-size: 0;
        position: absolute;
    	top: 50%;
    	right: 10px;
    	transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    	width: 8.585%;
    }
    .header_pr img {
        width: 100%;
    }
    .br-sp {
        display: block;
    }
    .br-pc {
        display: none;
    }

    
    
    @media screen and (min-width: 440px) {
        .header_pr {
            width: 40px;
        }
    }
    
    
    @media screen and (min-width: 640px) {
        .header_logo1 {
            width: 185px;
        height: fit-content;
        }
        .header_logo2 {
            width: 154px;
            margin: 0 0 0 64px;
        height: fit-content;
        }
        .header_logo2::before {
            left: -32px;
        }
        .header_logo2::after {
            right: -32px;
        }
        .header_logo3 {
            width: 155px;
            top: 5px;
            margin: 0 0 0 64px;
        height: fit-content;
        }
        .header_wrap {
            padding: 9.55px 36px 14px 0px;
        }
        .br-sp {
            display: none
        }
        .br-pc {
            display: block;
        }    
    
    }
        
    
  .fv_bg {
        position: relative;
        background-image: linear-gradient(0deg, #f1f1f1, #ffffff);
        margin: 30px 0 0 0;
    }
    .fv_wrap {
        position: relative;
        margin: 0 auto;
        max-width: 1230px;
    }
    .fv_mv {
        font-size: 0;
        margin: 0;
        text-align: center;
        position: relative;
        z-index: 5;
    }
    .fv_logo{
        display: none;
         position: absolute;
        z-index: 999;
        margin: 0px 0 0 15px;
        max-width: 155px;
        width: 25vw;
    }
    
    @media screen and (min-width: 769px) {
        .fv_wrap {
            position: relative;
            overflow: hidden;
            display: block;
        }
        .fv_mv a{
            pointer-events: none
        }
        .fv_logo{
            display: block;
            position: absolute;
            z-index: 999;
            margin-left: min(123px,9.5vw);
            margin-top: min(8px,4.4vw);
            width: 155px;
        }
        }
    
    
    
    
    
    .main_bg {
        background: #f1f1f1;
        position: relative;
        overflow: hidden;
        margin: 0 auto;
    }
    .main_wrap{
        margin: 0 auto;
        max-width: 980px;
        padding: 0 15px;
        position: relative;
        width: 90%;
    }
    
    
    .prof {
        margin: 0 auto 40px;
        max-width: 230px;
        background: #fff;
        position: relative;
    }
    .prof_photo {
        font-size: 0;
    }
    .prof_in {
        padding: 20px 20px;
        text-align: center;
    }
    .prof_txt1 {
        font-weight: 600;
        font-size: 18px;
        margin: 0;
    }
    .prof_txt1 {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2857;
        margin: 6px 0;
    }
    .prof_txt2 {
        font-size: 25px;
        font-weight: 600;
        line-height: 1.2857;
        margin: 0;
    }
    .prof_txt2 > span {
        font-size: 17px;
    }
    .lv2 {
        font-size: 25px;
        line-height: 1.4;
        margin: 0 0 40px;
        font-weight: 600;
        color: #04308c;
    }
    .txtstyle1 {
        font-size: 17px;
        line-height: 1.72222;
        margin: 0 ;
        font-weight: 600;
    }
    .txtstyle2 {
        font-size: 16px;
        line-height: 1.72222;
        margin: 0;
        padding: 0 0 30px;
        font-weight: 500;
    }
    .txtstyle3{
        font-size: 15px;
        line-height: 1.72222;
        padding:5px 0 30px;
        margin: 0;
        font-weight: 500;
       
    }
    .block1{
        margin: 0 auto; 
    }
    .content_block1 {
        margin: 0 auto;
        padding:40px 0;
    }
    .block2{
        margin-bottom: 10px; 
    }
    .photo{
            max-width: 445px;
            margin: 0 auto;
            margin-bottom: 30px;
    }
    .block3{
            margin: 0 auto;
            max-width: 550px;
            margin-bottom: 50px;
    }
    @media screen and (min-width: 640px) {
        .txtstyle2{
            font-size: 17px;
        }
        .float_l {
            float: left;
            margin: 0 40px 40px 0;
        }
        .float_r {
            float: right;
            margin: 0 0 40px 40px;
        }
        .photo{
            max-width: 480px;
        }

        }
    
        
    .mf_txt {
        font-size: 12px;
        text-align: center;
        font-weight: 500;
        padding-bottom: 45px;
    }
    .mf_txt2 {
        font-size: 12px;
        text-align: left;
        font-weight: 500;
        padding-bottom: 45px;
    }
    .info_bg{
       background: #f1f1f1;
       position: relative;
       overflow: hidden;
       margin: 0 auto; 
    }
    .info_wrap {
        padding-bottom: 80px ;
        text-align: center;
    }
    .info_img{
        width: 286px;
        max-width: 100%;
        margin: 0 auto 50px auto;
    }
    .info_txt1 {
        font-weight: 600;
        font-size: 21px;
        margin: 0 0 4px;
    }
    .info_txt2 {
        font-weight: 500;
        font-size: 18px;
        margin: 0;
    }
    .info_txt3 {
        font-weight: 500;
        font-size: 15px;
        margin: 0;
        text-decoration: none;
        color: #000;
    }
    .index_btn {
        max-width:430px;
        width:100%;
        margin:0 auto 100px auto;
    }        
    .p-article_action2 {display: flex;margin-bottom: 25px;flex-wrap:wrap;}
.p-article_action_group2 {display: flex;}
.p-article_action_btn_label3,
.p-article_action_btn_label2 {
  display: block;
  position: relative;
  padding-top: 30px;
  background-position: center top;
  background-repeat: no-repeat;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  text-align: center;
  transition: .1s all ease-in;
}
.p-article_action_group2 {justify-content: center;width: 100%;padding: 0;}
.p-article_action_btn2 {
  display: block;
  position: relative;
  width: 52px;
  height: 30px;
}

.p-article_action_btn_label3.-twitter3 {
  background-image: url(X2.png);
  background-position: center top 3px;
}

.p-article_action_btn_label2.-Facebook2 {
  background-image: url(ico_action_facebook.svg);
}
.p-article_action_btn_label2.-line2 {
  background-image: url(icon_line.png);
  background-position: center top 3px;
}
.p-article_action_share {
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 11.77px;
    color: #898989;
}

.p-article_action_group .p-article_action_btn:first-of-type {
  margin-left: 0;
}
.p-article_action_btn_label::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 24px;
  background-color: #fff;
  background-position: center top;
  background-repeat: no-repeat;
  content: '';
  opacity: 0;
  transition: .1s linear;
}

.info_line{
    width: 100%;
    height: 2vw;
    max-height: 20px;
    margin-bottom: 10px;
    background-image: url(./footer_line.png);
    background-repeat: repeat-x;
    background-size: contain;
}

    
    
    
    
.small{
	font-size: 70%;
	vertical-align: top;
	line-height: 0.8em;
}
    





















