@charset "utf-8";

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

	reset CSS

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

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,p,blockquote,table,th,td {padding: 0;margin: 0;}
html,body {background: #FFF;color: #000;}
body {font:13px/1;font-family:"Helvetica Neue",Helvetica,Arial,Verdana,Roboto,"游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;}
* html body {font-size: small;}
*:first-child+html body {font-size: small;}
img {border: 0;vertical-align: top;width: 100%;}
h1,h2,h3,h4,h5,h6 {font-size: 100%;font-weight: 500;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: inherit; font-weight: inherit;}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
input,textarea,select,b {font-family: inherit; font-size: inherit; font-weight:inherit;}
* html input,* html textarea,* html select {font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td {text-align: left; vertical-align: top;}
caption {text-align: left;}
pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}
input,select,textarea {font-size: 100%; font-family: Verdana, Helvetica, sans-serif;}
/* cf
========================================== */

.cf:after {visibility: hidden;display: block;font-size: 0;content: " ";clear: both;height: 0;}
* html .cf {zoom: 1;} /* IE6 */
*:first-child+html .cf {zoom: 1;} /* IE7 */

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

	Structure CSS

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

a.Banner img {
	filter:alpha(opacity=100);
	-moz-opacity: 1.0;
	opacity: 1.0;
}
a.Banner:hover img {
	filter:alpha(opacity=70);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

.center {text-align: center !important;vertical-align:middle;}
.txt_right{text-align:right !important;}
.txt_left{text-align:left !important;}
.indent {padding-left:1em;text-indent:-1em;}
.bold {font-weight:bold !important;}
.red {color:#c00 !important;}
.blue{color:#15376A !important;}
.white{color:#fff !important;}
.beni{color:#FF5C5C !important;}
.orange{color:#F88F03 !important;}
.f_min{
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}
.bg_w{background:rgba(255,255,255,1);}
.float_l{float:left;}
.float_r{float:right;}
.clear_both{clear:both;}
.f10{font-size:10px !important;}
.f11{font-size:11px !important;}
.f12{font-size:12px !important;}
.f13{font-size:13px !important;}
.f14{font-size:14px !important;}
.f15{font-size:15px !important;}
.f16{font-size:16px !important;}
.f17{font-size:17px !important;}
.f18{font-size:18px !important;}
.f19{font-size:19px !important;}
.f20{font-size:20px !important;}
.f21{font-size:21px !important;}
.f22{font-size:22px !important;}
.f23{font-size:23px !important;}
.f24{font-size:24px !important;}
.f25{font-size:25px !important;}
.f26{font-size:26px !important;}
@media (max-width: 480px) and (min-width: 0px){
.f10{font-size:8px !important;}
.f11{font-size:9px !important;}
.f12{font-size:10px !important;}
.f13{font-size:11px !important;}
.f14{font-size:12px !important;}
.f15{font-size:13px !important;}
.f16{font-size:14px !important;}
.f17{font-size:15px !important;}
.f18{font-size:16px !important;}
.f19{font-size:17px !important;}
.f20{font-size:18px !important;}
.f21{font-size:19px !important;}
.f22{font-size:20px !important;}
.f23{font-size:21px !important;}
.f24{font-size:22px !important;}
.f25{font-size:23px !important;}
.f26{font-size:24px !important;}
}
.bb{border-bottom:1px solid #ccc;}

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

	margin / padding

========================================== */
.mb0 {margin-bottom:0px !important;}
.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px !important;}
.mb40 {margin-bottom:40px !important;}
.mb45 {margin-bottom:45px !important;}
.mb50 {margin-bottom:50px !important;}
.mb60 {margin-bottom:60px !important;}
.mb70 {margin-bottom:70px !important;}
.mb80 {margin-bottom:80px !important;}
.mb90 {margin-bottom:90px !important;}
.mb100 {margin-bottom:100px !important;}
.mb150 {margin-bottom:150px !important;}
.mb1em{margin-bottom:1em !important;}
.pd0{padding:0 !important;}
.pt70{padding-top:70px !important;}
@media (max-width: 480px) and (min-width: 0px){
.mb10 {margin-bottom:3% !important;}
.mb15 {margin-bottom:3% !important;}
.mb20 {margin-bottom:5% !important;}
.mb25 {margin-bottom:5% !important;}
.mb30 {margin-bottom:5% !important;}
.mb35 {margin-bottom:5% !important;}
.mb40 {margin-bottom:5% !important;}
.mb45 {margin-bottom:5% !important;}
.mb50 {margin-bottom:10% !important;}
.mb60 {margin-bottom:10% !important;}
.mb70 {margin-bottom:15% !important;}
.mb80 {margin-bottom:15% !important;}
.mb90 {margin-bottom:15% !important;}
.mb100 {margin-bottom:15% !important;}
.mb150 {margin-bottom:15% !important;}
.pt70{padding-top:10% !important;}
.adjust{padding: 0 5%;}
}


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

	form

========================================== */
.contact_form {
	margin-bottom: 50px;
}
.contact_form table {
	margin-bottom: 30px;
	border-top: 1px solid #ccc;
	width: 100%;
}
.contact_form table tbody tr {
	border-bottom: 1px solid #afafaf;
}
.contact_form table tbody tr th {
	vertical-align: top;
	padding: 24px;
	font-size: 16px;
	color: #0a6d99;
	font-weight: bold;
	width: 24.5%;
}
.contact_form table tbody tr td {
	vertical-align: top;
	padding: 24px;
}

.contact_form table tbody tr td select{
	padding: 0;
	font-size:14px;
	width: 400px;
	padding: 11px;
}


span.gray {
	color:#afafaf;
	font-size:14px;
	margin: 15px 0 0 15px;
	display: inline-block;
}

.contact_form table tbody tr td label {
	margin-right: 10px;
}
.textarea1 {
	box-sizing: border-box;
	padding: 10px;
	width: 400px !important;
	height: 200px !important;
}
.input1,
.input2 {
	padding: 11px;
	width: 370px;
	font-size: 14px;
	border:1px solid #afafaf;
}

.input1 input[type="text"],
.input2 input[type="text"]{
	font-size: 14px;
}


input::placeholder {
  color: #a9a9a9;
}

/* IE */
input:-ms-input-placeholder {
  color: #a9a9a9;
}

/* Edge */
input::-ms-input-placeholder {
  color: #a9a9a9;
}


.input2 {
	width: 400px;
}
.contact_form table tbody tr th span {
	margin-left: 10px;
}
.contact_form div.privacy_btn {
	background: #F3F4EF;
	padding: 20px;
	margin-bottom: 20px;
}
.contact_form div.privacy_btn p {
	margin-bottom: 20px;
}
.contact_form button.btn1 {
	width: 340px;
	box-sizing: border-box;
	padding: 20px 0;
	text-align: center;
	margin: auto;
	font-size: 16px;
	cursor: pointer;
}
@media (max-width: 600px) and (min-width: 0px){
	.contact_form {
		padding: 0 5%;
		margin-bottom: 10%;
	}
	.contact_form table {
		margin-bottom: 5%;
		border-top: 1px solid #ccc;
		width: 100%;
	}
	.contact_form table tbody tr {
		border-bottom: 1px solid #ccc;
	}
	.contact_form table tbody tr th {
		padding: 3%;
		vertical-align: middle;
		/* background: #ffffff; */
		width: 100%;
		box-sizing: border-box;
		float: left;
	}
	.contact_form table tbody tr td {
		padding: 0 3% 5%;
		vertical-align: middle;
		float: left;
		width: 100%;
	}
	.contact_form table tbody tr td label {
		margin-right: 10px;
	}
	.textarea1 {
		box-sizing: border-box;
		padding: 3%;
		height: 10em;
		width: 94% !important;
	}
	.input1,
	.input2 {
		box-sizing: border-box;
		padding: 3%;
		width: 94%;
	}
	.input2 {
		width: 94%;
	}
	.contact_form table tbody tr th span {
		margin-left: 10px;
	}
	.contact_form div.privacy_btn {
		background: #F3F4EF;
		padding: 5%;
		margin-bottom: 5%;
	}
	.contact_form div.privacy_btn p {
		margin-bottom: 5%;
	}
	.contact_form button.btn1 {
		width: 100%;
		box-sizing: border-box;
		padding: 5% 0;
		text-align: center;
		margin: auto;
		font-size: 16px;
		cursor: pointer;
	}

	.contact_form table tbody tr td select{
		padding: 0;
		width: 94%;
		padding: 3%;
	}

}

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

	table

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

.talbecom{
	width:100%;
	margin: 0 0 5% 0;
}

.talbecom th{
	color: #000000;
	font-size: 15px;
	padding: 15px 7px;
	font-weight: bold;
	width: 24.5%;
}

.talbecom td{
	font-size:  14px;
	vertical-align: middle;
	padding: 15px 0;
	width: 100%;
	display: block;
}

.talbecom tr{
	border-bottom: 1px solid #afafaf;
}

.talbecom tr:first-child{
	border-top: 1px solid #afafaf;
}


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


	.talbecom th{
		display:block;
		font-size: 14px;
		width: 100%;
		padding: 2% 2% 1%;
	}

	.talbecom td {
		font-size: 14px;
		vertical-align: middle;
		padding: 0 2% 2%;
		width: 100%;
		display: block;
	}
}


/*****media 600px*****/

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

	見出し

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


.f_NotoSans{
	font-family: 'Noto Sans JP', sans-serif;
}

.f_NotoSans > span{
	font-family:"游ゴシック","Yu Gothic","游ゴシック体","YuGothic","Meiryo UI","メイリオ",Meiryo,sans-serif
}

.f_Roboto{
  font-family: 'Roboto Slab', serif;
}

.f_Raleway{
	font-family: 'Raleway', sans-serif;
}

.f_Muli{
	font-family: 'Muli', sans-serif;
}

.f_Arial{
	font-family:Arial,'arial',"Helvetica Neue",Helvetica;
}




/*****ボタン類******/

/**/

a.btn-pagetop{
	/* color: #fff; */
}
.btn-pagetop{
	display: inline-block;
	/* background: #086b30; */
	color: #0a6d99;
	text-align: center;
	z-index: 2;
	text-decoration: none;
	position: absolute;
	right: 0;
	top: 150px;
	transition: .3s;
	font-size: 11px;
}

.btn-pagetop span:hover{
	color: #fff;
	text-decoration: none;
	opacity: 1;
	transition: .3s;
}

.btn-pagetop span{
	display: block;
	width: auto;
	position: relative;
	z-index: 1;
	font-size: 16px;
	line-height: 100%;
}


.btn-pagetop span:after {
	content: "";
	height: 10px;
	width: 78px;
	left: -100px;
	right: 90px;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	background: url("../img/bnt_arrow_blue_off.png") no-repeat center center;
	transform: rotate(180deg);
	position: absolute;
	z-index: 1;
	direction: rtl;
	transition: .2s cubic-bezier(0.01, 0.96, 0.68, 0.86) 0s;
}

.btn-pagetop span:hover:after {
	left: -110px;
	transition: .3s;
}


.btn-pagetop span:active:after {
	background: url("../img/bnt_arrow_blue_on.png") no-repeat center center;
	width: 0;
	left: -160px;
	transition: .2s;
}

@media (max-width: 600px) and (min-width: 0px){

.btn-pagetop{
	display: inline-block;
	/* background: #086b30; */
	color: #4aa7e2;
	text-align: center;
	z-index: 2;
	text-decoration: none;
	position: absolute;
	right: -10px;
	top: unset;
	transition: .3s;
	font-size: 11px;
	bottom: 32%;
}

.btn-pagetop span:hover{
	color: #fff;
	text-decoration: none;
	opacity: 1;
	transition: .3s;
}

.btn-pagetop span{
	display: block;
	width: auto;
	position: relative;
	z-index: 1;
	font-size: 16px;
	line-height: 100%;
}

.btn-pagetop span:hover:after {
	background: url("../img/bnt_arrow_blue_on.png") no-repeat center center;
	width: 0;
	left: -160px;
	transition: .2s;
}

.btn-pagetop span:after {
	content: "";
	height: 10px;
	width: 78px;
	left: -100px;
	right: 90px;
	top: 0;
	bottom: 0;
	margin: auto;
	display: block;
	/* background: url("../img/bnt_arrow_blue_off.png") no-repeat center center; */
	transform: rotate(180deg);
	position: absolute;
	z-index: 1;
	direction: rtl;
	transition: .2s cubic-bezier(0.01, 0.96, 0.68, 0.86) 0s;
}



}

/* left - right hover*/

 .btn4{
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  text-align: center;
  position: relative;
  text-decoration: none;
  display:inline-block;
}

.btn4::before {
  content: '';
  position: absolute;
  bottom: 0%;
  left: 0px;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.6);
  display: block;
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: transform 0.4s cubic-bezier(1, 0, 0, 1);
  transition: transform 0.4s cubic-bezier(1, 0, 0, 1)
}

.btn4:hover::before {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1)
}



/*--- 外部リンクボタン ---*/

.bnt_gaibu{
	margin: 0 0 0 30px;
}

.bnt_gaibu > a{
	position:relative;
	color: #4AA7E2;
}

.bnt_gaibu > a:hover {
    text-decoration: underline;
}

.bnt_gaibu > a:after {
    content: url(../img/bnt_link_off.png);
    background-size: contain;
    width: 13px;
    height: auto;
    display: inline-block;
    vertical-align: top;
    margin: 0 0 0 10px;
}

.bnt_gaibuchange > a:after{
    content: url(../img/bnt_link_on.png);
    display: inline-block;
}



.bnt_news:before{
	content: url(../img/icon_bnt01_off.png) no-repeat;
	width:18px;
	height:16px;
}

.bnt_news:hover:before{
	content: url(../img/icon_bnt01_on.png) no-repeat;
	width:18px;
	height:16px;
}


.bnt_box_yajirushi{
	display: block;
	padding: 10px 0;
	text-align: center;
	position: relative;
	font-size: 16px;
	color: #ffffff !important;
	font-weight: bold;
	text-decoration: none;
	background: #0a6d99;
	border: 1px solid #0a6d99;
	max-width: 400px;
	width: 96%;
	margin: 0 auto 40px;
	transition: .3s;
}

.bnt_box_yajirushi:after{
			content: '';
			width: 10px;
			height: 10px;
			border-top: 2px solid #ffffff;
			border-right: 2px solid #ffffff;
			position: absolute;
			top: 0;
			bottom: 0;
			right: 20px;
			margin: auto;
			transform: rotate(45deg);
			transition: .3s;
}

.bnt_box_yajirushi:hover{
	font-size: 16px;
	color: #0a6d99 !important;
	background:#ffffff;
	border: 1px solid #0a6d99;
	text-decoration:none !important;
	transition: .3s;
}


.bnt_box_yajirushi:hover:after{
			top: 0;
			bottom: 0;
			right: 20px;
			transform: rotate(45deg);
			transition: .3s;
			border-top: 2px solid #0a6d99;
			border-right: 2px solid #0a6d99;
}

.bnt_back{
	max-width:300px;
}


.bnt_back:after{
	top: 0;
	bottom: 0;
	left: 20px;
	right:unset;
	transform: rotate(225deg);
}

.bnt_back:hover:after{
	top: 0;
	bottom: 0;
	left: 20px;
	right:unset;
	transform: rotate(225deg);
}

.btn_underline {
  display: inline-block;
  padding-bottom: 4px;
  position: relative;
}

.btn_underline::after {
  background-color: #0a6d99;
  background: linear-gradient(90deg, #0a6d99 0%, #0a6d99 100%);
  bottom: 0;
  left:0;
  content: '';
  display: block;
  height: 3px;
  position: absolute;
  transition: .5s all;
  width: 0;
}

.btn_underline:hover:after {
  width: 100%;
}

.btn_underline_center {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.btn_underline_center:after{
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #16120C;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}


.btn_underline_center:hover::after {
  transform: scale(1, 1);
}

.on .btn_underline_center::after {
  transform: scale(1, 1);
}



.bnt_slide > a {
	position:relative;
	overflow: hidden;
	z-index: 1;
	transition: 0.3s;
}

.bnt_slide > a:hover {
	color:#fff;
 	 cursor: pointer;
}


.bnt_slide > a:hover:before {
	color: #ffffff;
}

.bnt_slide > a:before {
  -webkit-transform: skewX(-30deg);
  transform: skewX(-30deg);
  z-index: -1;
  position: absolute;
  content: '';
  width: 0;
  left: -8%;
  top: 0;
  height: 70px;
  background: linear-gradient(90deg, #0a6d99 0%, #1c6a8d 100%);
  transition: all 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
}

@media (max-width: 600px) and (min-width: 0px){

	.bnt_slide > a:before {
	  display:none;
	}
}

.bnt_slide > a:hover:before {
  width: 120%;
  left: -10%;
}

.btn_slide_bright{
	position:relative;
	overflow: hidden;
	z-index: 1;
	transition: 0.3s;
}

.btn_slide_bright:hover {
	color:#fff;
 	 cursor: pointer;
}


.btn_slide_bright:hover:before {
	color: #ffffff;
}

/* .btn_slide_bright:before {
  z-index: -1;
  position: absolute;
  content: '';
  width: 0;
  right: -5%;
  top: 0;
  height: 80px;
  background: linear-gradient(90deg, #5fa1be 0%, #5fa1be 100%);
  transition: all 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
} */

.btn_slide_bright:hover:before {
  width: 120%;
  right: -15%;
}



.f_btn{
	text-align: center;
	max-width: 240px;
	width: 100%;
	margin: 0 auto;
}

.f_btn > a{
	display: block;
	width: 100%;
	padding: 16px 0;
	margin: 20px 0 30px 0;
	border: 1px solid #595958;
	color: #ffffff;
	text-decoration: none;
	position:relative;
	overflow: hidden;
	z-index: 1;
	transition: 0.3s;
}

.f_btn > a:hover {
	color: #595958;
	border: 1px solid #ffffff;
}

.f_btn > a:before {
    content: "→";
    position: absolute;
    top: 45%;
    right: 30px;
    line-height: 0;
    color: #595958;
    transition: 0.3s;
}


.f_btn > a:hover:before {
	color: #595958;
}

.f_btn > a:after {
  -webkit-transform: skewX(-30deg);
  transform: skewX(-30deg);
  z-index: -1;
  position: absolute;
  content: '';
  width: 0;
  left: -8%;
  top: 0;
  height: 60px;
  background: #ffffff;
  transition: all 0.3s cubic-bezier(0.65, 0.05, 0.36, 1);
}

.f_btn > a:hover {
  cursor: pointer;
}

.f_btn > a:hover:after {
  width: 120%;
  left: -10%;
}

.amax {
	position: relative;
}

.amax > a{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.pdd {
    position: relative;
    padding: 0 0 66.7%;
}

.pdd img {
  position: absolute;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

#totop{
	transition: .3s;
	transform: rotate(90deg);
}

#totop:hover{
	transition: .3s;
	/* color: #38a468; */
	text-decoration:none;
}




.clearfix:after{
	clear:both;
	display:block;
	content:"";
}

.anime_shine {
  position: relative;
  overflow: hidden;
}

.anime_shine:hover{
	opacity: 0.8;
}


.anime_shine::before {
  position: absolute;
  top: 0;
  left: -80%;
  z-index: 2;
  display: block;
  content: '';
  width: 70%;
  height: 100%;
  background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255, 255, 255, 0.8) 100%);
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 100%);
  -webkit-transform: skewX(-25deg);
  transform: skewX(-25deg);
}

.anime_shine:hover::before {
	-webkit-animation: shine .75s;
   animation: shine .75s;
}

@-webkit-keyframes shine {

  100% {
    left: 125%;
  }

}
@keyframes shine {

  100% {
    left: 125%;
  }

}

.nosp {
	display: block !important;
}
.nopc {
	display: none !important;
}

/* 画面幅：1300px以下の時*/
@media screen and (max-width: 1300px) {
	.nosp {
		display: none !important;
	}
	.nopc {
		display: block !important;
	}
}