@charset "utf-8";

/*===================================
  
  トップページCSS（PC） ※編集不可※

===================================*/


.index .main_blk{
	background: url("../img/img-index/bg_main_pc.jpg") no-repeat center;
	background-size: cover;
}
.index .main_blk>div{
	padding: 4% 0 19%;
	position: relative;
}
.index .main_blk>div .mv_bnr{
	position: absolute;
	bottom: 25px;
	left: 2%;
	max-width: 230px;
	animation: fuwafuwa 2s linear infinite;
}
.index .main_blk>div .mv_bnr img{
	display: block;
	width: 100%;
}


@keyframes fuwafuwa {
	0% {
	  transform: translateY(0);
	}
	50% {
	  transform: translateY(-10%);
	}
	100% {
	  transform: translateY(0);
	}
  }

.index .main_blk>div .img01{
	position: absolute;
	bottom: 8%;/*bottom: 18%;*/
	left: 5%;/*left: 2%;*/
}
.index .main_blk>div .img02{
	padding-top: 13%;
	padding-left: 23%;
	text-align: center;
}
@media(max-width:1366px){
	.index .main_blk>div .img01 img{
		width: 190px
	}
	.index .main_blk>div .img02{
		padding-left: 19%;
	}
	.index .main_blk>div .img02 img{
		width: 370px;
	}
	.index .main_blk>div .img01{
		bottom: 15%;
		left: 16%;
	}
	.index .main_blk>div{
		padding: 3% 0 16%;
	}
}
@media(max-width:1298px){
	.index .main_blk>div .img01 img{
		width: 170px
	}
	.index .main_blk>div .img02 img{
		width: 350px;
	}/*
	.index .main_blk>div .img01{
		
	}*/
}

.index p.first{
	color: #444444;
	font-size: 2rem;
	font-weight: bold;
	line-height: 2em;
	text-align: center;
	padding-top: 30px;
}
/*ブロック１*/
.index #contents .block_01a{
	display: flex;
	padding: 50px 2% 30px;
}
.index .block_01a .blk01{
	width: 33.3%;
}
.index .block_01a a:hover{
	opacity: 0.9;
}
.index .block_01a a:hover p,
.index .block_01a a:hover dl{
	opacity: 0.8
}
.index .block_01a .blk01 p.img{
	text-align: center;
	padding-bottom: 10px;
}
.index .block_01a .blk01 p.img img{
	max-width: 100%;
}
.index .block_01a .blk01 dl{
	padding: 0 17%;
}
.index .block_01a .blk01 dl dt{
	font-size: 2rem;
	font-weight: bold;
	color: #0E0E0E;
	text-align: center;
	padding-bottom: 11px;
	position: relative;
}
.index .block_01a .blk01 dl dt span{
	font-size: 1.4rem;
	display: block;
	color: #BCB55C;
}
.index .block_01a .blk01 dl dt:after{
	position: absolute;
	content: "";
	display: block;
	width: 68px;
	height: 6px;
	background-color: #FFE700;
	left: 50%;
	bottom:0;
	transform: translateX(-50%);
}
.index .block_01a .blk01 dl dd{
	padding-top: 9px;
}

.index .block_01b .inner{
	display: flex;
	width: 840px;
	margin: 0 auto;
}
.index .block_01b .blk01{
	width: 4200px;
}
.index .block_01b a:hover{
	opacity: 0.9;
}
.index .block_01b a:hover p,
.index .block_01b a:hover dl{
	opacity: 0.9
}
.index .block_01b .blk01 p.img{
	text-align: center;
	padding-bottom: 10px;
}
.index .block_01b .blk01 p.img img{
	max-width: 100%;
}
.index .block_01b .blk01 dl{
	padding: 0 19%;
}
.index .block_01b .blk01 dl dt{
	font-size: 2rem;
	font-weight: bold;
	color: #0E0E0E;
	text-align: center;
}
.index .block_01b .blk01 dl dt span{
	font-size: 1.2rem;
	display: block;
	padding-bottom: 11px;
	position: relative;
}
.index .block_01b .blk01 dl dt span:after{
	position: absolute;
	content: "";
	display: block;
	width: 68px;
	height: 6px;
	background-color: #FFE700;
	left: 50%;
	bottom:0;
	transform: translateX(-50%);
}
.index .block_01b .blk01 dl dd{
	padding-top: 9px;
}



