@charset "utf-8";


/*　タイアップサイト用
-------------------------------------------------*/
@media screen and (min-width:768px) {
	body {
	  text-align:center;
	}
}

body {
	text-align:center;
  text-align:center;
  color:#000;
  font-family: 游ゴシック, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight:500;
  font-size:14px;
  line-height:1.8em;
  width:100%;
  overflow-x:hidden;
}


@media all and (-ms-high-contrast:none){
  body { 
	  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
   } 
}

@media screen and (min-width:950px) {
	body {
		font-size: 17px;
	}
}

#tieup a:link,
#tieup a:visited {
  color:#03030;
}

#tieup a:link {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
  -khtml-opacity: 1;
  -moz-opacity: 1;
  transition:0.5s
}

#tieup a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -khtml-opacity: 0.7;
  -moz-opacity: 0.7;
  transition:0.5s
}

#tieup * {
	box-sizing: border-box;
}

img {
	max-width:100%;
	height: auto;
}

#tieup a:hover {
  text-decoration:none;
  color:#ccc;
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha(opacity=50)";
  -khtml-opacity: 0.5;
  -moz-opacity: 0.5;
  transition:0.5s;
}


/*　枠組み
----------------------------------------------------------*/

.container {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	text-align: justify;
	line-height: 1.8;
    padding-left: 25px;
    padding-right: 25px;
}

/*タブレット対応*/
@media screen and (min-width:758px) {
    
  .container {
       max-width: 650px;
       margin-left: auto;
       margin-right: auto ;
    }  
}

@media screen and (min-width:950px) {
    
    .container {
        max-width: 750px;
        box-sizing: content-box !important;
    }
    
    .container--920 {
        max-width: 920px;
    }
}


/*lead*/

.lead .container {
    line-height: 1.5;
}

.lead {
    text-align: justify;
    font-weight: bold;
    font-size: 102%;
    background:url("bg_03.svg") no-repeat center bottom #081F2C;
    background-size: 100% auto;
    color: #FFF;
    padding-bottom: 20vw;
    padding-top: 25px;
}

@media screen and (min-width:950px) {
    .lead {
        background-size: 100% 258px;
        padding-top: 50px;
        padding-bottom: 200px;
    }
}

/*本文枠組み*/
.bg-gray {
    background: #F6F6F6;
}

.sec-01 {
    background: #FFF;
    margin-top: -1px;
}

/*.mainv*/

.mainv-inner {
    background: url("bg_mainv01.svg") no-repeat center bottom;
    background-size: 100% 40vw;
    position: relative;
    margin-bottom: -1px;
}

.mainv-img img {
    border-radius: 15px;
}

@media screen and (max-width:949.9px) {
    .mainv-inner {
        padding: 15px 15px 10vw 15px;
        position: relative;
    }
    
    .mainv-ttl {
        position: absolute;
        bottom:0;
        width: 100%;
        padding: 0 10px;
        box-sizing: border-box;
        text-align: left;
    }
    
    .mainv-ttl img {
        width: 90%;
        max-width: 550px;
    }
}

