@charset "utf-8";

/*===================================
　Reset
===================================*/
*{ margin: 0;padding: 0}

a { text-decoration : none;
color:#222;}
ul, ol { list-style : none}
img { 
vertical-align : middle; 
max-width:100%;
height: auto;
width: auto\9; /* ie8 */
}

/*===================================
　Common
===================================*/
html {
	font-family: "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
	/*font-size : 87.5%;14px*/
	font-size : 14px;
	line-height: 1.7143em; /* 24px */
}
.clear{
	clear:both;	
}
.clearL{
	clear:left;	
}
.clearfix {
    zoom: 1;
}
.clear:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}
.align_center{
	text-align:center;
}
.align_right{
	text-align:right;
}
/*Set margin*/
.mb_10{
	margin-bottom:10px;
}
.mb_20{
	margin-bottom:20px;
}
.mb_30{
	margin-bottom:30px;
}
.mb_50{
	margin-bottom:50px;
}
.mb_100{
	margin-bottom:100px;
}
.ml_50{
	margin-left:50px;
}
.pl_10{
	padding-left: 10px;
}
.fLeft{
	float:left;
}
.fLeftBox{
	float: left;
    width: 48%;
    overflow: hidden;
    padding: 2% 0;
}
.fRight{
	float:right;
}
.fRightBox{
	float: right;
    width: 48%;
    overflow: hidden;
    padding: 2% 0;
}
.wBreak{
	word-break: break-all;
}
.nowrap{
	white-space: nowrap; 
}

@media screen and (max-width: 959px) {
	.fLeftBox,.fRightBox{
		width:100%;
		float:none;
		text-align: center;
	}	
}
/*pc*/
@media screen and (min-width: 769px) {
	.sp {display:none;}
}

/*sp*/
@media screen and (max-width: 768px) {
	.pc {display:none;}
}
@media screen and (min-width: 480px) {
	.sp02 {display:none;}
}

/*===================================
　text
===================================*/
p {
	font-size: 1.0000em; /* 14px */
	line-height: 1.7143em; /* 24px */
}
h1{
	font-family: 游明朝体,Yu Mincho,YuMincho,serif;
}
h2{
	font-size: 1.4em;
	text-align: center;
	padding-bottom: 10px;
}
.h2_wrap {
	margin: 0 auto; 
	color:#48acb2;
}
h2.heading {
	margin: 10px 0;
	position: relative;
	height: 50px;
	padding: 0;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	border: 1px solid #48acb2;
	line-height: 50px;
	font-weight: bold;
	background: #FFEB73;
}
.h2_wrap .heading .caption{
	position: absolute;
	left: 220px;
	top: 0;
	padding-left: 25px;
	padding-right: 40px;
	background: #FFEB73;
	color: #48acb2;
}
#section05 .h2_wrap .heading .caption{
	left: 150px;
}
.h2_wrap .heading .caption:before {
    display: block;
    content: ' ';
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    right: 99.9%;
    bottom: 0;
    border: 0 solid transparent;
    border-width: 0px 30px 50px 0px;
    border-right-color: #FFEB73;
}
.h2_wrap .heading .title{
    float: left;
    background: #48acb2;
    color: #fff;
    padding-left: 30px;   
    padding-right: 100px;
}
.linkP{
	position: absolute;
	right: 20px;
	top: 0;
	font-size: 0.7em;
}
h3{
	font-size: 1.2em;
    margin-bottom: 0;
    text-align: center;
}
.h3_topics{
	background: #E64A19;
	color:#fff;
	padding: 5px;
	margin-bottom: 25px;
	margin-top: 0.4em;
	position: relative;
}
.h3_topics:after {
	position: absolute;
	content: '';
	top: 90%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #E64A19;
	width: 0;
	height: 0;
}
.smTxt{
	font-size: .8em;
}
.blue{
	color: #48ACB2;
}

/*===================================
　link
===================================*/
a img,a {
	-webkit-transition: opacity .3s ease-out;
	-moz-transition: opacity .3s ease-out;
	-ms-transition: opacity .3s ease-out;
	transition: opacity .3s ease-out;
}
a:hover img, a:hover {
	opacity: 0.6;
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	filter: alpha(opacity=60);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=60)"; /* IE 8 */
}

