@charset "utf-8";

/*　タイアップサイト用
-------------------------------------------------*/
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: justify;
	line-height: 1.8;	
}

section{
	padding-left: 7.5%;
	padding-right: 7.5%;
	
}

@media screen and (min-width:950px) {
	section {
		max-width: 1086px;
		margin:0 auto;
		padding:0;
	}
	
    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;
	}
	
	.center {
        align-items: center;
	}
	
	.justify_center {
		justify-content:center;
		gap: 20px;
	}
	
	.justify_center .btn-02:nth-child(3) {
		margin-top: 0;
	}
	
}


/*　メインビジュアル
----------------------------------------------------------*/
.mainv {
	width:100%;
	margin:0 auto 0 auto;
	position: relative;
	}

.mainv_txt{
	position: absolute;
	z-index: 2;
	bottom: 11%;
	width: 618px;
	text-align: justify;
	left: 6%;
}

.mainv_txt h1{
	width:588px;
}

.mainv_txt p{
	font-size:17px;
	line-height: 1.76;
	margin-top: 30px;
}

@media screen and (min-width:950px) {
	.mainv {
		width:100%;
		margin:0 auto 0 auto;
	}
	
	.slider-item01 {
		background:url("mainv01-pc.jpg");
	}
	
	.slider-item02 {
		background:url("mainv02-pc.jpg");
	}
	
	.slider-item {
		width: 100%;
		height:600px;
		background-repeat: no-repeat;
		background-position: right;
		background-size: contain;
	}

}

@media screen and (min-width:1367px) {
	.mainv {
		max-width: 1366px;
	}
}


/*　本文内テキスト
----------------------------------------------------------*/
.txt-01 p{
	margin-bottom:1em;
}

.txt-cap{
	font-size: 12px;
	margin-top:10px;
	color:#777;
	line-height: 1.4;
}
	
@media screen and (min-width:950px) {
	.txt-cap{
		font-size: 13px;
	}
}

.txt-cap2{
	font-size: 12px;
	margin-top:10px;
	color:#666;
	line-height: 1.4;
	text-align: right;
}
	
@media screen and (min-width:950px) {
	.txt-cap2{
		font-size: 13px;
	}
}
	
/*見出し
----------------------------------------------------------*/
.ttl-01{
	font-size: 19px;
	font-weight: 500;
	line-height:1.5; 
    margin-bottom:15px;
}
	
.ttl-02{
	font-size: 17px;
	font-weight: 500;
	line-height:1.5; 
	margin-bottom:5px;
}
	
.ttl-03{
	font-size: 14px;
	font-weight: 500;
	line-height:1.5; 
	margin-bottom:15px;
}
	

@media screen and (min-width:757px) {
    .ttl-01{
		font-size:24px;
        margin-bottom:15px;
    }  
    .ttl-02{
		font-size:20px;
        margin-bottom:5px;
    }   
    .ttl-03{
		font-size:14px;
        margin-bottom:15px;
    }  
}	


/*　sec01
----------------------------------------------------------*/
section.sec01{
	margin:40px auto 0 auto;
	width:100%;
	max-width:700px; 
}

.sec01-img{
    width: 100%;
	margin:1.5rem 0;
}


.sec01-img img{
    width: 100%;
}

.sec01-txt{
    margin-top:1rem;
}

@media screen and (min-width:950px) {
	section.sec01{
		margin:80px auto 0 auto;
	}
	.sec01-img{
		width: 100%;
		margin:3rem 0;
	}
}


	
/*　sec02
----------------------------------------------------------*/
.sec02-art01{
	margin:30px auto 0 auto;
	border:1px solid #E5E5E5;
	padding:30px 20px;
	font-size: 14px;
	line-height: 1.66;
}
.sec02-art01-img{
    width: 100%;
	margin:1rem 0 0 0;
	text-align: center;
}
.sec02-art01-img p{
	text-align: justify;
}

.sec02-art01-img img{
	width: 100%;
	max-width:520px;
}

@media screen and (min-width:950px) {
	.sec02-art01{
		margin:80px auto 0 auto;
		max-width:1086px; 
		padding:50px;
		font-size: 15px;
	}
	
    .sec02-art01-img{
		width: 52.73%;
    } 

	.sec02-art01-txt01{
        width:44%; 
		padding:0;
	}
	
	.sec02-art02{
		padding-right: 14%;
	}
}

	
/*　sec03
----------------------------------------------------------*/
.sec03-border{
	border:1px solid #E5E5E5;
	padding:30px 20px;
}

.sec03-art01{
	margin:0 auto 10px auto;
	font-size: 14px;
	line-height: 1.66;
}
	
.sec03-art01-img01,
.sec03-art01-img02{
    width: 100%;
	text-align: center;
}
	
.sec03-art01-img01 p,
.sec03-art01-img02 p{
	text-align: justify;
}