/*ブロック２*/
.index #contents .block_02{
	background: url("../img/img-index/bg_01.jpg") no-repeat right top;
	background-size: contain;
	padding: 37px 0 42px;
	width: 1070px;
	margin-top: 20px;
	margin-bottom: 140px;
}
.index .block_02 .ttl{
	font-weight: bold;
	font-size: 2.6rem;
	padding-bottom: 40px;
}
.index .block_02 .txt{
	line-height: 2em;
	width: 48%;
	font-size: 1.6rem;
}
.index .block_02 .name{
	font-size: 1.6rem;
	text-align: right;
	width: 48%;
}
.index .block_02 .name b{
	font-size: 2.5rem;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	display: inline-block;
	padding-left: 10px;
}
.index .block_02 .btn{
	width: 48%;
	text-align: right;
	padding-top: 90px;
}
.index .block_02 .btn a{
	color: #fff;
	font-weight: bold;
	background: url("../img/img-index/bg_btn.png") no-repeat center;
	background-size: contain;
	width: 326px;
	padding:3.6% 14% 4% 5% ;
	display: inline-block;
	height: auto;
	line-height: normal;
	letter-spacing: normal;
}
/*ブロック３*/
.index #contents .block_03{
	background: url("../img/img-index/bg_02.gif") no-repeat center;
	background-size: cover;
	padding: 22px 1% 80px;
}
.index .block_03 .blk01{
	display: flex;
	padding-top: 60px;
}
.index .block_03 .blk01 .blk02{
	width: 33.3%;
}
.index .block_03 .blk01 .blk02 .img{
	text-align: center;
}
.index .block_03 .blk01 .blk02 .ttl{
	font-weight: bold;
	text-align: center;
	font-size: 1.8rem;
	padding-top: 10px;
	padding-bottom: 15px;
	line-height: 1.4em;
}
.index .block_03 .blk01 .blk02 ul{
	padding: 0 17% 10px;
}
.index .block_03 .blk01 .blk02 ul li{
	padding-left: 20px;
    position: relative;
}
.index .block_03 .blk01 .blk02 ul li:before{
	position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50px;
    background-color: #FFE600;
    left: 0;
    top: 0.5em;
}
.index .block_03 .blk01 .blk02 p.txt{
	padding: 0 17% 0;
	line-height: 1.5em;
}
.index .block_03 .blk01 .blk02 a{
	text-decoration: underline;
}
.index .block_03 .blk01 .blk02 a:hover{
	text-decoration: none;
}
.index .block_03 .blk01 .blk02:first-of-type p.txt{
	padding: 0 17% 10px;
}
/*ブロック４*/
.index #contents .block_04{
	padding: 70px 5% 50px;
}
.index #contents .block_04 .blk01{
	display: flex;
	flex-wrap: wrap;
}
.index #contents .block_04 .blk01 .blk02{
	width: 33.3%;
	padding-bottom: 30px;
}
.index #contents .block_04 .blk01 .blk02 p{
	text-align: center;
	font-size: 1.4rem;
	padding-bottom: 10px;
}
.index #contents .block_04 .blk01 .blk02 p.img img{
	width: 221px;
	height: auto;
	margin-left: 4%;
}
.index #contents .block_04 .btn{
	text-align: center;
	padding-top: 20px;
	margin-left: 1%;
}
.index #contents .block_04 .btn a{
	color: #fff;
    font-weight: bold;
    background: url(../img/img-index/bg_btn02.png) no-repeat center;
    background-size: contain;
    width: 225px;
    padding: 13px 50px 13px 10px;
    display: inline-block;
    height: auto;
    line-height: normal;
    letter-spacing: normal;
	letter-spacing: 0.1em;
}

/*ブロック５*/
.index #contents .block_05{
	background: url("../img/img-index/bg_04.gif") no-repeat right bottom 2px;
	background-size: 61%;
	padding: 35px 0 0;
	margin-bottom: 70px;
}
.index #contents .block_05 .blk01{
	display: flex;
	padding: 0 5%
} 
.index #contents .block_05 .blk01 .img{
	position: relative;
	z-index: 1;
}
.index #contents .block_05 .blk01 .img img{
	position: relative;
	z-index: 1;
}
.index #contents .block_05 .blk01 .img:after{
	position: absolute;
	display: block;
	content:"";
	width:368px;
	height: 162px;
	background: url("../img/img-index/bg_03.gif") no-repeat center;
	background-size: contain;
	top: 0;
	right: -315px;
	z-index: 0;
}
.index #contents .block_05 .blk01 .txt{
	position: relative;
	z-index: 1;
	line-height: 2.2em;
	font-size: 1.6rem;
	padding-left: 12%;
	letter-spacing: 0.07em;
	padding-top: 42px;
}

