@font-face {
	font-family: "Hiragino Sans CNS";
	src: url(../../fonts/Hiragino-Sans-CNS.ttc);
}
body {
	margin: 0;
	padding: 0;
	font-family:hiragino-kaku-gothic-pron, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-size:16px;
	line-height:180%;
	color: #606B71;
	background: #F5F9FA;
/*	min-width:1200px;*/
	-webkit-text-size-adjust: 100% ;/* iPhoneフォントサイズ拡大対策 */
}
img {
	border: none;
	vertical-align:bottom;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd {
	font-size:100%;
	margin: 0;
	padding: 0;
	list-style:none;
	box-sizing:border-box;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd, ol, ol li, table, th, td {
	background-image:url(../image/spacer.gif); /* AndroidページのP要素の隙間対策 */
}
a:link {color:#06F; outline:none; }
a:visited {color:#06F;}
a:hover {color: #333;}
a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
#wrapper {}
#base {}

.pc {display:block;}
.sm {display:none;}

/*====================================================================================================
  HEADER
====================================================================================================*/

#header {
	display:flex;
	align-items: center;
	justify-content:space-between;
}

/*** LOGO ******************************************************************/
#header h1,
#header h1 a { display: block; width:183px; height:55px; }
#header h1 { text-align: center; margin-left: 48px; }
#header h1 a {
	color: #222;
	
	text-indent: -9999px;
	background: url(../image/logo.svg) no-repeat;
	
}

/*** NAVIGATION ************************************************************/
#Nav { max-width: 1000px;}
#Nav ul { display:flex; column-gap: 45px; align-items:center; }
#Nav ul li {}
#Nav ul li a {
	display: flex;
	color: #707070;
	padding: 10px 0;
	font-size:112.5%;
	font-weight: 600;
	line-height: 130%;
	position: relative;
	align-items: center;
	text-decoration: none;
	box-sizing: border-box;
	justify-content: center;
}
#Nav ul li:not(.recruit) a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 5px;
	width: 0;
	height: 1px;
	background: #707070;
	transition: width 0.5s;
}
#Nav ul li:not(.recruit) a:hover::after { width:100%; }

#Nav ul li.recruit { width:236px; }
#Nav ul li.recruit a {
	z-index: 1;
	color: #FFF;
	height: 100px;
	overflow: hidden;
	background: #3689BB;
	border-radius:0 0 0 30px;
}
#Nav ul li.recruit a::after {
	content: "";
	position: absolute;
	top: 0;
	z-index: -1;
	left: 0;
	width: 0;
	height: 100%;
	background: #78C3DE;
	transition: width 0.5s;
	border-radius:0 0 0 30px;
}
#Nav ul li.recruit a:hover::after { width:100%; }


/*====================================================================================================
  CONTENT
====================================================================================================*/

#content { clear:both; width:100%; }

.container { max-width:1200px; margin:0 auto; }
/* BUTTON */
.b_more { width:fit-content; }
.b_more a {
	display: block;
	color: #FFF;
	font-size: 125%;	
	font-weight: 600;
	position: relative;
	padding-right: 83px;
	text-decoration: none;
	transition: 0.2s ease;
}
.b_more a::before,
.b_more a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	transition: 0.2s ease;
	transform: translateY(-50%);
}
.b_more a::before { background: #FFF; }
.b_more a::after { background: url(../image/arrow_right1.svg) no-repeat center 45%; }
.b_more a:hover::before { transform: translateY(-50%) scale(1.2); }
.b_more a:hover::after { background-position:60% 45%; }
/* BLUE BUTTON */
.m_blue a { color:#005787; }
.m_blue a::before { background: #005787; }
.m_blue a::after { background: url(../image/arrow_right2.svg) no-repeat center 45%; }

/*** SNS *******************************************************************/
ul.sns { display:flex; align-items:center; }
ul.sns li.b_more {}
ul.sns li.b_more a { font-size:100%; padding-right:55px; }
ul.sns li.b_more a::before { width:40px; height:40px; }
ul.sns li.b_more a::after { width:40px; height:40px; background-size:17px 10px; }
ul.sns li.icon_sns a { display: block; text-decoration:none; color:#FFF; text-align:center; transition:0.1s; }
ul.sns li.icon_sns a b { display:block; width:27px; height:27px; margin:auto; text-indent:-9999px; }
ul.sns li.icon_sns a span { display:block; font-size:68.8%; font-weight: 600; line-height:100%; margin-top:7px; }
ul.sns li.sns_insta { margin-left:43px; }
ul.sns li.sns_insta a b {
	background: url(../image/icon_insta.svg) no-repeat;
	background-size: contain;
}

/* SNS HOVER EFFECTS */
ul.sns li.sns_twitter a:hover { color:#22C4FC; }
ul.sns li.sns_insta a:hover { color:#F7B5FF; }
ul.sns li.sns_insta a:hover b {
	background: url(../image/icon_insta-color.svg) no-repeat;
	background-size: contain;
}



/*** CONTACT *******************************************************************/
#contact_box { display: flex; padding-bottom: 150px; justify-content:space-between; }
#contact_box a { text-decoration:none; }
#contact_box .medium { background:#FFF; border-radius:30px; }
#contact_box .form { padding:70px 65px; width:44.6%; }
#contact_box .form h4 { text-align:center; }
#contact_box .form h4 b { display:block; font-size: 193.8%; font-weight: 600; }
#contact_box .form h4 small {
	display:block;
	color: #3689BB;
	font-size: 75%;
	font-weight: 600;
	letter-spacing: 0.2em;
	margin-top: 5px;
}
#contact_box .form .come { font-weight: 300; text-align: center; margin-block: 25px 5px; }
#contact_box .form .form_btn { max-width:353px; margin:0 auto; }
#contact_box .form .form_btn a {
	z-index: 1;
	color: #FFF;
	display: block;
	overflow: hidden;
	font-size: 137.5%;
	font-weight: 600;
	padding: 18px 15px;
	position: relative;
	text-align: center;
	background: #4BBDC1;
	border-radius: 33px;
	font-family:  "Hiragino Sans CNS", sans-serif;
}
#contact_box .form .form_btn a::after {
	content: "";
	position: absolute;
	top: 0;
	z-index: -1;
	left: 0;
	width: 0;
	height: 100%;
	background: #3689BB;
	transition: width 0.3s;
}
#contact_box .form .form_btn a:hover::after { width:100%; }
#contact_box .phone { width:54.9%; }
#contact_box .phone dl {
	height: 100%;
	width: 63.6%;
	display:flex;
	margin: auto;
	align-items: center;
	flex-direction:column;
	justify-content:center;
}
#contact_box .phone dl dt {
	color: #FFF;
	width: 100%;
	padding: 5px 10px;
	font-size: 112.5%;
	font-weight: 600;
	text-align: center;
	background:#3689BB;
}
#contact_box .phone dl dd {
	width: 100%;
	display: flex;
	padding-block: 5px;
	align-items: center;
	justify-content: center;
	border-bottom:1px solid #AFD0E4; 
}
#contact_box .phone dl dd img { margin-right:15px; }
#contact_box .phone dl dd b a {
	color: #606B71;
	display: block;
	padding-block: 10px;
	font-size: 262.5%;
	font-weight: 800;
	line-height: 100%;
	font-family: "M Plus Rounded 1C", sans-serif;
}
#contact_box .phone dl dd small { font-size: 100%; font-weight: 300; }