@media screen and (max-width: 959px) {

}
@media screen and (max-width: 768px) {
	h2.heading {
		font-size: 1.0em;
	}
	.h2_wrap .heading .caption {
	    position: absolute;
	    left: 160px;
	    padding-left: 10px;
	}
}
@media screen and (max-width: 480px) {
	.h2_wrap .heading .caption {
		display: none;
	}
	.h2_wrap .heading .title{
		padding-right: 30px;
	}
}

/* 画像とテキスト
========================================== */
.imageAndText{
	overflow:hidden;
	padding: 3% 3% 3% 6%;
}

.imageAndText .imageBlockLeft{
	width:25%;
	float:left;
}

.imageAndText .imageBlockRight{
	width:25%;
	float:right;
}

.imageAndText .textBlock{
	width: 70%;
    float: left;
    margin-left: 5%;
}
/* clear */
.imageAndText:after{
	content:".";
	display:block;
	clear:both;
	height:0px;
	visibility:hidden;
	font-size:0;
}
.imageAndText .imageBlockLeft p,.imageAndText .imageBlockRight p{
	margin-bottom:0;
}

@media screen and (max-width: 959px) {

}

@media screen and (max-width: 768px) {
	.imageAndText{
		background:none;
		padding:5%;
	}	
}

@media screen and (max-width: 480px) {
	.imageAndText {
	    padding: 5%;
	}
	.imageAndText .imageBlockLeft,
	.imageAndText .imageBlockRight{
		width:100%;
		float:none;
		margin:0;
		margin-bottom:10px;
		text-align:center;
	}
	.imageAndText .textBlock {
	    text-align: center;
	    width: 100%;
	    float: none;
	    margin-left: 0;
	}
}

/*===================================
　header
===================================*/
#header{
	overflow:hidden;
	margin:0 auto;
	border-bottom: 0;
}
#top_head{
	overflow:hidden;
	width:100%;
	background:#48acb2;
}
#top_head p{
	width:950px;
	margin: 0 auto;
	text-align: right;
	color: #fff;
	padding: 5px;
}
#top_head .sp_top_nav{
	display:none;
}
#bottom_head{
	overflow:hidden;
	width:960px;
	margin:0 auto; 
	/*
	padding: 10px 0;
	*/
	height: 72px;
}
.h_logo{
	float:left;
}
.h_nav form{
	float:left;
}
.h_nav .pc_top_nav{
	margin-top: 10px;
	float:right;
}
.h_nav ul li{
	display:inline-block;
}
.h_nav ul li a{
	padding:10px;
}
@media screen and (max-width: 959px) {
	.h_nav .pc_top_nav{
		display:none;
	}	
	#bottom_head {
	    width: 90%;
	}
	#top_head{
		padding:3px 0;
	}
	#top_head p{
		width: 150px;
	    float: right;
	    margin-top: 3px;
	}
	#top_head .sp_top_nav{
		display:inline;
		float:right;		
		margin: 5px 10px 5px 10px;
	}
	#top_head .sp_top_nav li{
		display: inline-block;
		padding:3px 10px;
		background: #000;	
		margin-right: 10px;
	}
	#top_head .sp_top_nav li a{
		color:#fff;
		display: block;
		font-size: 0.9em;
	}
}
@media screen and (max-width: 768px) {	
	.h_nav{
		width:100%;
		text-align: center;
	}
	.h_logo{
		float:none;
		text-align: center;
	}
	.h_nav form{
		float:none;
	}
}
@media screen and (max-width: 480px) {

}

/*===================================
　 nav
===================================*/
.navWrap{
    border: 2px solid #48acb2;
    border-left: 0;
    border-right: 0;
}
.navWrap ul {
    list-style: none;
    letter-spacing:-1em;
    border: 2px solid #48acb2;
    border-top: 0;
    border-bottom: 0;
    width: 952px;
    margin: 0 auto;
}
.navWrap ul li {
 	text-align: center;
	display: inline-block;
	width:25%;
	letter-spacing: normal;
}
.navWrap ul li:last-child {
	border-right: 0;
}
.navWrap ul li a {
    display: block;
	width: 100%;
	padding: 18px 0;
	position: relative;
	line-height: 1em;
	color:#48acb2;
	font-size: 1.2em;
	font-weight: bold;
	transition: color 0.2s ease-out;
	border-right: 2px solid #48acb2;
}

/*
 * nav ドロップダウンアクション
 */
.menu > li.menu-single {
    position: relative;
}

li.menu-single ul.menu-second {
    position: absolute;
	/*
    top: 40px;
    width: 100%;
	*/
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}
ul.menu-second > li{
	display: block;
}