/*ブロック６*/
.index #contents .block_06{
	margin-top: 50px;
	padding:  50px 0 60px
}
.index .block_06 h2{
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
	padding-bottom: 44px;
}
.index .block_06 h2 span{
	display: inline-block;
	padding: 40px 50px 0;
	background: url("../img/img-index/bg_05.gif") no-repeat center;
	background-size: contain;
}
.index .block_06 .blk01{
}
.index .block_06 .blk01>p.img{
	padding-top: 68px;
}
.index .block_06 .blk01>p.img img{
	width: 170px;
	height: auto;
}
.index .block_06 .blk01 .blog01{
}
.index .block_06 .blk01 .blog01 iframe{
	width: 100%;
}
.index .block_06 p.btn{
	text-align: center;
	padding-top: 10px;
}
.index .block_06 p.btn a{
	color: #fff;
    font-weight: bold;
    background: url(../img/img-index/bg_btn02.png) no-repeat center;
    background-size: contain;
    width: 200px;
	padding-right: 35px;
    letter-spacing: normal;
	font-size: 1.4rem;
}

/*ブロック７*/
.index .block_07{
	position: relative;
}
@media (min-width: 1600px){
	.index .block_07 .container3{
		width:1350px!important;
	}
}
 
.index .block_07 .bg_gray{
	background:linear-gradient(to right, #F7F7F7, #F7F7F7 80%, #FFF 80%, #FFF 80%);
	position: relative;
}
.index .block_07 .bg_gray .inner{
	position: relative;
}
.index .block_07 .bg_gray div p.img02{
	position: absolute;
	right: 0;
	top:-16px;
	width:405px;
	text-align: center;
}
.index .block_07 h2{
	font-size: 2.8rem;
	font-weight: bold;
	border-bottom: 3px solid #0E0E0E;
	margin-bottom: 20px;
}
.index .block_07 h2 span{
	font-size: 1.2rem;
	display: inline-block;
	padding-left: 38px;
}
.index .block_07 .btn{
    padding-top: 5px;
	text-align: right;
}
.index .block_07 .btn a{
	color: #fff;
    font-weight: bold;
    background: url(../img/img-index/bg_btn02.png) no-repeat center;
    background-size: contain;
    width: 184px;
    padding-right: 35px;
    font-size: 1.5rem;
	display: inline-block;
	letter-spacing: 0.2em;
}
.index .block_07 .blog02{
	width: 60%;
	padding: 33px 0 33px 10%;
}
.index .block_07 .blog02 iframe{
	width: 700px;
}
.index .block_07 .img02{
	position: absolute;
	right: 0;
	top:0;
}
.index #contents .block_08{
	padding:  50px 0 0px;
}
.index #contents .block_08 .fb{
	text-align: center;
}

/*------------------------------------
共通タイトル
------------------------------------*/
.index .c_cmn_ttl02 b{
	letter-spacing: normal;
	font-size: 2.6rem;
	position: relative;
}
.index .c_cmn_ttl02 b:before{
	display: block;
	position: absolute;
	content: "";
	width: 1px;
	height: 89px;
	background-color: #444444;
	left: 50%;
	top: -104px;
}
.index .c_cmn_ttl02 span{
	color: #545454;
	font-size: 1.6rem;
	font-weight: bold;
}


/*------------------------------------
メインバナー01(ホバー時文字動きあり)
------------------------------------*/

.cmn_main_block01 .ttl {
	padding:25% 0;
	color:#FFF;
	text-align:center;
	font-size:3.5rem;
	position: relative;
	z-index:3;
	-webkit-transition:	all 1s ease;
	transition:			all 1s ease;
	
}
.cmn_main_block01 .ttl span{
	font-size:1.4rem;
	position: relative;
	padding:10px 0 0;
	display: block;
}
.cmn_main_block01 .ttl span::before {
    content: " ";
    width: 40px;
    height: 1px;
    border-bottom: 1px solid #FFF;
    position: absolute;
    top: -7px;
    left: 44%;
}
.cmn_main_block01 .blk{
	position: relative;
	overflow: hidden;
	
}
.cmn_main_block01 .blk img{
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	display: block;
	transition-duration: 0.3s;
}
.cmn_main_block01 .blk a:hover img {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}
.cmn_main_block01 .blk .caption {
	color:				#fff;
	padding-top:		30%;
	padding-left:		0px;
	z-index:3;
	position: relative;
	text-align:left;
}
.cmn_main_block01 .blk .mask {
	width:				100%;
	height:				100%;
	position:			absolute;
	top:				0;
	left:				0;
	opacity:			0;
	background-color:	rgba(0,0,0,0.55);
	-webkit-transition:	all 0.8s ease;
	transition:			all 0.8s ease;
	z-index:2;
	text-align:left;
	padding:		0 5%;
}
.cmn_main_block01 .blk:hover .mask {
	opacity:			1;
	
}
.cmn_main_block01 .blk:hover .ttl{
	padding:5% 0 44.9%;
	-webkit-transition:	all 0.6s ease;
	transition:			all 0.6s ease;
}
.ipad .cmn_main_block01 .blk:hover .ttl{
	padding:25% 0;
	
}
.cmn_main_block01 .blk .arrow {
    display: block;
    right: -16px;
    height: 7px;
    fill: none;
    stroke: #00a4dc;
    stroke-width: 2;
    transition: stroke-dashoffset .6s cubic-bezier(0.215, 0.61, 0.355, 1);
	position: absolute;
	top: calc(50% - 5px);
	width: 64px;
    stroke-dasharray: 69px 138px;
	z-index:2;
}
.cmn_main_block01 .blk .arrow{
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0 2em 0 0.5em;
	border-bottom: 2px solid #FFF;
	line-height: 1em;
	text-align: right;
	float: right;
}
.cmn_main_block01 .blk .arrow::after{
	position: absolute;
    right: 0;
    bottom: -4px;
    width: 15px;
    height: 9px;
    border-top: 2px solid #FFF;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    content: "";
}



