@charset "euc-jp";
/* CSS Document */

* {
	margin: 0;
	padding: 0;
}
* {
	-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 {
	font-size: 62.5%;
}
body {
	background: #FFF;
	font-size: 1em;
}
body, td, th {
	font-size: 1.6rem;
	color: #111;
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	font-weight: normal;
}
strong {
	font-weight: bold;
}

a:link {
	color: #036;
	text-decoration: underline;
	transition: 0.4s;
}
a:visited {
	text-decoration: underline;
	color: #003;
}
a:hover {
	text-decoration: underline;
	color: #06C;
	transition: 0.4s;
}
a:active {
	text-decoration: none;
	color: #06C;
}

ruby {
	margin: 0;
}
img {
	border: none;
	max-width: 100%;
	vertical-align: bottom;
}
a img {
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	transition: 1s;
}
a:hover img {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

.center {
	text-align: center;
}
.right {
	text-align: right;
}
.left {
	text-align: left !important;
}

.fc1 {
	color: #F00;
}
.fc2 {
	color: #0092D3;
}
.fc3 {
	color: #999;
}
.fc4 {
	color: #0072C5;
}
.fc5 {
	color: #666;
}

.supText {
	font-size: .75em;
	vertical-align: top;
	position: relative;
	top: -0.1em;
	margin: 0 2px;
}
.subText {
	font-size: .75em;
	vertical-align: bottom;
	position: relative;
	top: 0.1em;
	margin: 0 2px;
}

/* ----------------------
	js swtch image
---------------------- */
.PSswitch {}


.clear {
	clear: both;
}
.clear hr {
	display: none;
}

.imgright {
	float: right;
	padding: 0 0 1em 1em;
}
.imgleft {
	float: left;
	padding: 0px 1em 1em 0;
}
.imageStyleL {}

blockquote {
	margin: 1em 0 1em 2em;
	padding: 1em;
}
table {
	margin: 0 auto 2em;
	border: none;
	border-collapse: collapse;
}
table th {
	border: none;
	vertical-align: top;
}
table td {
	border: none;
	vertical-align: top;
}

/* ----------------------
	LINK ICON
---------------------- */
.IconL1 a {
	position: relative;
}
.IconL1 a:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 15px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 6px solid #F90;
}

.thisPage {}
.dclick {
	cursor: pointer;
}

/* ------------------------------------------
	BUTTON SETTING
------------------------------------------ */
.button {
	display: block;
	clear: both;
	overflow: hidden;
	padding: 0;
	width: 60%;
	margin: 1em auto;
	border-radius: 16px;
	box-shadow: 0 2px 2px rgba(0,0,0,0.2);
}
.buttonS {
	display: inline-block;
	clear: both;
	overflow: hidden;
	padding: 0;
	width: 28%;
	min-width: 200px;
	margin: 0 5px 1em;
}
.button a, 
.buttonS a {
	border: none;
	color: #FFF !important;
	display: block;
	font-weight: bold;
	letter-spacing: 0.025em;
	position: relative;
	text-align: center;
	text-decoration: none;
	text-shadow: 0px -1px 1px #999;
}
.button a {
	line-height: 1.2em;
	padding: 1em 1.5em;
	border-radius: 16px;
}
.buttonS a {
	padding: 0.7em 1.5em;
	border-radius: 6px;
}
.button a:hover, 
.buttonS a:hover {
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

.buttonCol1 a {
	background: #006;
}
.buttonCol2 a {
	background: #069;
}

.IconL1 a {
	position: relative;
}
.IconL1 a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 15px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 6px solid #FFF;
}
.IconL2 a {
	position: relative;
}
.IconL2 a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 9px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-right: 6px solid #FFF;
}
.IconL3 a {
	position: relative;
}
.IconL3 a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 12px;
	width: 0;
	height: 0;
	margin-top: -3px;
	border: 6px solid transparent;
	border-top: 6px solid #FFF;
}
.IconR1 a {
	position: relative;
}
.IconR1 a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 9px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 6px solid #FFF;
}
.IconR2 a {
	position: relative;
}
.IconR2 a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-right: 6px solid #FFF;
}
.IconR3 a {
	position: relative;
}
.IconR3 a::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 0;
	height: 0;
	margin-top: -3px;
	border: 6px solid transparent;
	border-top: 6px solid #FFF;
}

