@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:758px) and (max-width:949px) {
	section {
		padding-left: 5%;
		padding-right: 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-left: 7.5%;
	}
	
	.lead {
		font-size: 17px;
		margin:30px 7.5% 80px;
	}
	.mainv_img {
		position: relative;
	}
	
	.mainv_copy {
		text-align: left;
		position: absolute;
		bottom:0;
		left: 0;
		padding:10px 0 0 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;
		left: 20px;
		padding:10px 0 0 0;
	}
	.lead {
		font-size: 17px;
		width: 750px;
		margin:50px auto 120px auto;
	}
}

@media screen and (min-width:1366px) {
	.mainv {
		width:1366px;
		padding-left: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;
	line-height: 17px;
}

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

	
/*見出し
----------------------------------------------------------*/
.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;
	letter-spacing: 0;
	text-align: center;
	padding-right: 7.5%;
	margin-top:60px;
}
	

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


@media screen and (min-width:950px) {
    .ttl-02.-pcsmr{
		font-size:27px;
		text-align: left;
    }  
	
    .ttl-02.-pcright{
		text-align: right;
    }  
    .ttl-02.-pcleft{
		text-align: left;
    }  
}	


/*　sec01
----------------------------------------------------------*/
.sec01-img{
    width: 100%;
	max-width: 578px;
	margin:0 auto;
}

.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.979%;
        max-width: 578px;
		margin:0;
    } 

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

	
/*　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.sec02-img{
		padding-right: 0;
		padding-left: 0;
	}
}


@media screen and (max-width:949px) {
	section.sec02{
		margin-top:40px;
		padding-right: 7.5%;
		padding-left: 7.5%;
	}
	
	.sec02-art01-img{
		width: 76.76%;
		margin:30px 0 30px auto;
        max-width: 376px;
	}
	
	.sec02-art02{
		margin-top:-60px;
	}
	
	.sec02-art02-img{
		width: 62.94%;
		margin:0 auto 20px 0;
		max-width:309px;
	}
}

@media screen and (min-width:950px) {
	.container section.sec02{
		margin:120px auto 0 auto;
		max-width:1094px;
		padding-right:57px;
	}
	
	.container section.sec02 .sec02-art01{
		width: 1000px;
		margin:0 0 0 auto;	
		padding:0 0 0 20px;
		align-items: center;
	}
	
    .sec02-art01-img{
		width: 38.36%;
        max-width: 376px;
		margin:0 0 0 0;
    } 

	.sec02-art01-txt{
        width:43.67%; 
		display: flex;
	}
	
	.sec02-art02{
		width:665px;
		padding-left:80px;
		margin:-40px auto 0 auto;
        display: flex;
		z-index: 2;
		flex-direction: row-reverse;
        justify-content:space-between;
		align-items: flex-end;
	}
	.sec02-art02-img{
		width:309px;
	}
	
	.sec02-art02-txt{
		width:243px;
	}
}

/*　sec03
----------------------------------------------------------*/
section.sec03{
	padding-right: 0;
	padding-left: 0;
}

.sec03-art01-img{
    width: 100%;
	margin:0 auto;
}

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

.sec03 .txt-01-01{
		padding:40px 7.5% 20px 7.5%;
}



@media screen and (max-width:949px) {
	.sec03 .txt-01-02{
		padding:0 0 0 7.5%;
		display: flex;
        justify-content:space-between;
		align-items: center;
	}
	
	.sec03 .txt-01-02-txt{
		width:44.05%;
	}
	.sec03 .txt-01-02-img{
		width:51.35%;
	}
}


@media screen and (min-width:950px) {
	section.sec03{
		width:100%;
		max-width:1366px;
		margin:120px auto 0 auto;
	}
	
	.sec03-art01{
		display: flex;
        flex-wrap: wrap;
		margin:50px 0;
		align-items: flex-end;
        justify-content:flex-start;
	}
	
	.sec03-art01-img{
		width:50%;
		max-width: 683px;
		margin:0 10.4% 0 0;
	}
	
	.sec03-art01-txt{
		max-width: 368px;
		display: flex;
	}
	
	.sec03 .txt-01-02-txt{
		width:257px;
		margin:30px 0 30px auto;
	}
	
	.sec03 .txt-01-02-img{
		max-width: 364px;
	}
	.sec03 .txt-01-01{
		padding:40px 0 20px 0;
	}
	
}

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


/*　sec04
----------------------------------------------------------*/
section.sec04{
	padding-right: 0;
	padding-left: 0;
	margin:60px auto 30px auto;
}

.sec04-art01-img{
    width: 100%;
	margin:0 auto;
}

.sec04-art01-img img{
    width: 100%;
}

.sec04 .txt-01-01{
		padding:40px 7.5% 20px 7.5%;
}



@media screen and (max-width:949px) {
	.sec04 .txt-01-02{
		padding:0 7.5%;
		display: flex;
        justify-content:space-between;
		align-items: center;
		flex-direction:column-reverse;
	}
	
	.sec04 .txt-01-02-txt{
		width:82.35%;
		margin:0 0 0 auto;
	}
	.sec04 .txt-01-02-img{
		width:82.35%;
		margin:0 0 0 auto;
	}
}


@media screen and (min-width:950px) {
	section.sec04{
		width:100%;
		max-width:1366px;
		margin:120px auto 80px auto;
	}
	
	.sec04-art01{
		display: flex;
        flex-wrap: wrap;
		margin:50px 0;
		align-items: flex-end;
		flex-direction: row-reverse;
        justify-content:flex-start;
	}
	
	.sec04-art01-img{
		width:63.51%;
		max-width: 745px;
		margin:0;
	}
	
	.sec04-art01-txt{
		width:31.37%;
		max-width: 368px;
		margin-right:3.58%;
	}
	
	.sec04 .txt-01-02-txt{
		margin:30px 0;
	}
	
	.sec04 .txt-01-02-img{
		max-width: 386px;
	}
	.sec04 .txt-01-01{
		padding:40px 0 20px 0;
	}
	
}

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


/*　フッター
----------------------------------------------------------*/
.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;
	}
}