/*------------------------------------
メインバナー02(ホバー時文字動きあり)
------------------------------------*/

.cmn_main_block02{
	background:#F2EFEA;
}
.cmn_main_block02 .ttl{
	font-size:2.4rem;
	line-height: 1.5;
}
.cmn_main_block02 .ttl em{
	font-size:3.0rem;
}
.cmn_main_block02 .image01 a dl{
	background: url(../img/img-index/features_img01.jpg) no-repeat right top;
	background-size:cover;
	display: block;
	height: 390px;
	position: relative;
}
.cmn_main_block02 a p.txt{
	background: #FFF;
    padding: 30px 50px 12%;
    text-align: left;
	font-weight: bold;
	max-width: 670px;
}
.cmn_main_block02 .image02,
.cmn_main_block02 .image03{
	max-width: 670px;
}
.cmn_main_block02 .box{
	padding: 0 3% 0 0;
}
.cmn_main_block02 dl{
	position: relative;
    margin: auto;
    width: 64%;
    text-align: center;
    display: table;
	z-index: 10;
}
.cmn_main_block02 .image01 dl{
	padding:22% 0;
}
.cmn_main_block02 .image02 dl{
	padding:13% 0;
}
.cmn_main_block02 .image03 dl{
	padding:13% 0;
}
.cmn_main_block02 div dl{
	width: 100%;
	text-align: center;
}
.cmn_main_block02 .container3{
	width:90%;
	margin:0 auto;
}
.cmn_main_block02 div dl dt,
.cmn_main_block02 div dl dd{
	color:#fff;
	letter-spacing: 0.2em;
}
.cmn_main_block02 div dl dt{
	text-align: center;
	font-size: 3.5rem;
	position:relative;
	letter-spacing: 0.05em;
	line-height: 1;
}
.cmn_main_block02 div dl dt::before{
	content: " ";
    width: 40px;
    height: 1px;
    border-bottom: 1px solid #FFF;
    position: absolute;
    bottom: -25%;
    left: 46%;
}
.cmn_main_block02 div dl dd{
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0;
	    padding: 3% 0 0;
}
.cmn_main_block02 a:hover{
	opacity: 0.8;
}
.cmn_main_block02 .arrow{
	position: relative;
	-webkit-transition:	all 0.8s ease;
	transition:			all 0.8s ease;
	z-index:100;
}
.cmn_main_block02 a:hover{
	opacity: 0.8;
}
.cmn_main_block02 .arrow::before {
  position: absolute;
    right: 10px;
    top: 23px;
    display: block;
    content: "";
    width: 105px;
    height: 2px;
    background: #F77F06;
	z-index: 100;
}
.cmn_main_block02 .arrow::after{
	display: block;
    position: absolute;
    content: "";
    right: 12px;
    top: 18px;
    width: 11px;
    height: 11px;
    border-top: 2px solid #F77F06;
    transform: rotate(45deg);
	z-index: 100;
}
.cmn_main_block02 .arrow{
	-webkit-transition:	all 1.8s ease;
	transition:			all 1.8s ease;
}
.cmn_main_block02 a:hover .arrow {
	right: -.6em;
  webkit-animation:arrow 0.5s ease-in-out alternate;
    -moz-animation:arrow 0.5s ease-in-out alternate;
    animation:arrow 0.5s ease-in-out alternate;
	z-index: 100;
}