li.menu-single:hover ul.menu-second {
    top: 50px;
    visibility: visible;
    opacity: 1;
}

nav ul.pagination li {
	display: inline;
	color: #555;
}

.pagination-area {
	text-align: center;
}
/*****************************************/

@media screen and (max-width: 959px) {
	.navWrap ul {
	    width: 100%;
	}
}
@media screen and (max-width: 768px) {	
	.navWrap ul li a {
	    font-size: 1em;
	}
}
@media screen and (max-width: 480px) {

}
/*===================================
　content-wrapper内の共通設定
===================================*/
#content-wrapper{
	width:956px;
	margin:0 auto;
}

.out-wrapper {
	min-height: 100vh;
	position: relative;
	box-sizing: border-box;
}

/*===================================
　 Section
===================================*/
.section {
	background: #fff;
	overflow: hidden;
}

/*===================================
　 Section01
===================================*/
#section01 { display: table; table-layout: fixed; width: 100%; }
#section01 > .container_one { display: table-cell; vertical-align: top; overflow: hidden; }
#section01 > .container_one .imageAndText{
    background: url(../img/bg_arrow.png) no-repeat top 38% left;}
#section01 > .container_one .imageAndText h3 {
    border: 2px solid red;
    color: red;
    padding: 5px 0;
}
#section01 > .container_one h3 { margin-bottom: 10px;}
#section01 > .container_one:first-child {background:#48acb2; text-align: center; color:#fff; padding: 0 10px; width: 25%; line-height: 1em;}
#section01 > .container_one:last-child { padding-right: 0; width: 25%;}
#section01 > .container_one:first-child dl.block{width:90%; height:65px; color:#000; background: #fff; padding:10px; margin: 0 auto; margin-bottom:10px;border-radius: 10px;}
#section01 > .container_one:first-child dl.active{background: #eddc5a;;}
#section01 > .container_one:first-child dt{width:25%; float: left;}
#section01 > .container_one:first-child dd{margin-left: 30%; text-align: left; line-height: 1.4;}
#section01 > .container_one:first-child dd.ttl{font-weight: bold;}
#section01 > .container_one:first-child dd.desc{color:red;}
#section01 > .container_one:first-child h3{ padding-top: 15px; padding-bottom: 0px;}
.left_container { width: 150px; }
.right_container { width: 300px; }
.ttl_wrap{
	background:#daeeee;
}
.info_wrap{
	width:100%;
	text-align: center;
	padding: 10px 0 5px 0;
}
.info_wrap li{
	display: inline-block;
	margin: 0 10px;
}

/*===================================
　 Section02
===================================*/
#section02 {
}
.banner_wrap{
	width:100%;
	letter-spacing: -0.5em;
	text-align: center;
}
.banner_wrap li{
	display: inline-block;
	width: 16.6%;
	
	letter-spacing: normal;
}

/*===================================
　 Section03
===================================*/
.topics dl{
	overflow: hidden;
	margin-bottom: 1em;
}
.topics dl dt{
  float: left;
  border-left: 5px solid #E64A19;
  padding-left: 10px;
}
.topics dl dd{
    margin-left: 100px;
    text-align: left;
}
table {
    width: 100%;
}
.calendar_wrap{
	overflow: hidden;
}
.calendar{
	font-size: 0.9em;
}
table th {
    background: #FFEB73;
}
table th,
table td {
    border: 1px solid #CCCCCC;
    text-align: center;
    padding: 5px;
}
.fLeftBox .fLeftBox,.fLeftBox .fRightBox{
	padding-top: 0;
}
dl.cal_note{
    overflow: hidden;
    display: inline;
    float:left;
    width: 200px;
}
dl.cal_note dt{
	width:20px;
	float:left;
}
dl.cal_note dd{
	float:left;
	font-size: 0.9em;
}
.speed{
	color:#e4007e;
}
.standard{
	color:#009943;
}
.light{
	color:#00a0e8;	
}
.holiday{
	color:#e50011;
}
/*===================================
　 Section04
===================================*/
#section04 {

}
.lanking_wrap{
	width:100%;
	padding: 10px 0 80px;
	display:table;
	border-collapse: separate;
	border-spacing: 10px;
}
.lanking_wrap li{
	position: relative;
	width: 20%;
    display:table-cell;
    vertical-align: middle;
    border: #48ACB2 solid 1px;
}
.lanking_wrap li a{
	display: block;
	line-height: 1em;
	text-align: center;
    padding: 5px;
    height: 100%;
    vertical-align: middle;
}
.lanking_wrap li a span{
	display: block;
}
.lanking_wrap li a span.cap {
	display:block;
    position: absolute;
    bottom:-108px;
    left: 0;
    right: 0;
    margin: auto;
    line-height: 1.4;
    height:100px;
}
/*===================================
　 Section05
===================================*/
#section05 {

}
.new_wrap{
	width:100%;
	padding: 10px 0 80px;
	display:table;
	border-collapse: separate;
	border-spacing: 10px;
}
.new_wrap li{
	position: relative;
	width: 20%;
    display:table-cell;
    vertical-align: middle;
    border: #48ACB2 solid 1px;
}
.new_wrap li a{
	display: block;
	line-height: 1em;
	text-align: center;
    padding: 5px;
    height: 100%;
    vertical-align: middle;
}
.new_wrap li a span{
	display: block;
}
.new_wrap li a span.cap {
 	display:block;
    position: absolute;
    bottom:-108px;
    left: 0;
    right: 0;
    margin: auto;
    line-height: 1.4;
    height:100px;
}