.buttonCol3 a {
	background: #FFF;
	border: solid 2px #999;
	color: #666 !important;
	text-shadow: none;
}
.buttonCol3.IconL1 a::before, .buttonCol3.IconR1 a::before {
	border-left: 6px solid #999;
}
.buttonCol3.IconL2 a::before, .buttonCol3.IconR2 a::before {
	border-right: 6px solid #999;
}
.buttonCol3.IconL3 a::before, .buttonCol3.IconR3 a::before {
	border-top: 6px solid #999;
}

.slide_box {
	display: none;
}

#hdr .inner, 
#bread ul, 
section, 
#footer .inner {
	display: block;
	width: 100%;
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

/* ----------------------
	HDR
---------------------- */
#hdr {
	width: 100%;
}
#hdr .inner {
	margin: 0 auto;
	padding: 10px 3%;
	position: relative;
}
#hdr .inner::after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
#logo {
	display: block;
	width: 25%;
	margin-bottom: 10px;
	float: left;
	text-align: center;
}
#hdsubbox {
	width: 62%;
	float: right;
	color: #666;
	margin-bottom: 1em;
}

/* ----------------------
	slidemenu_list
---------------------- */
#btn_spmenu {
	display: none;
}
#slidemenu_list li{
	font-size: 1.5rem;
}
#hdr nav#slidemenu_list {
	display: none;
	width:100%;
	max-width: 480px;
	height: auto;
	padding: 60px 10px 30px;
	margin: 0;
	background: rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter: blur(7px);
	backdrop-filter: blur(7px);
 	position: absolute;
	z-index: 999;
	top: 0;
	right: 0;
	box-shadow: 0px 3px 10px rgba(0,0,0,0.4);
}
#slidemenu_list ul {
	width: 90%;
	list-style: none;
	letter-spacing: -.40em;
	margin: 1em auto 1em;
}
#slidemenu_list li{
	width: 50%;
	display: inline-block;
	/display: inline;  /* IE */
	/zoom: 1;  /* IE */
	vertical-align: top;
	letter-spacing: normal;
	border-bottom: solid 1px #CCC;
	background: #FFF;
	-webkit-text-size-adjust: none;
	margin-bottom: 2px;
}
#slidemenu_list li.spme-wl {
	width: 100%;
}
#slidemenu_list li a{
	color: #000;
	display: block;
	text-decoration: none;
	padding: 10px;
	position: relative;
}
#slidemenu_list li a:hover {
	background: #E5F4FB;
}
#slidemenu_list li a::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 5px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 6px solid #008FD3;
}
#slidemenu_list .list_close{
	display: block;
	width: 80%;
	margin: 0 auto;
	filter: alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	background: #999;
	border-radius: 5px;
	text-align: center;
	padding: 5px 15px;
	cursor: pointer;
	color: #FFF;
	font-weight: bold;
	clear: both;
}
#slidemenu_list .list_close#small_cls {
	width: 40px;
	height: 40px;
	padding: 5px;
	line-height: 30px;
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	position: absolute;
	right: 10px;
	top: 10px;
}

#slidemenu_list li.meIconPhone {
	width: 100%;
	margin-top: 10px;
	border: solid 3px #888;
	border-radius: 15px;
}
#slidemenu_list .meIconPhone a {
	padding: 0.5em;
	text-align: center;
	color: #888;
	background-color: #FFF;
	font-size: 1.8rem;
	font-weight: bold;
	border-radius: 13px;
}
#slidemenu_list .spme-sinryo {
	padding: 0 5%;
	margin-bottom: 1em;
}

/* ----------------------
	MAINNAVI
---------------------- */
#menu {
	clear: both;
	width: 100%;
}
#menu ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	list-style: none;
	align-items: stretch;
}
#menu ul li {
	width: 12.5%;
	text-align: center;
	border-left: solid 1px #999;
	padding: 0 3px;
}
#menu ul li:last-child {
	border-right: solid 1px #999;
}
#menu ul a {
	display: block;
	border-radius: 3px;
	color: #000;
	font-weight: bold;
	text-decoration: none;
	padding: .5em 3px;
	width: 100%;
}
#menu ul a:hover, #menu ul a:active {
	background: #E4F0FF;
}

/* ----------------------
	BREADCRUMB
---------------------- */
#bread {
	line-height: 1;
	font-size: 0.875em;
}
#bread ul {
	padding: 0 3%;
	overflow: hidden;
	list-style: none;
}
#bread li {
	float: left;
}
#bread a {
	display: block;
	padding: 0.5em 0.5em 0.5em 1.5em;
	float: left;
	text-decoration: none;
	color: #666;
	position: relative;
}
#bread a:before {
	position: absolute;
	content: "กไ";
	color: #AAA;
	left: 0;
}
#bread li:first-child a {
	padding-left: 0 !important;
} 
#bread li:first-child a:before {
	content: none;
} 
#bread li.breadC a {
	font-weight: bold;
}