@keyframes arrow {
  20% {
    right: -.1em;
    opacity: 0.8;
  }
  100% {
    right: -.6em;
    opacity: 1;
  }
}
.cmn_main_block02 div{
	position:relative;
}
.cmn_main_block02 .link {
    position: absolute;
    bottom: 60px;
    right: 6px;
	z-index: 100;
	-webkit-transition:	all 0.8s ease;
	transition:			all 0.8s ease;
}
.cmn_main_block02 .box .link{
	right: 20px;
}
.cmn_main_block02 .image {
    position: relative;
    overflow: hidden;
	-webkit-transition:	all 0.8s ease;
	transition:			all 0.8s ease;
}
.cmn_main_block02 .image img{
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	display: block;
	transition-duration: 0.3s;
}
.cmn_main_block02  a:hover img {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	z-index:0;
}
.cmn_main_block02 .mask {
	width:				100%;
	height:				100%;
	position:			absolute;
	top:				0;
	left:				0;
	opacity:			0;
	background-color:	rgba(0,0,0,0.20);
	-webkit-transition:	all 0.8s ease;
	transition:			all 0.8s ease;
	z-index:1;
	text-align:left;
	padding:		0 5%;
}
.cmn_main_block02 a:hover .mask {
	opacity:			1;
}



/*------------------------------------
バナー＋テキスト
-------------------------------------*/

.cmn_banner_block01{
	background: url(../img/img-index/catch_bg.jpg) no-repeat left top;
	padding: 50px 0 100px !important;
	background-size: cover;
	position: relative;
	
}
.cmn_banner_block01 .ttl02{
	color:#FFF;
	font-size:5.2rem !important;
}
.cmn_banner_block01 .ttl02 span{
	letter-spacing: 0.2em;
}
.cmn_banner_block01 .link {
  color: inherit;
  text-decoration: none;
}
.cmn_banner_block01 .img_blk {
  position: relative;
	text-align: left;
	padding: 0 0 0 8%;
}
.cmn_banner_block01 .box {
    width: 43%;
    position: absolute;
    top: 19%;
    right: 0;
    background: #FFF;
    padding: 50px 50px;
  }
.cmn_banner_block01 .label {
  font-size: 1.4rem;
  line-height: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-align: left;
	font-weight: bold;
	color:#14A7D8;
}
.cmn_banner_block01 .title {
    margin-bottom: 6%;
    margin-top: 0;
    padding-bottom: 2%;
    font-size: 5.0rem;
    text-align: left;
	position: relative;
}

.cmn_banner_block01 .title::after {
    content: "";
    position: absolute;
    width: 13%;
    border-top: 1px solid #14A7D8;
    bottom: 0;
    left: 0;
}
.cmn_banner_block01 .txt {
    font-size: 1.4rem;
    line-height: 24px;
	text-align: left;
    width: 80%;
	padding: 0 0 10px;
}
.cmn_banner_block01 .img{
	position: relative;
	width: 68%;
	overflow: hidden;
}

.cmn_banner_block01 img{
	transition-duration: 0.5s;
}
.cmn_banner_block01 a{
	display: block;
}
.cmn_banner_block01 a:hover img {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.4s;	/*変化に掛かる時間*/
	z-index:0;
	opacity:0.9;
}
.cmn_banner_block01 .cmn_link_more01 span{
	padding: 0 30px 0 0px;
}

.cmn_banner_block01:hover .cmn_link_more01 span{
	padding: 0 30px 0 0px;
	color:#333;
	transition: width 0.35s cubic-bezier(0.46, 0.1, 0.29, 1), background-color 0.35s cubic-bezier(0.46, 0.1, 0.29, 1);
}
.cmn_banner_block01:hover  .cmn_link_more01 span::before{
	background-color: #14A7D8;
	width: 70px;
}

.cmn_banner_block01:hover .cmn_link_more01 span::after{
	right: -5px;
	transition: all 1s;
}
.cmn_banner_block01 .cmn_link_more01 span:before {
  	top: 120%;
	left: 0px;
}

@media (max-width: 1599px){
	.cmn_banner_block01 .title{
		font-size:3.8rem;
	}
}
@media (max-width: 1199px){
	.cmn_banner_block01 .title{
		font-size:3.0rem;
	}
	.cmn_banner_block01 .img_blk::after {
		left: 57.5%;
		padding-top: 44.14286%;
	}
	.cmn_banner_block01 .img_blk::after {
    	bottom: -27%;
	}
}



/*-----------------------------------
リンク3つパターン
-----------------------------------*/