@media screen and (max-width: 959px) {
	#content-wrapper{
		width:100%;
	}
	#section01 { 
		display: block; 
	}
	#section01 > .container_one:first-child {
		width:30%;
	}
	#section01 > .right_container { 
		display: block; width: 100%; }
	#section01 > .container_one:last-child {
	    width: 100%;
	}
	.ad_wrap{
		padding:20px 0 0 0;
		text-align: center;
	}
	.ad_wrap img{
		padding:10px;
	}
	#section02{
		display: none;
	}
	#section03,#section04,#section05{
		padding:3%;
	}
}

@media screen and (max-width: 768px) {
	#section01 > .container_one { 
		display: block; width: 100%; padding: 0; margin-bottom: 10px; }
}
@media screen and (max-width: 480px) {
	dl.cal_note{
	    display: block;
	}
	dl.cal_note dd{
	    text-align: left;
	}
}

/*===================================
　 Footer
===================================*/
#footer{
	overflow:hidden;
	width:100%;
	background: #eddc5a;

	position: absolute;
	bottom: 0;
}
#footer a{
	color:#000;
}
.footerArea{
	margin:0 auto;
	padding: 40px 0 20px;
	width:960px;
}
.footerArea::after{
	content:" ";
	display:block;
	clear:both;
}
.fnav_box {
	width:100%;
	margin-bottom: 30px;
	overflow: hidden;
}
.fnav{
	float:left;
	margin: 0 14px;
	font-size: 0.9em;
}
.fnav p{
	font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
    border: 1px solid #000;
    padding: 3px 0;
}
.fnav.fnav1 {

}
.fnav.fnav2 {

}
.fnav.fnav4 {
	margin-right: 0;
}
.fnav li{
	margin-bottom:5px;
	padding-right: 10px;
}
.fnav li::before {
    content: "-";
    padding: 0 5px 0 0;
    float: left;
}
.fnav li a{
	color: #fff;
	text-decoration:none;}
.fnav li a:hover{
	color: #EB8E8E;
	text-decoration:none;}
.borderR{
	border-right: 1px dotted #000;
}
.fnav_bottom{
	text-align: center;
}
.fnav_bottom ul{
    list-style: none;
    display: inline-block;
    overflow: hidden;
}
.fnav_bottom ul li{
	float:left;
	margin: 0 10px;
	}
#footer .fnav_bottom ul li a{
    background: #000;
    color: #eee;
    padding: 5px 10px;
    font-size: 0.9em;
}

/*copyright*/
.copyright{
	text-align: center;
    padding: 10px;
    background: #48acb2;
    font-size: 0.9em;
}

@media screen and (max-width: 959px) {
	.footerArea{
		width:94%;
		padding: 3%;
	}
	.fnav {
	    float: none;
	    margin: 0px;
	}
	.fnav ul{
		overflow:hidden;
	}
	.fnav.fnav1, .fnav.fnav2, .fnav.fnav3, .fnav.fnav4{
	    width: 100%;
	    
	}
	.fnav li {
	    width: 100%;
	    float: none;
	    text-align: center;
	    border-right: none;
	    padding-right: 0;  
	    border-bottom: 1px dotted #000; 
	}
	.fnav li a{
	    display: block;
	    padding:5px 0;
	}
	.fnav li:last-child{ 
	    border-bottom: none; 
	}
	.fnav ul.borderR li:last-child{
		border-bottom: 1px dotted #000; 
	}
	.fnav.fnav3 ul.fLeft,.fnav.fnav3 ul.fRight,
	.fnav.fnav4 ul.fLeft,.fnav.fnav4 ul.fRight
	{
		float:none;
	}
	.borderR {
		border-right: none;
	}
	
	.fnav li::before {
		content: none;
	}
	
}
@media screen and (max-width: 768px) {

}
@media screen and (max-width: 480px) {
	
}