@media screen and (min-width:950px) {
    
    .mainv {
        background: url("mainv_bg02.png") no-repeat center top;
        background-size: 1600px auto;
    }
    
    .mainv-inner {
        background: url("bg_mainv01.svg") no-repeat center bottom;
        background-size: 100% 280px;
        margin: 0 auto;
        text-align: center;
        position: relative;
        padding-bottom: 58px;
        text-align: center;
    }
    
    .mainv-img {
        padding-top: 40px;
    }
    
    .mainv-img img  {
        max-width: 920px;
        margin: 0 auto;
        border-radius: 20px;
    }
    
    .mainv-ttl {
        width: 100%;
        max-width: 980px;
        margin: 0 auto;
        position: absolute;
        text-align: right;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
}



/*２段組*/
@media screen and (min-width:758px) {
 
    .c-d-md-flex {
        justify-content: space-between;
        flex-direction: row-reverse;
    }
    
    .sec-01-txt {
        width: 49%;
    }
    
    .sec-01-img {
        width: 43.5%;
    }
    
}

/*写真*/

.img-02 {
    padding: 20px 0 25px 0;
}

.img-02-caption {
    line-height: 1.5;
    font-size: 85%;
    padding-top: 0.8em;
    display: block;
}

.img-02-wrapper {
    background: #FFF;
    padding: 10px;
    text-align: center;
    padding-top: 10px;
}

.img-02-ttl {
    font-size: 1.20em;
    font-weight: bold;
    text-align: center;
}

@media screen and (min-width:758px) {
    
    .img-02 {
        padding: 60px 0 65px 0;
    }
    
    .img-02-wrapper {
        padding-top: 20px;
    }
    
    .img-02-ttl {
        font-size: 1.4em;
    }
}

/*本文*/

.ttl-01 {
    font-weight: bold;
    color:#E40046 ;
    font-size: 18px;
    line-height: 1.3;
    text-align: center;
    margin-bottom: 20px;
    padding-top:5px;
}

.ttl-01 h2 {
    padding: 0 0 10px 0;
    border-bottom: 3px solid #E40046 ;
}

.txt-01 + .txt-01 {
    padding-top: 20px;
}

.caption-01 {
    line-height: 1.5;
    font-size: 85%;
    padding-top: 0.2em;
    display: block;
}

@media screen and (min-width:500px) {
    .ttl-01 h2 {
        display: inline-block;
        padding: 0 15px 15px 15px;
        border-bottom: 3px solid #E40046 ;
    }  
}

@media screen and (min-width:950px) {
    .ttl-01 {
        font-size: 31px;
        margin-bottom: 45px;
    }
    
    .ttl-01 h2 {
        display: inline-block;
        padding: 0 25px 20px 25px;
        border-bottom: 5px solid #E40046 ;
    }  
    
    .txt-01 + .txt-01 {
        padding-top: 35px;
    }
}



/*profile*/

.profile {
    line-height: 1.3;
}

.profile-ttl {
    font-weight: bold;
    font-size: 0.90em;
    padding: 1em 0 0.2em;
}

.profile-name {
    font-weight: bold;
}

.profile-name span {
    font-size: 1.3em;
}

.profile-detail {
    font-size: 90%;
    line-height: 1.4;
    padding-top: 0.8em;
    text-align: left;
}


@media screen and (max-width:757.9px) {
    
    .profile {
        padding: 0 20px 30px 20px;
    }
    
    .profile-img {
        text-align: center;
    }
    
    .profile-img img {
        width: 80%;
        max-width: 400px;
    }
    
    .profile-name, .profile-ttl {
        text-align: center;
    }
    
}

/*フッター*/

.footer {
    text-align: center !important;
    padding-bottom: 35px;
}

.btn-01 {
    text-align: center;
}

.btn-01 img {
    width: 90%;
    max-width: 450px;
}

.footer {
    line-height: 1.3;
}

.footer-logo img {
    width: 75%;
    max-width: 168px;
}

@media screen and (min-width:758px) {
    
    .footer {
        padding-bottom: 80px;
    }
    
    .btn-01 a {
        padding: 20px 0;
        font-size: 22px;
    }
}

.bg-01 {
    background: url("bg_01.svg") left top repeat-y;
    background-size: 100% 100%;
    width: 100vw;
    height: 20vw;
}

.bg-02 {
    background: url("bg_02.svg") left top repeat-y;
    background-size: 100% 100%;
    width: 100vw;
    height: 20vw;
}

@media screen and (min-width:758px) {
    .bg-01, .bg-02 {
        height: 260px;
    }
}

.img-radius {
    border-radius: 10px;
}

@media screen and (min-width:758px) {
    .img-radius {
        border-radius: 20px;
    }
    
    .img-mw-700 {
        max-width: 650px;
    }
}