/*====================================================================================================
  FOOTER
====================================================================================================*/

#footer { width:100%; color: #FFF; background:#005787; position:relative; }
#footer .container { display:flex; flex-wrap:wrap; justify-content:space-between; padding-top:85px; }
#footer .f_info {}
#footer .f_info .logo {}
#footer .f_info .address { margin-block:25px 35px; font-size: 106.3%; font-weight: 300; }

#footer ul.f_nav {
	columns: 3;
	-moz-columns: 3;
	-webkit-columns: 3;
	column-gap: 0;
	column-width: auto;
}
#footer ul.f_nav li { width:fit-content; }
#footer ul.f_nav li:nth-child(even) { margin-top:10px; }
#footer ul.f_nav li a {
	color: #FFF;
	display: block;
	overflow: hidden;
	font-size: 112.5%;
	font-weight: 600;
	position: relative;
	padding-block: 10px;
	text-decoration: none;
}
#footer ul.f_nav li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 5px;
	width: 0;
	height: 1px;
	background: #FFF;
	transition: width 0.5s;
}
#footer ul.f_nav li a:hover::after { width:100%; }

#footer .copy {
	flex-basis:100%;
	font-size: 81.3%;
	font-weight: 600;
	margin-top: 25px;
	text-align: center;
	padding-block: 22px 27px;
	border-top: 1px solid #3689BB;
	font-family: "fot-udkakugo-large-pr6n", sans-serif;
}




/*====================================================================================================
  PAGE
====================================================================================================*/

#page,
#page a { display:block; width:80px; height:80px; border-radius:0 0 0 15px; }
#page { position: absolute; top:0; right: 0; }
#page a {
	z-index: 1;
	overflow: hidden;
	position: relative;
	text-indent: -9999px;
	background:#3689BB;
}
#page a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(../image/page_top.svg) no-repeat center;
	background-size: 14px 23px;
}
#page a::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 100%;
	left: 0;
	width: 100%;
	height: 100%;
	background: #4BBDC1;
	transition: top 0.3s;
	border-radius:0 0 0 15px;
}
#page a:hover::before { top:0; }

/*====================================================================================================
  COLOR eto.. [No Touch]
====================================================================================================*/
.light-blue { color: #40A6DD;}
.blue { color: #0000FF;}
.dark-blue { color: #000099;}
.purple { color: #660099;}
.pink { color: #FF6699;}
.red { color: #FF0000;}
.orange { color: #FF6600;}
.yellow { color: #FFCC00;}
.white { color: #FFFFFF;}
.gray { color: #666666;}
.brown { color: #663300;}
.green { color: #339900;}
.italic { font-style: italic;}
.strong { font-weight: bold;}
.large { font-size: 115%; line-height: 140%;}
.small { font-size: 80%;}
.underline { text-decoration: underline;}
.line-through { text-decoration: line-through;}
.left { text-align: left;}
.center { text-align: center;}
.right { text-align: right;}