@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: 游ゴシック, 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){
  #tieup { 
	  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
   } 
}

@media screen and (min-width:950px) {
	#tieup {
		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;
}

.bg1{		
	background:url("bg1_sp.webp") no-repeat center top;
	background-size:100%;
	background-color: #F2F2F2;
}

.bg2{
	background:url("bg3_sp.webp") no-repeat center top;
	background-size:100%;
}


@media screen and (min-width:950px) {
    .bg1{
		background:url("bg1_pc.webp") no-repeat center top;
		background-size:100%;
		background-color: #F2F2F2;
		
	}
    .bg2{
		background:url("bg3_pc.webp") no-repeat center top;
		background-size:100%;
	}
}  


/*　枠組み
----------------------------------------------------------*/

.box{
    background-color: #fff;
    max-width: 90%;
    margin:20px auto 20px auto;
    padding:25px 20px 20px 20px;
}

.box:last-child{
	margin-bottom:0;
}


@media screen and (min-width:950px) {
.box{
    max-width: 980px;
    margin:30px auto 60px auto;
    padding:75px 90px 65px 90px;
}  
}

.container {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	text-align: left;
	line-height: 1.8;	
}


article{
	margin-bottom:30px;
}


@media screen and (min-width:950px) {
    article{
        margin-bottom:60px;
		padding:0 50px;
    }
}  
    

article p{
	margin-bottom:1.5em;
	line-height: 2em;
}

.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:950px) {
	.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;}
}

.under0{
	margin-bottom:0!important;padding-bottom:0!important;
}

/*　メインビジュアル
----------------------------------------------------------*/
.lead {
	text-align: left;
	margin:5px auto 30px auto;
	font-weight: 600;
	padding:0 5%;
	line-height:1.8em;
}


.mainv {
	z-index: 5;
	position: relative;
	}

	
.mainv-img {
	width: 100vw;
	max-width: 1366px;
	margin:0 auto;
}


	
.mainv-img img {
	width: 100%;
}

@media screen and (min-width:950px) {
	.mainv {
		margin: 0 auto;
	}
	.mainv-txt {
		max-width: 980px;
		margin: 0 auto;
	}
	.lead {
		font-size: 18px;
		line-height: 30px;
		max-width:782px;
		margin:40px 0 40px auto;
		padding:0;
		
	}
	
	.mainv-spacer img {
		width: 100%;
		height: inherit;
	}
}

@media screen and (max-width:949px) {
	.mainv-spacer img {
		width: 100%;
		height: 130vw;
		margin-bottom: 25px;
	}
}

/*見出し、文字
----------------------------------------------------------*/
.ttl-01{
    text-align: center;
    margin:15px auto 30px auto;
}

.ttl-01 h2 {
	position: relative;
	display: inline-block;
	margin-bottom: 1em;
	line-height: 1.4;
	font-size:18px;
}
.ttl-01 h2:before {
  content: '';
  position: absolute;
  bottom: -25px;
  display: inline-block;
  width: 100px;
  height: 3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #185FAB;
}


@media screen and (min-width:950px) {
    .ttl-01{
        margin:0 auto 50px auto;
    }  
    .ttl-01 h2{
        font-size:29px;
		letter-spacing: 0.02em;
    }  
}

.caption {
	line-height: 1.5;
	font-size: 12px;
    text-align: center;
    text-indent: 0;
}





@media screen and (max-width:949px) {
    .caption.spleft {
		text-align: left;
		padding:0 10px;
	}
}

@media screen and (min-width:950px) {
    .caption{
        font-size:13px;
		max-width: 600px;
		text-align: left;
		margin-left: auto;
		margin-right: auto;
    } 
	
	.caption--center {
		text-align: center;
	}
}


/*　本文内図
----------------------------------------------------------*/

p.scroll{
	padding-right:35px;
	background:url("arrow.svg") no-repeat right center;
	font-size: 13px;
	letter-spacing: 0.02em;
	text-align: right;
	
}
.fig01{
	overflow-x: auto;
    display: block;
}

.fig-01{
    width:1000px;
	padding-bottom:10px;
}

.fig-02{
	width:100%;
    width:780px;
	padding-bottom:15px;
}

.fig-02 img{
	width:100%;
}


@media screen and (max-width:758px) {
	.fig02{
		overflow-x: auto;
		display: block;
	}
	
	.fig-02{
		width:780px;
		padding-bottom:15px;
		margin:0 auto;
	}
}