.sec03-art01-img01 img{
    width: 100%;
    max-width: 460px;
	margin-top:1rem;
}
.sec03-art01-img02 img{
    width: 100%;
    max-width: 469px;
	margin-top:2rem;
}

.sec03-art01-img01 p,
.sec03-art01-img02 p{
	text-align: center;
}


@media screen and (min-width:758px) and (max-width:949px) {
	.sec03-border{
		padding:30px;
	}
	.sec03-art01{
		margin:0 auto 20px auto;
	}
	.sec03-art01-img01 p,
	.sec03-art01-img02 p{
		text-align: center;
	}
}

@media screen and (min-width:950px) {
	.sec03-border{
		padding:50px;
	}
	.sec03-art01{
		margin:0 auto 50px auto;
		max-width:1086px; 
		position: relative;
	}

	.sec03-art01-txt01{
        width:48%; 
		padding:0;
	}

	.sec03-art01-txt01 p{
        max-width: 31em;
	}
	
    .sec03-art01-img01{
		width: 46.65%;
		max-width: 469px;
		margin-top:-1rem;
    } 
	
    .sec03-art01-img01 p{
		padding-left:20%;
    } 
	
    .sec03-art01-img02{
		width:48%; 
		position: absolute;
		bottom:0;
		right:42%;
		max-width: 460px;
    } 
	
	.sec03-art01-img01 p,
	.sec03-art01-img02 p{
		text-align: justify;
	}
}


/*　sec04
----------------------------------------------------------*/
.sec04-art01{
	margin:30px auto 0 auto;
	border:1px solid #E5E5E5;
	padding:30px 20px;
	font-size: 14px;
	line-height: 1.66;
}
.sec04-art01-img{
    width: 100%;
	margin:20px 0 30px 0;
	text-align: center;
}
.sec04-art01-img p{
	text-align: center;
}

.sec04-art01-img img{
	width: 100%;
	max-width:624px;
}

@media screen and (min-width:950px) {
	.sec04-art01{
		margin:80px auto 0 auto;
		max-width:1086px; 
		padding:50px 40px;
		font-size: 15px;
	}
	
    .sec04-art01-img{
		width: 63.28%;
		margin:20px 0 30px 0;
    } 

	.sec04-art01-txt01{
        width:33.67%; 
		padding:0;
	}
	
	.sec04-art02{
		padding-right: 14%;
	}
}

/*　btn-02
----------------------------------------------------------*/
.btn-02 {
	text-align: center;
	margin-top:25px;
}

.btn-02:nth-child(n+2) {
	margin-top:10px;
}

.btn-02 a {
	background: #514A42;
	color: #fff !important;
	text-decoration: none;
	font-weight: 500;
	text-align: center;
	width: 100%;
	max-width: 450px;
	font-size: 14px;
	display: block;
	margin-left: auto;
	margin-right: auto;
    position: relative;
    height:50px;
	line-height: 50px;
	font-feature-settings: "palt";
}

.btn-02 a:after{
  position: absolute;
  right:10px;
  top:17px;
  content: "";
  display: inline-block;
  width: 10px;
  height: 16px;
  background: url("btn_icon.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (max-width:757px) {
	.btn-02.btn-02--2line a {
		line-height: 1.3;
		height: auto;
		padding-top: 10px;
		padding-bottom: 10px;
		min-height: 50px;
	}
	
}

@media screen and (min-width:950px) {
	.btn-02:nth-child(n+2) {
		margin-top:25px;
	}
	
	.btn-02 a {
		width: 460px;
		height:52px;
        line-height: 52px;
		font-size: 17px;
        padding:0;
	}
    
	.btn-02.short a {
		width: 370px;
	}
	    
    .btn-02 a:after{
        right:20px;
        top:18px;
    }
}


/*　フッター
----------------------------------------------------------*/
.footer{
	border-bottom: 1px solid #ddd;
	text-align: center;
}

.logo{
    width:150px;
    margin:0 auto 40px auto;
}

.logo img{
    width:100%;
}

.btn-01 {
	text-align: center;
	margin-bottom:20px;
}
.btn-01 a {
	background: #514A42;
	color: #fff !important;
	text-decoration: none;
	font-weight: 400;
	text-align: center;
	width: 85%;
	max-width: 350px;
	font-size: 15px;
	display: block;
	margin-left: auto;
	margin-right: auto;
    position: relative;
    height:50px;
	line-height: 50px;
}

.btn-01 a:after{
  position: absolute;
  right:15px;
  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) {
    .logo{
        width:209px;
        margin:0 auto 60px auto;
	}
    
	.btn-01 a {
		width: 460px;
		height:64px;
        line-height: 64px;
		font-size: 20px;
        padding:0;
	}
	    
    .btn-01 a:after{
        right:20px;
        top:23px;
    }
}
