@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: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:#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 {
  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;
}

/*　枠組み
----------------------------------------------------------*/
.container {
	box-sizing: content-box;
	position: relative;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	text-align: left;
	line-height: 1.8;	
}

section{
	padding-left: 7.5%;
	padding-right: 7.5%;
	
}

@media screen and (min-width:950px) {
	section {
		max-width: 980px;
		padding:0;
		margin:0 auto;
	}
	
    article{
        margin-bottom:60px;
    }
}  


/*　アキ調整
----------------------------------------------------------*/
.pt-l {	padding-top: 50px;}
.pt-m {	padding-top: 30px;}
.pt-s {	padding-top: 15px;}
.pb-l {	padding-bottom: 50px;}
.pb-m {	padding-bottom: 30px;}
.pb-s {	padding-bottom: 15px;}

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


/* 表示切替
-------------------------------------------------- */
@media screen and (max-width:757px) {
	.pconly {
		display: none;
	}
	.pc_tab {
		display: none;
	}
	.tabonly {
		display: none;
	}
	.tab_sp {
		display: block;
	}
	.sponly {
		display: block;
	}
}

@media screen and (min-width:758px) and (max-width:949px) {
	.pconly {
		display: none;
	}
	.pc_tab {
		display: block;
	}
	.tabonly {
		display: block;
	}
	.tab_sp {
		display: block;
	}
	.sponly {
		display: none;
	}
}

@media screen and (min-width:950px) {
	.pconly {
		display: block;
	}
	.pc_tab {
		display: block;
	}
	.tabonly {
		display: none!important;
	}
	.tab_sp {
		display: none!important;
	}
	.sponly {
		display: none!important;
	}
}

/*　flex
----------------------------------------------------------*/
@media screen and (min-width:950px) {
	.col-flex {
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
	}
	
	.reverse {
        flex-direction: row-reverse;
	}
	
	.end {
        align-items: flex-end;
	}
}


/*　メインビジュアル
----------------------------------------------------------*/
.mainv {
	width:100%;
	margin:20px auto 0 auto;
	}

.lead {
	font-size: 15px;
	margin:30px 7.5% 60px;
	text-align:left;
}

.mainv_copy {
	text-align: right;
	padding:10px 7.5% 0 0;
	
}

@media screen and (min-width:757px) {
	.mainv {
		margin:40px auto 0 auto;
		padding-right: 7.5%;
	}
	
	.lead {
		font-size: 17px;
		margin:30px 7.5% 80px;
	}
	
	.mainv_copy {
		padding-right:0;
	}
}

@media screen and (min-width:950px) {
	.mainv {
		width:100%;
		max-width:1366px;
		margin:60px auto 0 auto;
	}
	.mainv_img {
		position: relative;
	}
	.mainv_copy {
		position: absolute;
		bottom:0;
		right: 0;
		padding:10px 0 0 0;
	}
	.lead {
		font-size: 17px;
		width: 750px;
		margin:50px auto 120px auto;
	}
}

@media screen and (min-width:1367px) {
	.mainv {
		width:1366px;
		padding-right:193px;
	}

	.lead {
		font-size: 17px;
		width: 750px;
		margin:50px auto 120px auto;
	}
}



/*　本文内テキスト
----------------------------------------------------------*/
.txt-01 p{
	margin-bottom:1em;
}

.txt-cap{
	font-size: 12px;
	margin-top:10px;
	margin-bottom:2rem;
}

@media screen and (min-width:758px) {
	.txt-cap{
		font-size: 14px;
	}
}
	
@media screen and (min-width:950px) {
	.txt-cap{
		margin-bottom:0;
	}
}


/*　sec01
----------------------------------------------------------*/
.sec01-img{
    width: 100%;
}

.sec01-img img{
    width: 100%;
}

.sec01-txt{
    margin-top:1rem;
}

@media screen and (max-width:757px) {
	section.sec01{
		padding-right: 0;
	}
	
	section.sec01 p{
		padding-right: 7.5%;
	}
	
}

@media screen and (min-width:950px) {
    .sec01-img{
		width: 58.88%;
        max-width: 530px;
    } 

	.sec01-txt{
        width:41.83%; 
		margin-top:3rem;
		display: flex;
		flex-direction: column-reverse
	}
}

	
/*見出し
----------------------------------------------------------*/
.ttl-01{
	font-size: 20px;
	font-weight: 600;
	line-height:1.5; 
    margin-bottom:10px;
}
	
.ttl-02{
	font-size: 20px;
	font-weight: 600;
	line-height:1.5; 
	margin-bottom:20px;
}
	

@media screen and (min-width:757px) {
    .ttl-01{
		font-size:55px;
        margin-bottom:15px;
    }  
    .ttl-02{
		font-size:28px;
        margin-bottom:40px;
    }  
}	


	
/*　sec02
----------------------------------------------------------*/
.sec02-art01-img img,
.sec02-art02-img img{
    width: 100%;
}

.sec02-art02-col01-ttl{
	text-align: center;
}