.cmn_link_block{
	padding: 50px 0 250px;
}
.cmn_link_block .img_box{
	position:relative;
	padding:0;
}
.cmn_link_block .img_box .box{
	    position: absolute;
    top: 81%;
    background: #FFF;
    width: 75%;
    padding: 30px 25px;
    right: 0;
    text-align: left;
}
.cmn_link_block .img_box .box dt{
	font-size:2.5rem;
	display:block;
	float:none;
	border:none;
	width:auto;
	margin:0;
	line-height:1.5;     
}
.cmn_link_block .img_box .box dt.small{
	font-size:2.3rem;
	letter-spacing: -0.15em;
}
.cmn_link_block .img_box .box dt.small span{
	letter-spacing: -0.05em;
}
.cmn_link_block h3{
	text-align:center;
	font-size:28px;
}
.cmn_link_block p.ttl{
	text-align:center;
	padding:0 0 20px;
}
.cmn_link_block .img_box .box dt span{
	font-size:1.3rem;
	color:#71D2F2;
	display:block;
	padding:2px 0 0;
}
.cmn_link_block .img_box p{
	position: relative;
	overflow: hidden;
}
.cmn_link_block img{
	max-width:100%;
}
.cmn_link_block img{
	transition-duration: 0.5s;
}
.cmn_link_block  a:hover img {
	transform: scale(1.1);	/*画像の拡大率*/
	transition-duration: 0.4s;	/*変化に掛かる時間*/
	z-index:0;
	opacity:0.9;
}
.cmn_link_block  a:hover .cmn_link_more01 span::before{
	background-color: #FF006C;
	width: 70px;
}
.cmn_link_block  a:hover .cmn_link_more01 span{
	padding: 0 30px 0 90px;
	color:#333;
	transition: width 0.35s cubic-bezier(0.46, 0.1, 0.29, 1), background-color 0.35s cubic-bezier(0.46, 0.1, 0.29, 1);
}
.cmn_link_block .img_box .box dl{
	width:auto;
}
.cmn_link_block .img_box .box dd{
	display: block;
    float: none;
    border: none;
    width: auto;
    font-size: 1.4rem;
    line-height: 1.8;
    padding: 20px 0;
	letter-spacing: 0;
}
.cmn_link_block .img_box .link{
	font-size:1.4rem;
	font-weight: bold;
}
.cmn_link_block .img_box .link span{
	border-bottom: 2px solid #FFBF00;
    font-size: 1.4rem;
    width: 54px;
    margin: 0px 10px 4px 0;
	height:10px;
	display:inline-block;
}
@media (max-width: 1400px) {
	.cmn_link_block .img_box .box {
    width: 82%;
	}
}



/*-----------------------------------
背景＋文字
-----------------------------------*/

.cmn_bg_block {
	background: url(../img/img-index/bg_02.jpg) no-repeat center bottom;
    min-height: 375px;
    background-size: cover;
}

.cmn_bg_block h4{
	margin: 250px auto 20px;
}
.cmn_bg_block .txt_blk{
	color: #fff;
	line-height: 1.8;
	font-size: 1.6rem;
	margin: 20px auto 20px;
	width: 52%;
	text-align: center;
}

.cmn_bg_block .txt,
.cmn_bg_block .ttl{
	color:#FFF;
}

.cmn_bg_block .ttl{
	font-size:2.5rem;
}
.cmn_bg_block .btn{
	text-align: center;
}
.cmn_bg_block .btn a:hover{
	opacity: 0.8;
}



/*-----------------------------------
ブログ埋め込み
-----------------------------------*/

.cmn_colum_block .btn{
	text-align: left;
	width: 93%;
    padding: 3.6% 0 0 2%;
}
.cmn_colum_block .btn img{
	max-width:100%;
}
.cmn_colum_block .ttl{
	font-size:2.8rem;
	float:left;
	font-weight: bold;
}
.cmn_colum_block .ttl span{
	font-size:1.8rem;
	display: inline-block;
	padding:0 0 0 20px;
}
.cmn_colum_block  .viewall{
	float: right;
	padding: 10px 30px 0 0;
}
.cmn_colum_block  .viewall a{
	font-size: 1.4rem;
	padding: 0 15px 0 0;
	display: block;
	position:relative;
}
.cmn_colum_block  .viewall a::after {
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 2px #444444;
    border-right: solid 2px #444444;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 48%;
    right: 0;
    margin-top: -4px;
}
.cmn_colum_block  .viewall a:hover{
	text-decoration: underline;
}
.cmn_colum_block .ifwp{
	width:100%;
	overflow:auto; 
	display:block;
	height:260px;
	margin:0 auto;
}
.cmn_colum_block iframe{
  width:100%;
  height:250px;
  border:none; /* 追加で指定 */
  display:block; /* 追加で指定 */
  margin: 0 auto;
 }
.cmn_colum_block .topic{
	height:450px;
    width:100%;
	overflow:auto;
  -webkit-overflow-scrolling:touch;
  display: inline-block;
 }
