@charset "utf-8";

/*　タイアップサイト用
-------------------------------------------------*/
@media screen and (min-width:768px) {
	body {
	  text-align:center;
	}
}

body {
	text-align:center;
}

#tieup {
  border-bottom:1px solid #ddd;
  text-align:center;
  color:#000;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:1.8em;
  width:100%;
  overflow-x:hidden;
}


@media all and (-ms-high-contrast:none){
  #tieup { 
	  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
   } 
}

@media screen and (min-width:950px) {
	#tieup {
		font-size:16px;
	}
}

#tieup a:link,
#tieup a:visited {
  color:#030303;
}

#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 {
  text-decoration:none;
  color:#666;
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha(opacity=50)";
  -khtml-opacity: 0.5;
  -moz-opacity: 0.5;
  transition:0.5s;
}

#tieup * {
	box-sizing: border-box;
}

img {
	max-width:100%;
	height: auto;
}

/*　枠組み
----------------------------------------------------------*/
.main {
    background: #f3f3f3;
    padding: 20px 10px;
}

.section {
    background: #FFF;
    text-align: left;
    padding: 20px;
    position: relative;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}

.section + .section {
    margin-top: 30px;
}

@media screen and (min-width:758px) {
    
    .main {
        padding: 50px;
    }
    
    .section {
        padding: 40px 100px 100px 100px;
        max-width: 1000px;
    }
    
    .section + .section {
        margin-top: 60px;
    }
    
}


/*　アキ調整
----------------------------------------------------------*/
.pt-l {	padding-top: 50px;}
.pt-m {	padding-top: 40px;}
.pt-s {	padding-top: 15px;}
.pb-l {	padding-bottom: 50px;}
.pb-m {	padding-bottom: 30px;}

@media screen and (min-width:758px) {
	.pt-l {	padding-top: 125px;	}
	.pt-m {	padding-top: 80px;}
	.pt-s {	padding-top: 25px;}
	.pb-l {	padding-bottom: 100px;}
	.pb-m {	padding-bottom: 50px;}
}


/*　本文
----------------------------------------------------------*/

.text-01 p {
    padding-bottom: 0.8em;
    line-height: 1.8;
}

.text-02:not(first-child) {
    padding-top: 1em;
    
}

.img-01 {
    width: 90%;
    max-width: 600px;
    margin: 20px auto 40px auto;
    position: relative;
}

.img-01-caption {
    background: rgba(0,0,0,0.8);
    color: #FFF;
    line-height: 1.2;
    padding: 7px 12px;
    display: inline-block;
    font-size: 0.9em;
    position: absolute;
    left: -5%;
    bottom: -20px;
}


@media screen and (min-width:758px) {
    .img-01 {
        margin: 60px auto 80px auto;
    }  
    
    .img-01-caption {
        left:-10px;
        font-size: 0.85em;
        padding: 10px 15px;
    }
}



/*　本文
----------------------------------------------------------*/

.footer {
    padding-top: 20px;
    line-height: 1.5;
}

.footer h3 {
    font-size: 17px;
}

.footer-logo {
    padding: 10px 0 15px 0;
}

.footer-logo img {
    width: 50%;
    max-width:300px;
}


@media screen and (min-width:758px) {
    
    .footer {
        padding: 80px 20px 30px 20px;
    }
    
    .footer h3 {
        font-size: 24px;
    }

    .footer-logo {
        padding: 10px 0 25px 0;
    }
    

}



/*　見出し
----------------------------------------------------------*/

.ttl-01 {
    width: calc(100% + 40px);
    margin-left: -40px;
    padding-bottom: 10px;
    position: relative;
}


.ttl-01 h2 {
    font-size: 18px;
    line-height: 1.2;
    background-image: linear-gradient(90deg, #E1F1FB 80%, #FFF);
    padding: 10px 10px 10px 20px;
    position: relative;
}

.ttl-01 h2:after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 7.5px;
    background: url("ttl01_tri.svg") no-repeat left top;
    background-size: contain;
    position: absolute;
    bottom:-7.5px;
    left: 0;
}

.ttl-01 h2 span {
    border-left: 3px solid #FF7704;
    padding-left: 0.5em;
    display: inline-block;
}

@media screen and (min-width:758px) {
    
    .ttl-01 {
        width: calc(100% + 125px);
        margin-left: -125px;
        padding-bottom: 50px;
    }
    
    .ttl-01 h2 {
        font-size: 30px;
        padding: 20px 20px 20px 25px;
    }
    
    .ttl-01 h2:after {
        width: 25px;
        height: 20px;
        bottom: -20px;
    }
    
    .ttl-01 h2 span {
        border-left: 4px solid #FF7704;
    }
}

    
    



/*　リード
----------------------------------------------------------*/

.lead {
    color: #FFF;
    background: #1F2D5D;
    text-align: left;
    line-height: 1.8;
}
    
.lead-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 25px;
    background: #1F2D5D;
    position: relative;
}

@media screen and (min-width:758px) {
    
    .lead {
        padding: 50px 0 50px 0;
        position: relative;
    }
    
    
    .lead:before {
        content: "";
        background: #FF7704;
        width: 100%;
        position: absolute;
        height: 3px;
        left: 0;
        top: 50%;
    }
    
    .lead-inner {
        max-width: 900px;
        margin: 0 auto;
        padding: 0 50px;    
    }
    
}

/*　キービジュアル
----------------------------------------------------------*/

.mainv {
    text-align: center;
    padding-top:150px;
}


.mainv img {
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
}

@media screen and (min-width:758px) {
    
    .mainv {
        padding-top: 50px;
        position: relative;
    }
    
    .mainv:after {
        content: "";
        background: #1F2D5D;
        height: 170px;
        width: 100%;
        position: absolute;
        bottom: -2px;
        left: 0;
        z-index: -100;
    }
}

    
    
/*　誘導ボタン
----------------------------------------------------------*/

.btn-01 img {
    width: 100%;
    max-width: 300px;
}

@media screen and (min-width:758px) {
    .btn-01 img {
        max-width: 540px;
    }
}