@media screen and (min-width:950px) {
	.fig-01{
		width:1300px;
		padding-bottom:10px;
	}
	
	p.scroll{
		line-height: 20px;
		margin-top: -25px;
	}
}


/*　本文内画像
----------------------------------------------------------*/
h3.img-ttl{
	color:#0077B3;
	font-size:17px;
	text-align: center;
	line-height: 1.5;
	margin-bottom:5px;
	
}

.img{
    text-align: center;
    margin:20px auto 40px auto;
    width: 100%;
}


.img img{
    width: 100%;
}


.w780{
	max-width:780px;
	margin-left:auto;
	margin-right:auto;
}

@media screen and (min-width:950px) {
	h3.img-ttl{
		font-size:21px;}
	
    .img{
        margin:20px auto 50px auto; 
    }  
    
    .img-w600 {
        max-width: 600px;
        margin:0 auto;
    }
}




/*　フッター
----------------------------------------------------------*/
.bg_gray{
	background-color: #F2F2F2;
	padding:50px 0;
}

.link_txt{
	text-align: center;
	font-size:14px;
	margin-top:20px;
}

.link_txt a{
	text-decoration: none;
}

.logo{
    width:170px;
    margin:0 auto;
}
.btn-01 {
	text-align: center;
}
.btn-01 a {
	background: #0077B3;
	color: #fff !important;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	width: 80%;
	max-width: 500px;
	font-size: 15px;
	display: block;
	margin-left: auto;
	margin-right: auto;
    position: relative;
    height:50px;
    line-height: 50px;
}

.btn-01 + .btn-01 {
	padding-top: 15px;
}

.btn-01 a:after{
  position: absolute;
  right:20px;
  top:15px;
  content: "";
  display: inline-block;
  width: 10px;
  height: 20px;
  background: url("btn_icon.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (min-width:950px) {
	
	.link_txt{
		text-align: center;
		font-size:16px;
		margin-top:40px;
	}
	
    .logo{
        width:279px;
        margin:0 auto;}
    
	.btn-01 a {
		width: 500px;
		height:70px;
        line-height: 70px;
		font-size: 23px;
        padding:0;
	}
    
    .btn-01 a:after{
        right:20px;
        top:25px;
    }
}



/*　フッター CONTENTS
----------------------------------------------------------*/
.footer_contents{
	background-color: #0B3F77;
	padding:50px 0;
}

.footer_contents a{
	text-decoration: none;
}

.footer_contents_ttl{
	text-align: center;
	color:#fff;
	font-weight: 600;
	font-size:22px;	
	margin-bottom:20px;
	line-height: 1;
	letter-spacing: 0;
}

.footer_contents_box{
	background-color:#fff;
	padding:10px;
	width:90%;
	max-width: 500px;
	margin:0 auto;
	display: flex;
	justify-content:space-between;
	align-items: center;
}

.footer_contents_box_txt{
	padding-right:10px;
}


.footer_contents_box_txt p{
	color:#0077B3;
	font-size:13px;
}

.footer_contents_box_txt p span{
	font-weight: 600;
	font-size:17px;
	display: inline-block;
	padding-right: 10px;
}

.footer_contents_box_txt h5{
	font-size:13px;
	letter-spacing: -0.02em;
	line-height: 1.4;
}

.footer_contents_box_txt h4{
	font-size:16px;
	line-height: 1.6;
	letter-spacing: 0;
}

.footer_contents_box_pic{
	width:100px;
}

@media screen and (min-width:950px) {
	.footer_contents{
		background-color: #0B3F77;
		padding:60px 0 70px 0;
	}
	.footer_contents_ttl{
		font-size:28px;	
		margin-bottom:30px;
	}
	
	.footer_contents_box{
        display: flex;
        justify-content:space-between;
		align-items: center;
	}
	
	.footer_contents_box_txt{
		padding:0 0 0 5px;
	}
	
	.footer_contents_box_txt h4{
		font-size:19px;
	}
}


/*　col
----------------------------------------------------------*/
.col2 {
    margin-top:20px;
	width:100%;
}
.col2 li.col-2{
	margin-bottom:20px;
}

.col2 li.col-2:last-child{
	margin-bottom:0;
}

.col3 {
	margin:20px auto 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
}
.col3 li.col-3{
	margin-bottom:20px;
	width:50%;
}

@media screen and (min-width:950px) {
	.col2 {
        margin:20px auto 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
	}
	.col2 li.col-2{
        width:calc(50% - 5px);	
	}
	.col3 li.col-3{
    width:33.333%;
	margin-bottom:30px;
	}
    
}