.cmn_colum_block iframe.news{
    width:100%;
  height:100% !important;
  border:none;
  display:block;
 }
.cmn_colum_block .btn01 {
    color: #999;
    border: 1px solid #999;
    width: 300px;
    text-align: center;
    /*float: right;*/
    margin: 20px auto 0;
	padding:5px 0;
}

.cmn_colum_block .btn01:hover{
	color: #FFF;
	background:#999;
}

.cmn_colum_block .btn01 a{
	display: block;
}
.cmn_colum_block .btn01:hover a{
	color: #FFF;
}


.index .blog02 iframe{
	height:200px;
}
.index .block03 iframe{
  height:210px !important;
  width: 100%;
}
.index .block03 iframe{
	height:200px !important;
	width:  100%;
}



/*-----------------------------------
トップスライダー
-----------------------------------*/

.cmn_slider_block h3{
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
}
.cmn_slider_block h3 span{
	display: block;
	font-size:1.8rem;
}
.cmn_slider_block .swiper-container a{
	display:block;
}
.cmn_slider_block .swiper-container a:hover img{
	opacity:0.8;
}
.cmn_slider_block .swiper-container dd{
	font-size:1.5rem;
	line-height:1.5;
	letter-spacing:0.05em;
	text-align:left;
	padding:14px 15px 9px;
	background:#fff;
	height:70px;
}
.cmn_slider_block .swiper-container img{
	width:100%;
}
.cmn_slider_block .swiper-container span{
	position:relative;
	display:inline-block;
	width: 95%;
}
.cmn_slider_block .swiper-container span:after{
	content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px #333;
    border-right: solid 1px #333;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: -5%;
    margin-top: -5px;
	transition: 0.3s;
}
.cmn_slider_block .swiper-container {
      width: 100%;
      height: 100%;
}
.cmn_slider_block  .swiper-slide {
      text-align: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      -webkit-align-items: center;
      align-items: center;
	 width:20%;
}

@media (max-width: 1200px) {
	.cmn_slider_block   .swiper-slide {
		width:25%;
	}
}

.cmn_slider_block .swiper-button-prev,
.cmn_slider_block .swiper-container-rtl .swiper-button-next {
  background-image: url(../img/img-index/prev.png);
  /*left: -3px;*/
  background-size:contain;
  /*top:40%;*/
}
.cmn_slider_block .swiper-button-next,
.cmn_slider_block .swiper-container-rtl .swiper-button-prev {
  background-image: url(../img/img-index/next.png);
  /*right: -3px;*/
  background-size:contain;
  /*top:40%;*/
}
.cmn_slider_block .swiper-button-prev,
.cmn_slider_block .swiper-button-next {
  position: absolute;
  top: 44%;
  width: 39px;
  height: 74px;
}
.cmn_slider_block .arrowblock{
	position: relative;
	position: absolute;
	left: 0;
	right: 0;
	top: 40%;
}



/*-----------------------------------
横4つのバナーパターン
-----------------------------------*/
.cmn_banner_block02 div{
	padding: 0 1.5%;
}
.cmn_banner_block02 h3{
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
}
.cmn_banner_block02 h3 span{
	display: block;
	font-size:1.8rem;
}
.cmn_banner_block02 .block01 a{
	background: url(../img/img-index/banner_block01_img01.jpg) no-repeat center center;
	background-size:contain;
}
.cmn_banner_block02 .block02 a{
	background: url(../img/img-index/banner_block01_img02.jpg) no-repeat center center;
	background-size:contain;
}
.cmn_banner_block02 .block03 a{
	background: url(../img/img-index/banner_block01_img03.jpg) no-repeat center center;
	background-size:contain;
}
.cmn_banner_block02 .block04 a{
	background: url(../img/img-index/banner_block01_img04.jpg) no-repeat center center;
	background-size:contain;
}
.cmn_banner_block02 a{
	width: 100%;
	height: 190px;
	display: block;
	margin: 0 auto;
	padding:0 0 10px;
}
.cmn_banner_block02 a:hover{
	opacity: 0.8;
}
.cmn_banner_block02 p{
	text-align: left;
	font-size: 1.4rem;
	line-height: 140%;
	padding: 1% 0 0 0;
}
.cmn_banner_block02 h4:before {
    content: " ";
    width: 20px;
    height: 2px;
    border-bottom: 2px solid #FFF;
    position: absolute;
    bottom: -10px;
    left: 48%;
}
.cmn_banner_block02 h4 {
    font-weight: bold;
    color: #fff;
    font-size: 1.6rem;
    position: relative;
    padding: 8.0vh 0 0 0;
	text-align: center;
}