@media screen and (max-width:757px) {
	section.sec02{
		margin-top:60px;
		padding-right: 0;
		padding-left: 0;
	}
	
	.sec02-art01-txt01{
		padding-right: 7.5%;
		padding-left: 7.5%;
	}
	
	.sec02-art01-img{
		width: 100%;
		max-width: 450px;
		margin:30px auto 30px auto;
	}
	
	.sec02-art01-img02 {
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
        align-items: flex-end;
		padding-left: 7.5%;
	}
	
	.sec02-art01-img02 img{
		width:52.16%; 
        max-width:193px;
	}
	
	.sec02-art01-img02 p{
		width:38.91%; 
        max-width:144px;
	}
	
	.sec02-art01-img02 .txt-cap{
		margin-bottom:0;
	}
	
	.sec02-art02{
		margin-top:60px;
	}
	
	.sec02-art02-txt01{
		padding-right: 7.5%;
		padding-left: 7.5%;
	}
	
	
}

@media screen and (min-width:758px) and (max-width:949px) {
	section.sec02{
		margin-top:80px;
	}
	
	.sec02-art01-img{
		width: 450px;
		margin:40px auto 40px auto;
	}
	
	.sec02-art01-img02 {
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
        align-items: flex-end;
		width: 450px;
		margin:0 auto 0 auto;
	}
	
	.sec02-art01-img02 img{
        max-width:217px;
	}
	
	.sec02-art01-img02 p{
        max-width:205px;
	}
	
	.sec02-art01-img02 .txt-cap{
		margin-bottom:0;
	}
		
	.sec02-art02{
		margin-top:80px;
	}
}



@media screen and (min-width:950px) {
	
	.container section.sec02{
		margin:120px auto 0 auto;
		max-width:1366px; 
	}
	
	.container section.sec02 .sec02-ttl,
	.container section.sec02 .sec02-art01{
		max-width: 980px;
		margin:0 auto;	
		padding:0;
	}
	
    .sec02-art01-img{
		width: 48.36%;
        max-width: 474px;
    } 

	.sec02-art01-txt01{
        width:43.67%; 
		display: flex;
		flex-direction: column-reverse
	}
	.sec02-art02{
		padding-right: 14%;
	}
	.sec02-art02-col01{
		position: relative;
	}
	
	.sec02-art02-col01 .txt-cap{
		padding-left:14%;
	}
	
	
	.sec02-art02-col01-ttl{
		text-align: right;
	}
	
	.sec02-art02-col01-img{
		width:79.53%;
		max-width:933px;
		margin-top:50px;
	}
	
	.sec02-art02-col01-txt{
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width:368px;
	}

	
	.sec02-art02-flex {
        display: flex;
        justify-content: flex-end;
		margin-top:-80px;
		z-index: 2;
		
	}
	
	.sec02-art02-img02 {
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
        align-items: flex-end;
		width: 775px;
		z-index: 1;	
	}
	
	.sec02-art02-img02-txt{
        width:368px;
	}	
	
	.sec02-art02-img02-img {
        width:350px;
	}	
	
	
}
	
@media screen and (min-width:950px) and (max-width:1173px) {
	
	.sec02-art02{
		padding-right: 20px;
	}
	
	.sec02-art02-col01 .txt-cap{
		padding-left:20px;
	}
	
}

/*　sec03
----------------------------------------------------------*/
.sec03-img{
    width: 100%;
}

.sec03-img img{
    width: 100%;
}

.sec03-art01{
	margin:30px 0;
	}


@media screen and (min-width:758px) {
	section.sec03{
		max-width: 1200px;
		padding:0;
		margin:0 auto;
	}
	
	.sec03-art01{
		display: flex;
        flex-wrap: wrap;
		margin:50px 0;
	}
	
	.sec03-art01 div{
		flex: 1;
	}
	
	.sec03-art02{
		padding:0 7.5%;
	}
}

@media screen and (min-width:950px) {
	section.sec03{
		margin-top:100px;
	}
	
	.sec03-art03{
		max-width: 980px;
		padding:0;
		margin:0 auto;
	}
	
	.sec03-art02-txt{
		column-count: 2;
		column-gap: 9.5%;
		margin-bottom:2em;
		
	}
}


/*　フッター
----------------------------------------------------------*/
.footer{
	border-bottom: 1px solid #ddd;
	text-align: center;
}

.logo{
    width:230px;
    margin:0 auto 20px auto;
}
.btn-01 {
	text-align: center;
	margin-bottom:20px;
}
.btn-01 a {
	background: #000;
	color: #fff !important;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	width: 85%;
	max-width: 400px;
	font-size: 15px;
	display: block;
	margin-left: auto;
	margin-right: auto;
    position: relative;
    height:50px;
	line-height: 50px;
}

@media screen and (min-width:950px) {
    .logo{
        width:382px;
        margin:0 auto 20px auto;
	}
    
	.btn-01 a {
		width: 500;
		height:64px;
        line-height: 64px;
		font-size: 24px;
        padding:0;
	}
}
