@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;
    word-break: break-all;
}

#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: 2;	
}

.container section{
	padding: 25px 7% 0 7%;
	
}

@media screen and (min-width:950px) {
	.container section {
		max-width: 980px;
		padding: 0 0 40px 0;
		margin:0 auto;
	}
}  


/*　アキ調整
----------------------------------------------------------*/
.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;}
}


/*　メインビジュアル
----------------------------------------------------------*/
.lead {
	text-align: left;
}
	
.mainv-img {
	width: 100%;
}
	
.mainv-img img {
	width: 100%;
}

@media screen and (min-width:950px) {
	.mainv {
		margin: 0 auto 90px auto;
		max-width: 1600px;
	}
	
	.mainv-txt {
		max-width: 980px;
		margin:-110px auto 0 auto;
	}
	
	.mainv h1 {
		width:754px;
		margin-bottom:35px;
	}
	.lead {
		font-size: 16px;
		width:700px;
		margin:35px 0 0 auto;
		
	}
}

@media screen and (max-width:949.9px) {
	.mainv {
		margin: 0 auto 50px auto;
	}
	.mainv-txt{
		padding-left: 7%;
		padding-right: 7%;
		margin:-40px auto 0 auto;
	}
	
	.mainv h1 {
		width:100%;
		max-width: 500px;
		margin:0 auto 25px auto;
	}
	
	.mainv h1 img {
		width: 100%;
	}
	
	.lead {
		font-size: 15px;
		line-height: 1.7;
		font-weight: 600;
	}
}

/*見出し
----------------------------------------------------------*/
.ttl-01{
    text-align: center;
    margin:0 auto 20px auto;
	font-size: 21px;
	font-weight: 600;
	line-height:1.3; 
	color:#00ABEB;
}

.ttl-01.ttl-01--mt {
    margin-top: 35px;
}

@media screen and (min-width:950px) {
    .ttl-01{
        margin:0 auto 40px auto;
		font-size:32px;
    }  
    
    .ttl-01.ttl-01--mt {
        margin-top: 80px;
    }
}

/*　本文内画像
----------------------------------------------------------*/
.col-02-img{
    width: 100%;
	margin:0 auto;
}

.col-02-img img{
    width: 90%;
	max-width: 380px;
	margin:0 5%;
}

.caption {
	margin:10px 0 2em 0;
    line-height: 1.3;
    font-size: 0.9em;
    color: #666;
}

.caption p.prof {
	font-size:12px;
	line-height: 1.4;
}
	
.caption h3 {
	font-size:20px;
	text-align: center;
	font-weight: 500;
	}
	
.caption h3 span{
	font-size:15px;
	display: inline-block;
	margin-left:5px;
	}


.caption-02 {
	font-size: 85%;
	color: #666;	
	line-height: 1.3;
	margin: -2em 0 2em 0;
	display: flex;
}

sup {
	color: #666;
}

.img-box{
	margin:2em auto;
}

.img-box.img-box--mb0 {
    margin-bottom: 0;
}

.se02-img {
    margin-bottom: 2em;
}

.img-box h3 {
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    font-size: 120%;
    padding-bottom: 0.5em;
}

.img-last{
	width: 100%;
	margin:2em auto 2em auto;
}

.img-border {
    border: 1px solid #ccc;
}


@media screen and (min-width:950px) {
    .col-02-img{
        max-width: 380px;
		margin:0;
    } 
	
	.col-02-img img{
		width: 100%;
		max-width: 380px;
		margin:0;
	}

	.caption {
		text-align: left;
		margin:15px 0 50px 0;
	}
	
	.caption p.prof {
		font-size:14px;
		margin-bottom:7px;
	}
	
	.caption h3 {
		font-size:26px;
		line-height: 1.2;
		text-align: left;
	}
	
	.caption h3 span{
		font-size:18px;
		display: inline-block;
		margin-left:5px;
	}

	.img-box{
		margin:3em 50px 4em 50px;
	}
    
    .img-box.img-box--big {
        margin: 3em 0 4em 0;
    }
    
    .img-box.img-box--small {
        margin:3em 100px 4em 100px;
    }
    
    .img-box h3 {
        font-size: 140%;
        padding-bottom: 0.8em;
    }
	
    .se02-img {
        max-width: 820px;
        margin: 1em auto 5em auto;
    }
    
	.img-last{
		margin:1.5em auto 6em auto;
	}

}


/*　本文内テキスト
----------------------------------------------------------*/
.txt-01{
	margin-bottom:1.2em;
}

@media screen and (min-width:950px) {
    .txt-01{
        margin-bottom: 2em;
    }
}

.txt-01-name{
	font-weight: 600;
	display: block;
	width: 3em;
}
.txt-01-name.color1{
	color:#F29D52;
}
.txt-01-name.color2{
	color:#7BBE4F;
}

.txt-01-txt{
	display: block;
	width: calc(100% - 3em)
}


/*　col
----------------------------------------------------------*/
@media screen and (min-width:950px) {
	.col-01 {
		width:750px;
		margin:0 auto;
	}
	.col-02 {
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between;
	}
	
	.col-02.reverse {
        flex-direction: row-reverse;
	}
	

	.col-02-txt{
        width:54.59%; 
	}
}