/* ----------------------
	CONTENTS
---------------------- */
.contents {
	padding-bottom: 4em;
}
.bg1 {
}
.bg2 {
	background: #E4F0FF;
}
section {
	padding: 1em 3%;
}
.contents h1, 
.contents h2, 
.contents h3, 
.contents h4, 
.contents h5, 
.contents h6 {
	-webkit-font-feature-settings: 'pkna';
	font-feature-settings: 'pkna';
	margin: 1em 0;
	line-height: 1.3;
	letter-spacing: 0.0025em;
	font-weight: bold;
}
.contents h1 {
	position: relative;
	text-align: center;
	font-size: 1.625em;
	font-weight: normal;
	margin-top: .5em;
}
.contents h1 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 0 1.5em;
	padding: 0 1em;
	background-color: #fff;
	text-align: left;
}
.contents h1::after {
	display: block;
	position: absolute;
	z-index: 1;
	content: '';
	top: 50%;
	left: 0;
	width: 100%;
	height: 1px;
	border-top: solid 1px #999;
}
.contents h2 {
	font-size: 1.625em;
	font-weight: normal;
	text-align: center;
}
h2.style_bl {
	color: #0072D5;
	font-size: 4.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	text-align: left;
}
.contents h3 {
	font-size: 1.375em;
}
.contents h4, 
.contents h5 {
	font-size: 1.125em;
}
.contents p {
	line-height: 1.8;
	margin: 0.5em 0 2em;
}

.mgn0 {
	margin: 0 !important;
}
.mgn-s {
	margin: 0.5em 0 1em !important;
}
.mgn-t0 {
	margin-top: 0 !important;
}
.mgn-b0 {
	margin-bottom: 0 !important;
}
.kome {
	margin-left: 1em !important;
    text-indent: -1em;
}
.pd5 {
	padding-right: 5%;
	padding-left: 5%;
}
.pd10 {
	padding-right: 10%;
	padding-left: 10%;
}
.pd15 {
	padding-right: 15%;
	padding-left: 15%;
}
.pd25 {
	padding-right: 25%;
	padding-left: 25%;
}

ol.ol1 {
	margin: 0 0 1em 1.5em;
}
ol.ol1 li {
	margin-bottom: .5em;
	line-height: 1.6;
}
ul.ulcolor1 {
	list-style: none;
	margin: 0 0 1em;
}
ul.ulcolor1 li {
	margin-bottom: 0.3em;
	line-height: 1.6;
	padding-left: 1em;
	position: relative;
}
ul.ulcolor1 li::before {
	position: absolute;
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 100%;
	background: #666;
	left: 3px;
	top: 0.8em;
	margin-top: -3px;
	display: inline-block;
}
.pagenavi {
	margin: 1em 0;
	text-align: center;
}
.pagenavi ul {
	list-style: none;
	letter-spacing: -.50em;
}
.pagenavi ul li {
	display: inline-block;
	/display: inline;  /* IE */
	/zoom: 1;  /* IE */
	vertical-align: top;
	letter-spacing: normal;
	margin-bottom: 1em;
}
.pagenavi ul li a {
	padding: 0.1em 1em;
	border-right: solid 1px #CCCCCC;
}
.pagenavi ul li:last-child a {
	border: none;
}
.imgbutton {
	text-align: center;
	margin: 2em 0 !important;
}
.imgbutton img {
	width: 55%;
}

/* ----------------------
	BOX
---------------------- */
.boxcontainer {
	list-style: none;
	width: 100%;
	letter-spacing: -.50em;
	margin: 0 auto 10px;
	overflow: hidden;
}
.boxcontainer .box {
	display: inline-block;
	/display: inline;  /* IE */
	/zoom: 1;  /* IE */
	vertical-align: top;
	letter-spacing: normal;
}
.box2 {
	width: 49.5%;
	padding: 0 10px 10px;
}
.box3 {
	width: 33%;
	padding: 0 10px 10px;
}
.box4 {
	width: 24.75%;
	padding: 10px;
}
.box5 {
	width: 19.8%;
	padding: 10px;
}

