@charset "utf-8";
/*------------------------------------------
reset
------------------------------------------*/
* {padding: 0;margin: 0;}

*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

html {height: 100%;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-style:normal;
font-weight: normal;
font-size: 100%;
vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}

img{
vertical-align: top;
line-height: 0;
margin:0;
padding:0;
}

blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}

input, textarea{margin: 0;padding: 0;}

ol, ul{list-style:none;}
li {list-style-type: none;}
table{border-collapse: collapse;border-spacing:0;}
table td {border-collapse: collapse;}
caption, th{text-align: left;}
.inline_block {display: inline-block;*display: inline;*zoom: 1;}
input[type="checkbox"]{-webkit-appearance: checkbox;}
input[type="radio"]{-webkit-appearance: radio;}

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
appearance: none;
font: initial;
}

button, input, select, textarea {
font-family : inherit;
font-size   : 100%;
padding: 10px;
}

/* ----------------------------------------
LINK
------------------------------------------- */
a img {
border: none;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover img {
opacity: 0.9;
filter: alpha(opacity=90);
-ms-filter: "alpha( opacity=90 )";
}
a {
color: #0099CC;
text-decoration: none;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover {
color: #6699CC;
text-decoration: none;
}

a:focus {outline:none;}

/*aタグ無効化*/
a.link-no {pointer-events: none;}

/*------------------------------------------
表示・非表示
------------------------------------------*/
@media only screen and (min-width: 1025px) {
.pc {display: block !important;}
.tb {display: none !important;}
.sp {display: none !important;}
.pc-tb {display: block !important;}
.tb-sp {display: none !important;}
}
@media only screen and (min-width:600px) and (max-width:1024px)  {
.pc {display: none !important;}
.tb {display: block !important;}
.sp {display: none !important;}
.pc-tb {display: block !important;}
.tb-sp {display: block !important;}
}
@media only screen and (max-width:599px) {
.pc {display: none !important;}
.tb {display: none !important;}
.sp {display: block !important;}
.pc-tb {display: none !important;}
.tb-sp {display: block !important;}
}

/*-------------------------------------------
img
-------------------------------------------*/
/*インラインで背景画像を置く*/
.imgbg{
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}
@media screen and (max-width:1024px) {
.imgbg{
background-size: cover;
height: 320px;
}
}

@media screen and (max-width:1024px) {
img {
height: auto;
width: auto;
max-width: 100%;
margin-left: auto;
margin-right: auto;
}
/*程よい画像サイズ*/
img.h-fit,
img.vw {
width: 50vw;
max-width: 100%;
height: auto;
}
}

@media screen and (max-width:768px) {
/*程よい画像サイズ*/
img.vw {
width: 60vw;
max-width: 100%;
height: auto;
}
/*高さ調整（狭くする）*/
img.h-fit {
width: 100%;
height: 250px;
object-fit: cover;
}
}

@media screen and (max-width:599px) {
/*高さ調整（狭くする）*/
img.h-fit {
width: 100%;
height: 180px;
object-fit: cover;
}
}

/*-------------------------------------------
float
-------------------------------------------*/
.text_center{
text-align: center;
}
.img_center {
display: block;
margin: 0 auto;
max-width: 100%;
}
.img_left {
float: left;
padding: 0 1em 1em 0em;
max-width: 50%;
}
.img_right {
float: right;
padding: 0 0em 1em 1em;
max-width: 50%;
}
@media screen and (max-width:768px) {
.text_center{text-align: left;}
.img_right,.img_left {
float: none;
margin: 0 auto;
max-width: 100%!important;
}
}

/*-------------------------------------------
float・回り込み解除1
-------------------------------------------*/
.clfix:after,
.clearfix:after{
content: ".";
display: block;
height: 0;
font-size: 0;
clear: both;
visibility: hidden;
}
.both{
clear:both;
}

/*------------------------------------------
flexbox
------------------------------------------*/
.flexbox {
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: flex-start;
align-items: stretch;
flex-direction: row;
justify-content: space-between;
}

.flexbox img {max-width: 100%;}
.flexbox.reverse {flex-direction: row-reverse;}
.w95 {	width: 95%;}
.w90 {	width: 90%;}
.w85 {	width: 85%;}
.w80 {	width: 80%;}
.w75 {	width: 75%;}
.w70 {	width: 70%;}
.w65 {	width: 65%;}
.w60 {	width: 60%;}
.w55 {	width: 55%;}
.w50 {	width: 50%;}
.w45 {	width: 45%;}
.w40 {	width: 40%;}
.w35 {	width: 35%;}
.w33 {	width: 33%;}
.w30 {	width: 30%;}
.w25 {	width: 25%;}
.w20 {	width: 20%;}
.w15 {	width: 15%;}
.w10 {	width: 10%;}
.w5 {	width: 5%;}

@media screen and (max-width:1024px) {
.flexbox {display: block;}
.w95,.w90,.w85,.w80,.w75,.w70,.w65,.w60,.w55,.w50,.w45,.w40,.w35,.w33,.w30,.w25,.w20 {width:100%;margin:0% auto;}
}

/*------------------------------------------
装飾
------------------------------------------*/
.center {display: block;text-align: center;margin: 0 auto;}
.right {text-align: right;display: block;}
.left {text-align: left;display: block;}
.bold {font-weight: bold;}
.normal {font-weight: normal;}
.large {font-size: 115%;}
.xlarge {font-size: 130%;}
.xxlarge {font-size: 145%;}
.small {font-size: 90%;}
.xsmall {font-size: 80%;}
.xxsmall {font-size: 70%;}
.underline {font-weight: bold;background: linear-gradient(transparent 85%, #ffee6e 0%);}
.marker {background: linear-gradient(transparent 0%, #fffcae 0%);}
.shadow {display: block;box-shadow: #ccc 10px 10px 0px;border: #fff 2px solid;}

/*------------------------------------------

/*------------------------------------------
余白
------------------------------------------*/
.mt0 {margin-top: 0 !important;}
.mt1 {margin-top: 1em !important;}
.mt2 {margin-top: 2em !important;}
.mt3 {margin-top: 3em !important;}
.mt4 {margin-top: 4em !important;}
.mb0 {margin-bottom: 0 !important;}
.mb1 {margin-bottom: 1em !important;}
.mb2 {margin-bottom: 2em !important;}
.mb3 {margin-bottom: 3em !important;}
.mb4 {margin-bottom: 4em !important;}
.pt0 {padding-top: 0 !important;}
.pt1 {padding-top: 1em !important;}
.pt2 {padding-top: 2em !important;}
.pt3 {padding-top: 3em !important;}
.pt4 {padding-top: 4em !important;}
.pb0 {padding-bottom: 0 !important;}
.pb1 {padding-bottom: 1em !important;}
.pb2 {padding-bottom: 2em !important;}
.pb3 {padding-bottom: 3em !important;}
.pb4 {padding-bottom: 4em !important;}

/*-------------------------------------------
テーブル
-------------------------------------------*/
/*01*/
.table_01 {
width: 100%;
}
.table_01 thead th{
background: #448aca;
}
.table_01 th, 
.table_01 td {
padding: 0.8em 1em;
border:#6daecc 1px solid;
vertical-align: middle;
line-height: 1.6;
}
.table_01 th {
width: 35%;
background:#e4f5fd;
font-weight: normal;
}
.table_01 td {
background-color: #FFF;
}
/*02*/
.table_02 {
width: 100%;
}
.table_02 thead th{
background: #448aca;
color: #fff;
font-weight: bold;
padding: 1em;
font-size: 100%;
text-align: center;
}
.table_02 th, 
.table_02 td {
padding: 1em 1em;
border:#6daecc 1px solid;
vertical-align: middle;
line-height: 1.6;
font-weight: bold;
text-align: center;
	}
.table_02 th {
width: 25%;
background:#e4f5fd;
text-align: left;
}
.table_02 td {
background-color: #FFF;
/*text-align: right;*/
}
/*03*/
.table_03 {
width: 100%;
text-align: center;
border-collapse: collapse;
border-spacing: 0;
border-top: solid 1px #ccc;
}
.table_03 tr:nth-child(2n+1) {
background:#efecdd;
}
.table_03 th,
.table_03 td {
border-bottom:solid 1px #ccc;
padding: 0.6em 1.2em;
text-align: left;
vertical-align: middle;
}
.table_03 th{
	width: 20%;
}

@media screen and (max-width: 768px){
/*横スクロール*/
.table-wrap {overflow-x: scroll;}
.table_03 th{width: 30%;}
}

/* ----------------------------------------
dl（PC横・SP縦）
-------------------------------------------*/
dl.resp {
display: flex;
flex-flow: row wrap;
width: 100%;
}
dl.resp dt,
dl.resp dd{
padding: 1.5em 2em;
border-bottom: 1px solid #ccc;
}
dl.resp dt {
flex-basis: 20%;
background-color: #f1f1f1;
}
dl.resp dd {
flex-basis: 80%;
background-color: #fff;
}
@media screen and (max-width: 1024px) {
dl.resp dt {flex-basis: 25%;}
dl.resp dd {flex-basis: 75%;}
}
@media screen and (max-width: 768px) {
dl.resp {flex-flow: column;}
dl.resp dt {padding: 0.6em 1.5em;}
}

/*-------------------------------------------
リスト
------------------------------------------*/
ul.line li {
text-align: left;
line-height: 1.6;
padding: 15px;
margin: 0 auto;
border-bottom: #999 1px dotted;
}
ul.maru li:before {
font-weight: 600;
color: #D9B073;
content: "\f140";
font-family: FontAwesome;
padding-right: 1em;
}

/*------------------------------------------
ページャー

.pager {
padding: 30px 0;
clear: both;
}
.pager .pagination {
text-align: center;
}
.pager .pagination li {
display: inline;
margin: 0 2px;
padding: 0;
display: inline-block;
width: 36px;
height: 36px;
text-align: center;
position: relative;
}
.pager .pagination li a {
vertical-align: middle;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
display: table;
color: #FFF;
text-decoration: none;
background-color: #D9B073;
}
.pager .pagination li a span {
display: table-cell;
vertical-align: middle;
}
.pager .pagination li a:hover, .pager .pagination li a.active {
color: #D9B073;
background-color: #ededed;
}
@media only screen and (max-width: 767px) {
.pager {
padding: 15px 0;
}
.pager .pagination li {
display: none;
}
.pager .pagination li.pre, .pager .pagination li.next {
display: inline-block;
width: 40%;
height: 40px;
text-align: center;
}
.pager .pagination li.pre a, .pager .pagination li.next a {
width: 100%;
text-align: center;
}
.pager .pagination li.pre span::after {
content: "　前の10件へ";
}
.pager .pagination li.next span::before {
content: "次の10件へ　";
}
.img_center span {
font-size: 14px;
padding: 5px;
}
.img_center div {
font-size: 12px;
padding: 20px;
}
}
-------------------------------------------*/


/*------------------------------------------
ページャー
-------------------------------------------*/
#pagination {
width: 100%;
margin:2em auto 1em;
}
#pagination ul {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: center;
}
#pagination li {
margin-right: 7px;
margin-left: 7px;
line-height: 1.5;
}
#pagination li a {
display: block;
color: #ff0000;
border: 1px solid #ff0000;
/* width: 30px; */
/* height: 30px; */
/* padding-top: 7px; */
padding: 10px 15px;
background: #fff;
text-align: center;
text-decoration: none;
}
#pagination li.active a {
background: #ff0000;
color: #fff;
}

/* ----------------------------------------
エフェクト
-------------------------------------------*/
.effect {
opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "alpha( opacity=0 )";
transform: translateY(20px);
-webkit-transform: translateY(20px);
-moz-transform: translateY(20px);
-webkit-transition: 1.0s ease-out;
-moz-transition: 1.0s ease-out;
transition: 1.0s ease-out;
}
.effect.d_01 {
transition-delay: 0.1s;
-webkit-transition-delay: 0.1s;
}
.effect.d_02 {
transition-delay: 0.2s;
-webkit-transition-delay: 0.2s;
}
.effect.d_03 {
transition-delay: 0.3s;
-webkit-transition-delay: 0.3s;
}
.effect.d_04 {
transition-delay: 0.4s;
-webkit-transition-delay: 0.4s;
}
.effect.d_05 {
transition-delay: 0.5s;
-webkit-transition-delay: 0.5s;
}
.effect.d_06 {
transition-delay: 0.6s;
-webkit-transition-delay: 0.6s;
}
.effect.d_07 {
transition-delay: 0.7s;
-webkit-transition-delay: 0.7s;
}
.effect.d_08 {
transition-delay: 0.8s;
-webkit-transition-delay: 0.8s;
}

.effect.start {
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
transform: translateY(0px);
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
}

/* ----------------------------------------
loader
------------------------------------------- */
.loader-wrap {
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	z-index: 10000;
	background-color: #000;
}
.loader {
	color: #888;
	font-size: 40px;
	text-indent: -9999em;
	overflow: hidden;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	margin: 72px auto;
	position: relative;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
	animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}
@-webkit-keyframes load6 {
	0% {box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;}
	5%, 95% {box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;}
	10%, 59% {box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;}
	20% {box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;}
	38% {box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;}
	100% {box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;}
}
@keyframes load6 {
	0% {box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;}
	5%, 95% {box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;}
	10%, 59% {box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;}
	20% {box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;}
	38% {box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;}
	100% {box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;}
}
@-webkit-keyframes round {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes round {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}