/*-------------------
ボタン
-------------------*/
.btn{
	width:48%;
	text-align: center;	
	line-height: 1;
}
.btn a span{
	padding:10px;
	display: block;
	font-weight: bold;
	border-radius: 30px;
}
.btn a span:hover{
	opacity: 0.6;
	-webkit-opacity: 0.6;
	-moz-opacity: 0.6;
	filter: alpha(opacity=60);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=60)"; /* IE 8 */
}
.btn a i{
	font-size:2em;
}
.btn a i.fas,.btn a i.far{
	line-height:0em;
}
.btn01 a{
	color:#E64A19;	
}
.btn01 a span{
	background: #E64A19;
	color:#fff;	
}
.btn02 a{
	color:#FF9800;
}
.btn02 a span{
	background: #FF9800;
	color:#fff;	
}
.btn03 a{
	color:#48ACB2;
}
.btn03 a span{
	background: #48ACB2;
	color:#fff;	
}
.bg_arrow{
	text-align: center;
	clear: both;
	line-height: 0.6em;
}
.bg_arrow .fas{
	line-height: 0.6em;
}

.fa-caret-down{
	font-size: 5em;
	color:#ccc;
}
.arrow1 {
    width: 20px;
    height: 20px;
    border: 5px solid;
    border-color: transparent transparent #fff #fff;
    transform: rotate(-45deg);
    margin: 0 auto;
    margin-top:-1.5em;
}

.arrow-up {
    width: 20px;
    height: 20px;
    border: 5px solid;
    border-color: transparent transparent #fff #fff;
    transform: rotate(135deg);
    margin: 0 auto;
    margin-bottom:-1.5em;
	cursor: pointer;
}

.arrow-down {
    width: 20px;
    height: 20px;
    border: 5px solid;
    border-color: transparent transparent #fff #fff;
    transform: rotate(-45deg);
    margin: 0 auto;
    margin-top:-1.5em;
	margin-bottom: 10px;
	cursor: pointer;
}

.top-search-area{
	position: relative;
    overflow: hidden;
    display: inline-block;
    padding: 15px 10px;
    vertical-align: middle;
	height: 72px;
}

/*送信ボタン*/
.btn-default{
	width:400px;
	height:45px;
	margin:0 auto;
	color:#48ACB2;
	background-color:#EDDC5A;
	letter-spacing:2px;
	font-size:18px;
	margin:20px auto;
	border-style: none;
	border-radius:5px;
}

.btn-default:hover{
	background-color:rgba(235, 224, 144, 0.938);
}

/*search*/
input.search{
    border: 2px solid #48acb2;
    padding: 5px 10px;
    margin-right: 20px;
    filter: drop-shadow(4px 4px 5px #48acb2);
    border-radius: 15px;
}

input.search-glass{
	position: absolute;
    top: -1px;
    right: -11px;
    width: 105px;
}

input.search[type="text"]:focus {
  outline: 0;
  opacity: 60%;
}

input.search-glass[type="image"]:focus {
  outline: 0;
}

.h3_topics{
    display: inline-block;
    padding: 5px 15px;
    margin-left: 10px;
    transform: rotate(-4deg);
}
.arrow2{
		display: none;
	}
@media screen and (max-width: 768px) {
	#section01 > .container_one:first-child{
		width: 96%;
    	padding: 2%;
    	margin-bottom: 0;		
	}
	#section01 > .container_one:first-child .h_scroll{
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		display: flex;
	}
	#section01 > .container_one:first-child .h_scroll dl.block{
		width: 230px;
		margin-right: 10px;flex: 0 0 auto;
	}
	#section01 > .container_one h3 {
		margin-bottom: 20px;
	}
	.arrow1{
		display: none;
	}
	.arrow-down, .arrow-up{
		display: none;
	}

	.ttl_wrap {
	    padding-top: 30px;
	    padding-bottom:10px;
	    background: #daeeee url(../img/bg_arrow02.png) no-repeat top center;
	}

}