.flcontainer::after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.ltbox {
	width: 48%;
	float: left;
}
.rtbox {
	width: 48%;
	float: right;
}
/* ----------------
     THUMBNAIL
----------------- */
.listthumb {
    position: relative;
	overflow: hidden;
	border: none;
	text-align: center;
	width: 100%;
	height: 100%;
	box-shadow: 0 1px 5px rgba(0,0,0,0.2);
}
.listthumb:after {
    padding-top: 100%;
    display: block;
    content: "";
}
.listthumb > .content {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	margin: 0;
	text-align: center;
}
.listthumb img {
	max-width: 100%;
	max-height: 100%;
	text-align: center;
	position: absolute;
	margin: auto;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

/* ---------------------------
	FOOTER
--------------------------- */
#footer {
	background: #E4F0FF;
	width: 100%;
	color: #000;
	padding-bottom: 30px;
}
.inner {
	padding: 0 3%;
}
#footer .inner::after {
	content: '.';
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

#footer a {
	color: #000;
	text-decoration: none;
}
#footer a:hover, #footer a:active {
	color: #09F;
}

/* ----------------------
	CALENDAR ACCESS
---------------------- */
.acccess {
	background: #E4F0FF;
}
.acccess .inner {
	padding-top: 40px;
	position: relative;
}
.acccess h2 {
	display: block;
	position: absolute;
	font-size: 46px !important;
	top: -24px;
	line-height: 1;
	margin: 0;
}
.acccess img {
	margin: 4px 0;
}
.box-cal {
	width: 55%;
	padding: 0 1em 10px;
	margin-bottom: 1em;
}
.box-tel {
	width: 44%;
	padding: 0 1em 10px 1.5em;
}
.box-tel img {
	margin-bottom: 1em;
}
address {
	letter-spacing: .05em;
	font-style: normal;
	line-height: 1.8;
}
address strong {
	display: block;
	font-size: 110%;
}
address a {
	color: #000 !important;
	text-decoration: none !important;
}

/* 
	googlemap
---------------------- */
.acccess .map {
	display: block;
	text-align: center;
	height: 300px;
	margin: 0;
	overflow: hidden;
}
.acccess .map iframe {
	width: 100%;
	height: 600px;
	margin-top: -150px;
	text-align: center;
}
.maplink {
	font-size: 1.4rem;
	text-align: right;
	margin: .5em 0 1em;
}
.maplink img {
	width: auto;
	height: 2rem;
	vertical-align: middle;
	margin-left: .5em;
}

/* 
	RECRUIT BANNER
---------------------- */
.recruit {
	background: #FFF;
	padding: 1em 0;
}

/* 
	RECRUIT BANNER
---------------------- */
/* #F4F9FF */
.ftmenu {
	background: #FFF;
	border-top: solid 3px #E4F0FF;
	padding: 1.5em 0 3em;
}
.ftmenu .inner {
}
.ftmenu ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.ftmenu ul li {
	vertical-align: top;
	letter-spacing: normal;
	margin-bottom: 1em;
}
.ftmenu ul li a {
	padding: 0.1em 1em;
	border-right: solid 1px #999;
}
.ftmenu ul li:last-child a {
	border: none;
}
.ftmenu ul::after {
	content: '.';
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}


#copy {
	letter-spacing: normal;
	font-size: 1.2rem;
	margin: 1em 0 50px;
	text-align: center;
}

.forPC {
	display: block;
}
.forSP {
	display: none;
}
.fs_xs {font-size: 1.2rem !important;}
.fs_s {font-size: 1.4rem !important;}
.fs_m {font-size: 1.5rem !important;}
.fs_l {font-size: 1.6rem !important;}
.fs_xl {font-size: 2rem !important;}
.fs_xxl {font-size: 2.2rem !important;}

@media screen and (min-width:700px){
.spbr {
	display: none;
}
}
@media screen and (min-width: 1120px){
#hdr .inner,  
#bread ul, 
section, 
#footer .inner {
	width: 1080px;
	max-width: none;
}
}

@media screen and (min-width: 1400px){
#hdr .inner,  
#bread ul, 
section, 
#footer .inner {
	width: 1280px;
}
.acccess .map {
	height: 400px;
}
.acccess .map iframe {
	height: 700px;
	margin-top: -150px;
}
.fs_xs {font-size: 1.3rem !important;}
.fs_s {font-size: 1.5rem !important;}
.fs_m {font-size: 1.6rem !important;}
.fs_l {font-size: 1.8rem !important;}
.fs_xl {font-size: 2.2rem !important;}
.fs_xxl {font-size: 2.4rem !important;}
}