/*　bgcolor
----------------------------------------------------------*/
.bgcolor1 {
	width: 100%;
	padding: 0 0 60px 0;
	background: url("bg01.svg") center bottom 0 no-repeat;
	background-size: 100%;
}

.bgcolor2 {
	width: 100%;
	padding: 0 0 60px 0;
	background: url("bg02.svg") center bottom 0 no-repeat;
	background-size: 100%;
	background-color: #f0fafe;
	margin-top:-2px;
}

.bgcolor3 {
	background-color: #fff;
	margin-top:-2px;
}


@media screen and (min-width:950px) {
	.bgcolor1 {
		padding: 0 0 120px 0 ;
	}
	.bgcolor2 {
		padding: 0 0 120px 0 ;
	}
}


/*　フッター
----------------------------------------------------------*/
.footer{
	border-bottom: 1px solid #ddd;
	text-align: center;
    padding-left: 25px;
    padding-right: 25px;
}

.footer a {
    line-height: 1.3;
    display: inline-block;
}

.logo{
    width: 70%;
    max-width:360px;
    margin:0 auto 20px auto;
}

.btn-01 {
	text-align: center;
}
.btn-01 a {
	background: #00ABEB;
	color: #fff !important;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	width: 100%;
	max-width: 400px;
	font-size: 15px;
	display: block;
    position: relative;
    height:50px;
	line-height: 50px;
	margin:0 auto 20px auto;
	box-shadow: 0 0 10px #bbb;
}

.btn-01 a:after{
  position: absolute;
  right:15px;
  top:16px;
  content: "";
  display: inline-block;
  width: 10px;
  height: 18px;
  background: url("btn_icon.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
}

@media screen and (min-width:950px) {
    .logo{
        margin:0 auto 20px auto;
	}
	.container section.btnarea{
        display: flex;
        flex-wrap: wrap;
        justify-content:center;
		gap:10px 30px;
	}
    
	.btn-01 a {
		width: 440px;
		height:60px;
        line-height: 60px;
		font-size: 18px;
        padding:0;
	}
    
    .btn-01 a:after{
        right:20px;
        top:21px;
    }
}


/*　バックナンバー
----------------------------------------------------------*/

.container section.bn-area {
	max-width: 880px;
	padding: 0 25px;
	margin:10px auto;
}

.bn-ttl {
	text-align: center;
	font-size: 20px;
	line-height: 1.2;
}

.bn-item {
	margin-top: 15px;
	display: block;
	text-decoration: none;
	background: #F0FAFE;
}

.bn-item-text {
	font-weight: bold;
	text-align: left;
	font-feature-settings: "palt";
	line-height: 1.25;
	padding: 15px;
}

.bn-item-text-main {
	font-size: 140%;
	margin-top: 3px;
	color: #333;
}

.bn-item-text-sub {
	color: #00ABEB;
}


@media screen and (min-width:758px) {
	.bn-ttl {
		font-size: 28px;
	}
	
	.bn-item {
		display: flex;
		justify-content: space-between;
		padding: 12px;
	}
		
	.bn-item-img {
		width: 24%;
	}
	
	.bn-item-text {
		width: 75%;
		font-weight: bold;
		display: flex;
		align-items:center;
		flex-wrap: wrap;
		background: url("btn_icn_02.svg") no-repeat 98% center;
	}
		
}

.kakomi {
    border: 2px solid #00ABEB;
    padding: 15px 20px;
    line-height: 1.6;
    position: relative;
    max-width: 800px;
    margin: 0 auto;
}

.kakomi-txt {
    padding-top: 1em;
}

.kakomi .caption {
    margin: 5px 0 0 0;
}

.kakomi-ttl {
    font-size: 17px;
    line-height: 1.2;
    padding-left: 65px;
}

@media screen and (min-width:758px) {
    .kakomi {
        padding: 50px;
    }   
    
    .kakomi-img {
        text-align: center;
        padding: 15px 7% 0 7%;
    }
    
    .kakomi-ttl {
        font-size: 22px;
        padding-left: 110px;
        padding-bottom: 25px;
    }
    
    .kakomi:before {
        content: "";
        width: 125px;
        height: 136px;
        position: absolute;
        display: block;
        background: url("oricon.jpg") no-repeat center center;
        background-size: contain;
        left: 30px;
        top: -30px;
    }
}

@media screen and (max-width:757.9px) {
    .kakomi-ttl-sp {
        display: flex;
        width: calc(100% + 19px);
        margin: -14px 0 -14px -19px; 
        align-items: center;
    }


    .kakomi-ttl-sp dt {
        width: 45%;
    }

    .kakomi-ttl-sp dd span {
        display: inline-block;
    }

    .kakomi-ttl-sp dd {
        width: 55%;
        line-height: 1.3;
        font-weight: bold;
        font-size: 17px;
    }
}

.oricon-caption {
    font-size: 50%;
    line-height: 1.2;
    font-weight: normal;
    display: block;
    color: #666;
    padding-top: 0.3em;
}