/*-----------------------------------
4つのバナーパターン
-----------------------------------*/
.cmn_banner_block03 {
	background: #EEE;
}
.cmn_banner_block03 h3{
	font-size: 2.6rem;
	font-weight: bold;
	text-align: center;
}
.cmn_banner_block03 h3 span{
	display: block;
	font-size:1.8rem;
}
.cmn_banner_block03 .block01 a{
	background: url(../img/img-index/banner_block02_img01.jpg) no-repeat right top;
}
.cmn_banner_block03 .block02 a{
	background: url(../img/img-index/banner_block02_img02.jpg) no-repeat right top;
}
.cmn_banner_block03 .block03 a{
	background: url(../img/img-index/banner_block02_img03.jpg) no-repeat right top;
}
.cmn_banner_block03 .block04 a{
	background: url(../img/img-index/banner_block02_img04.jpg) no-repeat right top;
}
.cmn_banner_block03 .block01 a, 
.cmn_banner_block03 .block02 a,
.cmn_banner_block03 .block03 a, 
.cmn_banner_block03 .block04 a{
	color: #fff;
	width: 100%;
	height: 320px;
	display: block;
	margin: 0 auto;
	background-size: cover;
}
.cmn_banner_block03 h4{
	font-size: 1.8rem;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.1em;
	position: relative;
	padding: 28% 0 1% 0;
	text-align: center;
}
.cmn_banner_block03 h4:after{
	content:" ";
	width: 125px;
	height: 125px;
	position: absolute;
	top: 20%;
	left: 41%;
}
.cmn_banner_block03 .block01 h4:after{
	background: url(../img/img-index/banner_block02_icon01.png) no-repeat center top;
}
.cmn_banner_block03 .block02 h4:after{
	background: url(../img/img-index/banner_block02_icon02.png) no-repeat center top;
}
.cmn_banner_block03 .block03 h4:after{
	background: url(../img/img-index/banner_block02_icon03.png) no-repeat center top;
}
.cmn_banner_block03 .block04 h4:after{
	background: url(../img/img-index/banner_block02_icon04.png) no-repeat center top;
}

.cmn_banner_block03 .block01,
.cmn_banner_block03 .block03{
	padding: 0 1.5% 0 0;
}
.cmn_banner_block03 .block02,
.cmn_banner_block03 .block04{
	padding: 0 0 0 1.5%;
}
.cmn_banner_block03 p{
	color: #fff;
	text-align: center;
}
.cmn_banner_block03 a:hover{
	opacity: 0.8;
}
.cmn_banner_block03 .block01,
.cmn_banner_block03 .block03{
	padding: 0 1.5% 0 0;
}
.cmn_banner_block03 .block02,
.cmn_banner_block03 .block04{
	padding: 0 0 0 1.5%;
}
.cmn_banner_block03 p{
	color: #fff;
	text-align: center;
}
.cmn_banner_block03 a:hover{
	opacity: 0.8;
}

.index .attention_block{
	border: 2px solid#cc0000;
	width: 800px;
	padding:20px 0 25px ;
	margin: 40px auto 0;
	text-align: center;
}
.index .attention_block p{
	font-size: 1.8rem;
	margin-top: 12px;
}
.index .attention_block .ttl{
	position: relative;
	font-size: 2.0rem;
	font-weight: bold;
}
.index .attention_block .ttl strong{
	color: #cc0000;
	font-size: 2.6rem;
	background: linear-gradient(transparent 60%, #ff6 60%);	
}

.index .attention_block .ttl .red{
	color: #cc0000;
	font-size: 2.6rem;
	font-weight: bold;
}

.index .attention_block .red_big{
	color: #cc0000;
	font-size: 3.2rem;
	font-weight: bold;
}

.index .attention_block2{
	width: 800px;
	padding:20px 0 0px ;
	margin: 0px auto 0;
	text-align: center;
}



/*.index .attention_block .ttl::before{
	content: "";
	width: 46px;
	height: 38px;
	background: url("../img/img-common/attention_ico.png") no-repeat left top/contain;
	position: absolute;
	left: 22px;
	top: -2px;
}*/


/*-----------------------------------
お知らせ
-----------------------------------*/
.notice_block {
	padding: 35px 0;
	background: #f7f1e4;
}
.notice_block  p{
	text-align: center;
	padding-top: 20px;
}

.notice_block .corona{
	text-align: center;
	padding-top: 0px;
}

.notice_block_flex {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: 20px;
}
.notice_block_flex .item{
	width: 48%;
	max-width: 450px;
}
.notice_block_flex .item + .item{
	margin-left: 60px;
}
.notice_block_flex .item img{
	width: 100%;
}



