7@charset "utf-8";

/* ---------------
	reset
--------------------*/
body, div, main,
dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
figure, pre, form, fieldset, textarea, p, blockquote, th ,td {
	margin: 0;
	padding: 0;
}

main {
	display: block;
	overflow: hidden;
}

ul{
	list-style-type: none;
}

table {
	line-height: 1.6;
	border: 0px;
	border-collapse:collapse;
	font-size: 1.6rem;
}

table th {
	font-weight: normal;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}
textarea {
	padding: 2px 4px;
	font-size: 1.6rem;
	line-height: 1;
	color: #333;
}

input {
	vertical-align: middle;
	margin: 0;
	padding: 0;
}

button {
	border: none;
	margin: 0;
	padding: 0;
}

p {
	line-height: 1.5;
}

img {
	border: none;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
}

address {
	font-style:normal;
}

ul li {
	line-height: 1.4;
}

*,*::before,*::after{
	box-sizing: border-box;
}

em {
	font-style: normal;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.lg_1 .main,
.lg_1 .wrapper {
	overflow: initial;
}

/* ---------------
　　　共用
--------------- */

html {
    font-size: 62.5%;
}

body  {
	margin: 0;
	font-size: 1.6rem;
	letter-spacing: 0.03em;
	line-height: 1;
	color: #333;
	font-family: 'Noto Sans JP', sans-serif;
	-webkit-text-size-adjust: none;
	-webkit-print-color-adjust: exact;
}

a:link {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.2s ease;
}

a:visited {
	border: none;
	color: #333;
	text-decoration: none;
}

a:active {
	border: none;
	color: #333;
	text-decoration: none;
}

a:hover {
	border: none;
	color: #333;
	text-decoration: none;
	transition: all 0.2s ease;
}

@media screen and (min-width: 768px) {

	.alpha a:hover {
		filter: alpha(opacity=70);
		-moz-opacity:0.7;
		opacity:0.7;
		transition: opacity 0.25s ease 0s;
	}

	.alpha a {
		-webkit-transition: all 0.25s ease 0s;
		-moz-transition: all 0.25s ease 0s;
		transition: opacity 0.25s ease 0s;
	}

}

.ft_min {
	font-family: 'Noto Serif JP', serif;
}

.sp {
	display: none;
}

.pc {
	display: block;
}

a[href^="tel:"] {
    text-decoration: none !important;
	color: #333;
}

img.fit {
	width: 100%;
	height: auto;
}

a[href^="no_large"] {
    pointer-events: none;
}

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

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

	.wrapper {
	}

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.columnImage {
		width: 100%;
	}

}

@media screen and (min-width: 768px) {

	br.tb {
		display: block;
	}

}

a.no_link {
	cursor: default;
	text-decoration: none !important;
    pointer-events: none;
}

@media screen and (min-width: 768px) {

	a[href^="tel:"] {
	    pointer-events: none;
	}

}

.center {
	text-align: center;
}

a.arrow,
a.arrow_left,
.arrow_maru_white,
.arrow_maru_blue {
	position: relative;
}

a span.arrow,
a span.arrow_w {
	padding-right: 10px;
	display: inline-block;
	position: relative;
}

button span.arrow_w {
	padding-left: 20px;
	display: inline-block;
	position: relative;
}

a.arrow {
	padding-right: 15px;
}

a.arrow_left {
	padding-left: 15px;
}

a.arrow::after,
a span.arrow::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	top: 0;
	bottom: 0;
	right: 0px;
	margin: auto;
	border-top: 2px solid #009bd2;
	border-right: 2px solid #009bd2;
	transform: rotate(45deg);
}

a.arrow_left::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	top: 0;
	bottom: 0;
	left: 0px;
	margin: auto;
	border-top: 2px solid #009bd2;
	border-right: 2px solid #009bd2;
	transform: rotate(45deg);
}

a span.arrow_w::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	top: 0;
	bottom: 0;
	right: 0px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

button span.arrow_w::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	top: 0;
	bottom: 0;
	left: 0px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}

.arrow_maru_white::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	top: 0;
	bottom: 0;
	left: 9px;
	margin: auto;
	border-top: 2.5px solid #fff;
	border-right: 2.5px solid #fff;
	transform: rotate(45deg);
}

.arrow_maru_white::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #fff;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.arrow_maru_blue::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 9px;
	height: 9px;
	top: 0;
	bottom: 0;
	left: 9px;
	margin: auto;
	border-top: 2.5px solid #009bd2;
	border-right: 2.5px solid #009bd2;
	transform: rotate(45deg);
}

.arrow_maru_blue::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #009bd2;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}

.out {
	padding-right: 20px;
	background: url(../images/common/icon_out.png) no-repeat right center;
	background-size: 13px auto;
}

#menu_btn {
	display: block;
	width: 60px;
	height: 60px;
	position: fixed;	
	top: 0;
	right: 0;
	background: #009bd2;
	cursor: pointer;
	z-index: 2;
}

#menu_btn::before,
#menu_btn::after,
#menu_btn span {
	position: absolute;
	content: '';
	width: 30px;
	height: 3px;
	background-color: #fff;
	left: 0;
	right: 0;
	margin: auto;
}

#menu_btn::before {
	top: 18px;
}

#menu_btn span {
	top: 28.5px;
}

#menu_btn::after {
	top: 39px;
}

@media screen and (min-width: 768px) {

	#menu_btn {
		width: 80px;
		height: 80px;
	}

	.lg_1 #menu_btn {
		top: 85px;
	}
	
	#menu_btn::before,
	#menu_btn::after,
	#menu_btn span {
		width: 35px;
		height: 3px;
	}
	
	#menu_btn::before {
		top: 27px;
	}
	
	#menu_btn span {
		top: 38px;
	}
	
	#menu_btn::after {
		top: 49px;
	}

}

.menu {
	position: absolute;
	width: calc(100% + 30px);
	left: -15px;
	top: -12px;
	display: none;
	z-index: 20;
	background: #fff;
}

.menu_main {
	margin: 0 auto;
	padding: 50px 0 0;
	text-align: center;
}

.menu_main h2 {
	margin: 0 0 20px 15px;
	font-size: 2.2rem;
	position: relative;
}

.menu_main h2 span {
	padding: 0 10px;
	background: #fff;
	position: relative;
	z-index: 2;
}

.menu_main h2::before,
.menu_main h2::after {
	position: absolute;
	content: '';
	left: 0;
	width: 100%;
	height: 1px;
	background: #e8e8e8;
}

.menu_main h2::before {
	top: 12px;
}

.menu_main h2::after {
	top: 17px;
}

@media screen and (min-width: 768px) {

	.menu {
		width: calc(100% + 60px);
		left: -30px;
		top: -30px;
	}
	
	.menu_main {
		padding: 80px 0 0;
		width: 1215px;
	}
	
	.menu_main h2 {
		margin: 0 0 15px 60px;
		font-size: 2.4rem;
	}
	
}

.menu_table {
	table-layout: fixed;
	position: relative;
}

.menu_table::before {
	position: absolute;
	content: '';
	left: 14px;
	top: 40px;
	width: calc(52% - 7px);
	height: calc(100% - 35px);
	background: url(../images/common/table_back_left.png) repeat-y;
	background-size: contain;
	z-index: 2;
}

.menu_table::after {
	position: absolute;
	content: '';
	left: calc(56% - 7px);
	top: 40px;
	width: calc(48% - 7px);
	height: calc(100% - 35px);
	background: url(../images/common/table_back_right.png) repeat-y;
	background-size: contain;
	z-index: 2;
}

@media screen and (min-width: 768px) {

	.menu_table {
		table-layout: fixed;
		width: 1215px;
	}
	
	.menu_table::before {
		left: 65px;
		top: 50px;
		width: 595px;
		height: calc(100% - 50px);
		background: url(../images/common/table_back_left.png) repeat-y;
		background-size: 595px auto;
	}
	
	.menu_table::after {
		left: 670px;
		top: 50px;
		width: 545px;
		height: calc(100% - 50px);
		background: url(../images/common/table_back_right.png) repeat-y;
		background-size: 545px auto;
	}

}

.menu_table thead th {
	padding: 0 0 5px;
	font-size: 1.6rem;
}

.menu_table .thead_blank {
	width: 14px;
}

.menu_table .thead_left {
	padding-left: 2%;
	color: #636cdc;
	width: 52%;
	border-right: 2px solid #fff;
}

.menu_table .thead_left span {
	padding-bottom: 5px;
	display: block;
	border-bottom: 2px solid #a8b9f2;
}

.menu_table .thead_right {
	color: #8e4fa1;
	width: 46%;
}

.menu_table .thead_right span {
	padding-bottom: 5px;
	display: block;
	border-bottom: 2px solid #d7bcdf;
}

@media screen and (min-width: 768px) {

	.menu_table thead th {
		padding: 0 0 10px;
		font-size: 1.8rem;
	}
	
	.menu_table .thead_blank {
		width: 60px;
	}
	
	.menu_table .thead_left {
		width: 595px;
		border-right: 5px solid #fff;
	}
	
	.menu_table .thead_left span {
		padding-bottom: 8px;
		border-bottom: 3px solid #a8b9f2;
	}
	
	.menu_table .thead_right {
		width: 545px;
	}
	
	.menu_table .thead_right span {
		padding-bottom: 8px;
		border-bottom: 3px solid #d7bcdf;
	}

}

.menu_table .left_th_top {
	position: relative;
	padding: 0 7px;
}

.menu_table .left_th_top span,
.menu_table .left_th_bottom span {
	display: none;
}

.menu_table .left_th_top::before {
	position: absolute;
	content: '';
	width: 2px;
	height: 100%;
	top: 0;
	left: 4px;
	background: #a3d1bb;
}

.menu_table .left_th_bottom {
	position: relative;
}

.menu_table .left_th_bottom::before {
	position: absolute;
	content: '';
	width: 2px;
	height: 120px;
	top: 0;
	left: 4px;
	background: #a3d1bb;
}

.menu_table .left_th_bottom::after {
	position: absolute;
	content: '';
	width: 2px;
	height: 100%;
	top: 0;
	left: 9px;
	background: #f0c792;
}

@media screen and (min-width: 768px) {

	.menu_table .left_th_top {
		color: #22a667;
		vertical-align: bottom;
		text-align: center;
		font-size: 1.8rem;
		width: 60px;
		padding: 0;
		writing-mode: vertical-rl;
	}

	@-moz-document url-prefix(){
		.menu_table .left_th_top {
			vertical-align: middle;
	    }
	}

	.menu_table .left_th_top span,
	.menu_table .left_th_bottom span {
		display: inline;
	}
	
	.menu_table .left_th_top::before {
		width: 3px;
		right: 18px;
		left: auto;
	}
	
	.menu_table .left_th_bottom {
		padding-bottom: 10px;
		color: #d87d3a;
		vertical-align: bottom;
		font-size: 1.8rem;
		writing-mode: vertical-rl;
	}
	
	.menu_table .left_th_bottom::before {
		width: 3px;
		height: 90px;
		right: 18px;
		left: auto;
	}
	
	.menu_table .left_th_bottom::after {
		width: 3px;
		right: 10px;
		left: auto;
	}

}

.menu_table td {
	border-top: 5px solid #fff;
	border-bottom: 5px solid #fff;
	border-left: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 18px;
}

@media screen and (min-width: 768px) {

	.menu_table td {
		width: 45px;
		border: 5px solid #fff;
	}

	.menu_table td.td2 {
		width: 90px;
	}
	
	.menu_table td.td3 {
		width: 135px;
	}
	
	.menu_table td.td4 {
		width: 180px;
	}
	
	.menu_table td.td5 {
		width: 225px;
	}
	
	.menu_table td.td6 {
		width: 270px;
	}
	
	.menu_table td.td7 {
		width: 315px;
	}
	
	.menu_table td.td8 {
		width: 360px;
	}
	
	.menu_table td.td9 {
		width: 405px;
	}
	
	.menu_table td.td10 {
		width: 450px;
	}
	
	.menu_table td.td11 {
		width: 495px;
	}
	
	.menu_table td.td12 {
		width: 540px;
	}
	
	.menu_table td.td13 {
		width: 585px;
	}
	
	.menu_table td.td14 {
		width: 630px;
	}

	.menu_table td.td15 {
		width: 675px;
	}

	.menu_table td.td16 {
		width: 720px;
	}

	.menu_table td.td17 {
		width: 765px;
	}

	.menu_table td.td18 {
		width: 810px;
	}

	.menu_table td.td19 {
		width: 855px;
	}

	.menu_table td.td20 {
		width: 900px;
	}

	.menu_table td.td21 {
		width: 945px;
	}

	.menu_table td.td22 {
		width: 990px;
	}

	.menu_table td.td23 {
		width: 1035px;
	}

}

.menu_table td > span {
	padding: 10px 4px;
	display: block;
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0;
	border: 2px solid #d8e4e9;
	color: #8e8e8e;
	background: #fff;
	position: relative;
	z-index: 3;
	text-align: left;
}

.menu_table td a {
	padding: 10px 4px;
	display: block;
	font-size: 1.2rem;
	line-height: 1.2;
	letter-spacing: 0;
	color: #fff;
  	background: linear-gradient( to right,rgb(0,123,194), rgb(3,175,230));
  	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.4);
	position: relative;
	z-index: 3;
	text-align: left;
}


.menu_table td.a_center > span,
.menu_table td.a_center a {
	text-align: center;
}

.menu_table td a span {
	text-align: left;
}

.menu_table tbody tr:first-child td {
	padding-top: 10px;
}

.menu_table tbody tr:last-child td {
	padding-bottom: 5px;
}

.menu_table a span.arrow_w {
	padding-right: 5px;
}

.menu_table a span.arrow_w::after {
    width: 6px;
    height: 6px;	
	border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

@media screen and (min-width: 768px) {

	.menu_table td > span {
		padding: 10px 0;
		font-size: 1.6rem;
		border: 2px solid #d8e4e9;
		text-align: center;
	}
	
	.menu_table td a {
		padding: 10px 0;
		font-size: 1.6rem;
		text-align: center;
	}

	.menu_table a span.arrow_w {
		padding-right: 10px;
	}

	.menu_table a span.arrow_w::after {
    	width: 10px;
    	height: 10px;	
		border-top: 2px solid #fff;
    	border-right: 2px solid #fff;
	}

	.menu_table tbody tr:first-child td {
		padding-top: 10px;
	}

	.menu_table tbody tr:last-child td {
		padding-bottom: 10px;
	}

}

.sp_menu_left_th {
	padding: 20px 30px 30px;
}

.sp_menu_left_th ul {
	margin: 0;
	padding: 0;
}

.sp_menu_left_th li {
	margin: 6px 0;
	padding: 0 0 0 24px;
	font-size: 1.6rem;
	position: relative;
}

.sp_menu_left_th li::before {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 2px;
}

.sp_menu_left_th li.color_green {
	color: #22a667;
}

.sp_menu_left_th li.color_orange {
	color: #d87d3a;
}

.sp_menu_left_th li.color_green::before {
	background: #a3d1bb;
}

.sp_menu_left_th li.color_orange::before {
	background: #f0c792;
}


@media screen and (min-width: 768px) {

	.sp_menu_left_th {
		display: none;
	}

}

.menu_link {
	background: #fff;
}

.menu_link ul {
	margin: 0;
	padding: 0;
}

.menu_link li {
	text-align: center;
	font-size: 1.6rem;
	border-top: 1px solid #f0f0f0;
	width: 100%;
}

.menu_link li a {
	padding: 18px 12px 18px 0;
	color: #009bd2;
	display: inline-block;
}

@media screen and (min-width: 768px) {

	.menu_link {
		padding: 80px 0 0;
	}
	
	.menu_link li a {
		padding: 24px 15px 24px 0;
	}

}

.menu_footer {
	padding: 10px 20px;
	background: #f0f0f0;
}

.menu_footer ul {
	margin: 0;
	padding: 0;
}

.menu_footer li {
	margin: 10px 0;
	font-size: 1.4rem;	
}

@media screen and (min-width: 768px) {

	.menu_footer {
		padding: 60px 0;
	}
	
	.menu_footer ul {
		display: flex;
		justify-content: center;
	}
	
	.menu_footer li {
		margin: 0 30px;
	}

}

#menu_back {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  transition: all 0.5s ease;
  opacity: 0;
  z-index: -1;
  background-color: #f0f0f0;
}

.menu_open #menu_back {
  opacity: 1;
  z-index: 10;
}

#menu_close {
	position: absolute;
	top: 15px;
	right: 18px;
	width: 30px;
	height: 30px;
	cursor: pointer;
}

#menu_close::before,
#menu_close::after {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #009bd2;
	width: 35px;
	height: 3px;
}

#menu_close::before {
	transform: rotate(-45deg);	
}

#menu_close::after {
	transform: rotate(45deg);
}

@media screen and (min-width: 768px) {

	#menu_close {
		top: 20px;
		right: 20px;
		width: 50px;
		height: 50px;
	}

	#menu_close::before,
	#menu_close::after {
		width: 40px;
		height: 3px;
	}

}

/* -----------------
	top
----------------- */

.top_header {
	padding: 10px 15px 70px;
	background: url(../images/top/top_header_back_sp.png) no-repeat center bottom;
	background-size: cover;
	width: 100%;
}

.top_header .header_top {
	margin: 0 0 70px;
	padding-top: 2px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.top_header .logo {
	width: 150px;
	flex-shrink: 0;	
}

.top_header .header_text h1 {
	margin: 0 0 30px;
	font-size: 2.8rem;
	color: #fff;
	line-height: 1.4;
}

.top_header .header_text p {
	margin: 0 0 20px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.7;
}

.top_header .header_btn {
	margin: 0 0 40px;
	padding: 6px 15px 6px 15px;
	border: 1px solid #fff;
	background: none;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	border-radius: 30px;
}

@media screen and (min-width: 768px) {

	.top_header {
		margin: 0;
		padding: 30px 30px 0;
		background: url(../images/top/top_header_back_pc.png) no-repeat center bottom;
		background-size: cover;
		height: 670px;
	}
	
	.top_header .header_top {
		margin: 0 0 40px;
		padding: 0;
	}
	
	.top_header .logo {
		width: 208px;
	}
	
	.top_header .header_text {
		margin: 0 auto;
		max-width: 1200px;
	}
	
	.top_header .header_text h1 {
		margin: 0 0 45px;
		font-size: 5.6rem;
		line-height: 1.25;
	}
	
	.top_header .header_text p {
		margin: 0 0 20px;
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.top_header .header_btn {
		margin: 0 0 60px;
		padding: 8px 30px 8px 25px;
		font-size: 1.8rem;
		font-weight: bold;
		cursor: pointer;
	}
	
	.top_header .header_btn:hover {
		color: #009bd2;
		background: #fff;
	}
	
	.top_header .header_btn:hover span.arrow_w::after {
		border-color: #009bd2;
	}

}

.modal_wrapper {
	opacity: 0;
	z-index: -1;
	transition: opacity 0.30s ease 0s;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	display: flex;
	justify-content: center;
}

.modal_open .modal_wrapper {
	opacity: 1;
	z-index: 10;
}

.modal_back {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.8);
	z-index: 1;
}

.modal_box {
	padding: 40px 20px;
	background: #fff;
	position: relative;
	z-index: 2;
	text-align: center;
}

.about_modal_box h2 {
	margin: 0 0 20px;
	text-align: center;
	font-size: 2.0rem;
	line-height: 1.3;
	position: relative;
	display: flex;
	align-items: center;
}

.about_modal_box h2::before,
.about_modal_box h2::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #009bd2;
	display: block;
}

.about_modal_box h2::before {
	margin-right: 1em;
}

.about_modal_box h2::after {
	margin-left: 1em;
}

.about_modal_box p {
	margin: 0 0 25px;
	color: #333;
	font-size: 1.4rem;
	text-align: left;
}

.about_modal_img img {
	max-width: 100%;
}

.modal_close {
	margin: 35px auto 0;
	padding: 7px 50px;
	background: none;
	font-size: 1.6rem;
	border: 1px solid #009bd2;
	border-radius: 30px;
	color: #333;
}

.modal_close span {
	padding-left: 30px;
	position: relative;
}

.modal_close span::before,
.modal_close span::after {
	position: absolute;
	content: '';
	width: 20px;
	height: 2px;
	background: #009bd2;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(45deg);
}

.modal_close span::before {
	transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {

	.modal_wrapper {
		height: 100%;
		align-items: center;
	}
	
	.modal_box {
		padding: 70px 50px;
		text-align: center;
		max-width: 1140px;
	}
	
	.about_modal_box h2 {
		margin: 0 0 30px;
		font-size: 2.6rem;
	}
	
	.about_modal_box h2::before {
		margin-right: 0.6em;
	}
	
	.about_modal_box h2::after {
		margin-left: 0.6em;
	}
	
	.about_modal_box p {
		margin: 0 0 40px;
		font-size: 1.6rem;
	}
	
	.modal_close {
		font-size: 1.8rem;
	}
	
	.modal_close:hover {
		background: #009bd2;
		color: #fff;
	}
	
	.modal_close:hover span::before,
	.modal_close:hover span::after {
		background: #fff;
	}

}

@media screen and (min-width: 768px) and  (max-height: 880px) {

	.modal_wrapper {
		height: auto;
	}

}

.top_header .search_select select {
	padding: 18px 0 18px 20px;
	font-size: 1.8rem;
	width: 100%;
}

.top_header .search_input {
	padding: 2px 15px 2px 2px;
	width: 100%;
}

.top_header .search_input input {
	padding: 13px 10px 13px 18px;
	font-size: 1.8rem;
	width: 100%;
	background: #fff;
	-webkit-appearance: none;
	appearance: none;
}

@media screen and (min-width: 768px) {

	.top_header .search_box {
		border-radius: 30px;
	}
	
	.top_header .search_select {
		border-radius: 30px 0 0 30px;
	}

	.top_header .search_select select {
		padding: 18px 30px;
		width: auto;
	}
	
	.top_header .search_input {
		padding: 0 30px 0 0;
		border-radius: 0 30px 30px 0;
	}
	
	.top_header .search_input input {
		padding: 15px 20px;
	}

}

.top_slide {
	padding: 50px 0 60px;
}

.top_knowledge {
	background: #0f3453 url(../images/top/star_sp.png) no-repeat center bottom -150px;
	background-size: 100% auto;
}

.top_slide_header {
	margin: 0 20px;
}

.top_slide_header h2 {
	padding: 0 0 30px;
	font-size: 3.8rem;
	font-weight: 200;
	background: url(../images/top/title_back.png) no-repeat center bottom;
	background-size: 150px auto;
	text-align: center;
}

.top_slide_header h2 span {
	margin: 0 0 15px;
	display: inline-block;
	position: relative;
	font-size: 2.0rem;
}

.top_slide_header h2 span::before,
.top_slide_header h2 span::after {
	position: absolute;
	content: '';
	width: 30px;
	height: 1px;
	top: 0;
	bottom: 0;
	margin: auto;
}

.top_slide_header h2 span::before {
	left: -40px;
	background: #009bd2;
}

.top_slide_header h2 span::after {
	right: -40px;
	background: #009bd2;
}

.top_slide_header p {
	margin: 35px 0 15px;
	font-size: 1.6rem;
}


@media screen and (min-width: 768px) {

	.top_slide {
		padding: 50px 0 80px;
	}

	.top_knowledge {
		background: #0f3453 url(../images/top/star_pc.png) no-repeat right bottom -130px;
		background-size: 1200px auto;
	}

	.top_slide_header {
		margin: 0;
		text-align: center;
	}

	.top_slide_header .inner {
		margin: 0 auto;
	}
	
	.top_slide_header h2 {
		padding: 0 0 40px;
		font-size: 6.0rem;
		background: url(../images/top/title_back.png) no-repeat center bottom;
		background-size: 300px auto;
	}
	
	.top_slide_header h2 span {
		margin: 0 0 20px;
		font-size: 2.4rem;
	}
	
	.top_slide_header p {
		margin: 40px 0 40px;
		font-size: 1.8rem;
	}

}

.top_slide_wrapper {
	position: relative;
}

@media screen and (min-width: 768px) {

	.top_slide_wrapper {
		margin-top: -70px;
		position: relative;
		padding: 70px 0 20px 290px;
		display: flex;
		align-items: center;
		overflow: hidden;
	}
	
	.top_dev_slide_btn,
	.top_know_slide_btn {
		margin: 0 0 0 300px;
	}
	
	.top_dev_slide_btn .slick-arrow,
	.top_know_slide_btn .slick-arrow {
		text-indent: -9999px;
		width: 30px;
		height: 50px;
		overflow: hidden;
	}
	
	.top_dev_slide_btn .slick-prev,
	.top_know_slide_btn .slick-prev {
		background: url(../images/top/btn_slide.png) no-repeat;
		background-size: cover;
	}
	
	.top_dev_slide_btn .slick-next,
	.top_know_slide_btn .slick-next {
		margin-left: 65px;
		background: url(../images/top/btn_slide.png) no-repeat;
		background-size: cover;
		transform: rotate(-180deg);
	}

}

.top_slide_box {
	margin: 10px;
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	width: calc(100vw - 100px);
}

.top_slide_box a {
	padding: 25px 20px 10px;
	display: block;
	border: 1px solid #fff;
}

.top_slide_box h3 {
	margin: 0 0 15px;
	font-size: 1.6rem;
	font-weight: bold;
}

.top_slide_box figure {
	margin: 0 0 20px;
	margin-bottom: 20px;
}

.top_slide_box h4 {
	margin: 20px 0 15px;
	font-size: 1.6rem;
}

.top_slide_box p {
	font-size: 1.4rem;
}

@media screen and (min-width: 768px) {

	.top_slide_list .slick-list {
		padding-left: 10px;
	}
	
	.top_slide_box {
		margin: 10px 30px 10px 0;
		width: 380px;
	}
	
	.top_slide_box a {
		padding: 30px 30px 10px;
	}

	.top_slide_box h3 {
		font-size: 1.6rem;
	}
	
	.top_slide_box a:hover {
		border: 1px solid #009bd2;
	}

	.top_slide_box h4 {
		margin: 25px 0 20px;
		font-size: 1.8rem;
	}
	
	.top_slide_box p {
		font-size: 1.6rem;
	}
	
	.top_slide_box.slick-current a {
		border: 1px solid #009bd2;
	}

}

.top_slide_text.slick-slider {
	margin: 0 0 10px;
}

.top_slide_text p.slick-slide {
	margin: 8px 0;
	padding: 0 0 0 20px;
	float: none;
	color: #6e6e6e;
	font-size: 1.3rem;
	position: relative;
	transition: all 0.3s ease;
}

.top_slide_text p.slick-slide::before {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 15px;
	height: 1px;
	background: #aad6ea;
	transition: all 0.3s ease;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(2) {
	padding-left: 20px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(2)::before {
	width: 15px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(3) {
	padding-left: 45px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(3)::before {
	width: 40px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(4) {
	padding-left: 70px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(4)::before {
	width: 65px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(5) {
	padding-left: 95px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(5)::before {
	width: 90px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(6) {
	padding-left: 120px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(6)::before {
	width: 115px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(7) {
	padding-left: 145px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(7)::before {
	width: 140px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(8) {
	padding-left: 170px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(8)::before {
	width: 165px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(9) {
	padding-left: 195px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(9)::before {
	width: 190px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(10) {
	padding-left: 220px;
}

.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(10)::before {
	width: 215px;
}

.top_slide_text p.slick-active {
	font-size: 1.3rem;
}

.top_slide_text p.slick-active::before {
	background: #009bd2;
}

.top_slide_text p.slick-cloned {
	display: none;
}

@media screen and (min-width: 768px) {

	.top_slide_text_wrapper {
		position: absolute;
		top: 0;
		left: 0;
		overflow: hidden;
		margin: 0;
		display: flex;
		align-items: flex-start;
		flex-flow: column;
		justify-content: center;
		height: 100%;
	}

	.top_slide_text.slick-slider {
		margin: 0;
		width: 300px;
	}
	
	.top_slide_text p.slick-slide {
		margin: 15px 0;
		padding: 0 0 0 25px;
		font-size: 1.4rem;
	}

	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(2),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(3),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(4),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(5),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(6),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(7),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(8),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(9),
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(10) {
		padding-left: 25px;
	}
	
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(2)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(3)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(4)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(5)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(6)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(7)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(8)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(9)::before,
	.top_slide_text p.slick-slide:not(.slick-cloned):nth-of-type(10)::before {
		width: 15px;
	}
	
	.top_slide_text p.slick-active {
		padding-left: 75px !important;
		font-size: 1.6rem;
	}
	
	.top_slide_text p.slick-active::before {
		width: 65px !important;
	}
	
}

.top_knowledge .top_slide_header h2,
.top_knowledge .top_slide_header p,
.top_knowledge .top_slide_text p.slick-slide a,
.top_knowledge .top_slide_wrapper .link a {
	color: #fff;
}

.top_slide_text p.slick-active a,
.top_knowledge .top_slide_text p.slick-active a {
	color: #009bd2;
}

.top_slide_wrapper .link {
	margin: 15px 0 0;
	text-align: center;
}

.top_slide_wrapper .link a {
	padding-left: 40px;
	line-height: 2;
}

@media screen and (min-width: 768px) {

	.top_slide_wrapper .link {
		margin: 0 0 0 8px;
		font-size: 1.4rem;
	}
	
	.top_slide_wrapper .link a {
		padding-left: 15px;
	}

}

.top_future > div {
	padding: 40px 20px 60px;
}

.top_future h2 {
	margin: 0 0 35px;
	line-height: 1.3;
	color: #969696;
	font-weight: 100;
}

.top_future h2 img {
	width: 260px;
	vertical-align: baseline;
}

.top_future h2 .no {
	padding: 0 0 0 15px;
	font-size: 4.0rem;
}

.top_future h2 .kurihiraku {
	font-size: 5.2rem;
}

.top_future h2 .mirai {
	font-size: 5.2rem;
	color: #009bd2;
}

.top_future p {
	margin: 0 0 20px;
	font-size: 1.6rem;
	line-height: 1.5;
}

.top_future .link a {
	padding: 0 0 0 35px;
}

@media screen and (min-width: 768px) {

	.top_future {
		padding: 80px 20px 80px 50px;
		display: flex;
		align-items: center;
	}
	
	.top_future > div {
		padding: 0;
		width: 530px;
	}

	.top_future figure {
		margin: 0 60px 0 0;
		width: calc(100% - 590px);
		min-width: 660px;
		max-width: 860px;
		flex-shrink: 0;
	}
	
	.top_future h2 {
		margin: 0 0 40px;
		line-height: 1.3;
	}

	.top_future h2 .kurihiraku {
		font-size: 8.4rem;
	}
	
	.top_future h2 .mirai {
		font-size: 8.4rem;
	}
	
	.top_future h2 img {
		width: 280px;
	}
	
	.top_future p {
		margin: 0 0 35px;
		font-size: 1.8rem;
	}
	
}

.top_bnr {
	padding: 30px 20px 1px;
	background: #f0f4f5;
}

.top_bnr ul {
	margin: 0 auto;
}

.top_bnr li {
	margin: 30px 0 0;
}

@media screen and (min-width: 768px) {

	.top_bnr {
		padding: 50px 0 1px;
	}
	
	.top_bnr ul {
		max-width: 1200px;
	}
	
	.top_bnr li {
		margin: 30px 0 0;
	}

}

/* -----------------
	記事一覧
----------------- */

.page_header.index_header {
	background-color: #fff;
}

.eng_index_wrapper {
	margin: 0 0 80px;
}

.eng_index {
	margin: 10px 0;
}

.eng_index_title h2 {
	padding: 30px 0;
	font-size: 3.8rem;
	font-weight: 200;
	background: url(../images/top/title_back.png) no-repeat center bottom;
	background-size: 150px auto;
	text-align: center;
}

.eng_index_title h2 span {
	margin: 0 0 15px;
	display: inline-block;
	position: relative;
	font-size: 2.0rem;
}

.eng_index_title h2 span::before,
.eng_index_title h2 span::after {
	position: absolute;
	content: '';
	width: 30px;
	height: 1px;
	top: 0;
	bottom: 0;
	margin: auto;
}

.eng_index_title h2 span::before {
	left: -40px;
	background: #009bd2;
}

.eng_index_title h2 span::after {
	right: -40px;
	background: #009bd2;
}

@media screen and (min-width: 768px) {

	.eng_index_wrapper {
		margin: 0 0 120px;
	}

	.eng_index {
		margin: 0 0 40px;
	}

	.eng_index_title h2 {
		padding: 40px 0;
		font-size: 6.0rem;
		background: url(../images/top/title_back.png) no-repeat center bottom;
		background-size: 300px auto;
	}
	
	.eng_index_title h2 span {
		margin: 0 0 20px;
		font-size: 2.4rem;
	}

}

.eng_index ul {
	margin: 30px auto;
	padding: 0;
}

.eng_index li {
	margin: 10px auto 30px;
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
	width: calc(100vw - 50px);
}

.eng_index li a {
	padding: 25px 20px;
	display: block;
	border: 1px solid #fff;
}

.eng_index li h3 {
	margin: 0 0 15px;
	font-size: 1.4rem;
}

.eng_index li figure {
	margin: 0;
}

.eng_index li h4 {
	margin: 20px 0 15px;
	font-size: 1.6rem;
}

.eng_index li p {
	font-size: 1.4rem;
}

@media screen and (min-width: 768px) {

	.eng_index ul {
		margin: 40px auto;
		display: flex;
		flex-wrap: wrap;
		max-width: 1230px;
	}

	.eng_index li {
		margin: 0 15px 30px;
		width: calc(33.3333% - 30px);
	}
	
	.eng_index li a {
		padding: 30px;
	}
	
	.eng_index li a:hover {
		border: 1px solid #009bd2;
	}
	
	.eng_index li h4 {
		margin: 25px 0 20px;
		font-size: 1.8rem;
	}
	
	.eng_index li p {
		font-size: 1.6rem;
	}
	
}

/* -----------------
	検索結果
----------------- */

.search_index {
	margin: 40px 0 70px;
}

.search_index_list {
	margin: 0 20px 60px;
}

.search_index_list li {
	margin: 0 0 40px;
}

.search_index_list li h2 {
	margin: 0 0 20px;
	padding: 0 0 0 15px;
	font-size: 2.0rem;
	line-height: 1.4;
	border-left: 5px solid #009bd2;
}

.search_index_list li p {
	font-size: 1.6rem;
}

.search_index_list li p.link_detail {
	margin: 20px 0 0;
}

.search_index_list li p.link_detail a {
	padding: 0 0 0 40px;
}

.search_index .micro_pege {
	padding: 20px 0 0;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {

	.search_index_list {
		padding: 0 40px;
	}

}

@media screen and (min-width: 768px) {

	.search_index {
		margin: 80px 0 100px;
	}
	
	.no_result {
		text-align: center;
	}
	
	.search_index_list {
		margin: 0 auto;
		max-width: 1200px;
	}
	
	.search_index_list li {
		margin: 0 0 60px;
	}
	
	.search_index_list li h2 {
		font-size: 2.2rem;
	}

	.search_index .micro_pege {
		padding: 0;
	}

}

/* -----------------
	下層ページ
----------------- */

.page_header {
	padding: 10px 15px 0;
	background: #f0f4f5 url(../images/common/header_back_sp.png) no-repeat center bottom;
	background-size: cover;
	text-align: center;
	position: relative;
}

.page_header .header_top {
	display: flex;
	align-items: center;
	position: relative;
	height: 50px;
}

.page_header .logo {
	width: 150px;
	flex-shrink: 0;	
}

.page_title {
	margin: 45px auto 0;
	padding: 0 0 65px;
	color: #fff;
	font-size: 2.8rem;
	line-height: 1.2;
	font-weight: 400;	
}

@media screen and (min-width: 768px) {

	.page_header {
		padding: 30px 30px 0;
		background: #f0f4f5 url(../images/common/header_back_pc.png) no-repeat center bottom;
		background-size: cover;
		height: 310px;
	}

	.page_header .logo {
		width: 208px;
	}
	
	.page_title {
		margin: 70px auto 0;
		padding: 0;
		font-size: 5.6rem;
		line-height: 1.2;
		font-weight: 200;	
	}

}

#search_btn {
    display: block;
    width: 60px;
    height: 60px;
	top: -10px;
    position: absolute;
    right: 46px;
    background: #009bd2;
    cursor: pointer;
}

#search_btn img {
	width: 27px;
}

.page_header .header_search {
	position: absolute;
	left: 0;
	top: 50px;
	width: calc(100% + 40px);
	padding: 40px 20px;
	margin: 0 -20px;
	background: rgba(255,255,255,0.8);
	transform: translateX(100%);
    transition: transform 300ms ease;
}

.search_open .header_search {
	transform: none;
}

.search_box {
	box-shadow: 0px 0px 8px -3px rgba(0,0,0,0.4);
}

.search_select {
	background: linear-gradient(to right, rgb(0,123,194), rgba(3,175,230,0.99608));
	position: relative;
	text-align: left;
}

.search_select select {
	padding: 18px 0 18px 20px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	width: 100%;
	border: none;
	background: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.search_select select option {
	color: #333;
}

.search_select::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	top: 0;
	bottom: 0;
	right: 25px;
	margin: auto;	
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #fff;
}

.search_input {
	padding: 0 18px 0 0;
	background: #fff;
	display: flex;
	align-items: center;
}

.search_input input {
	padding: 15px 20px 15px 20px;
	border: none;
	font-size: 1.6rem;
	width: 100%;
}

.search_input input:focus {
	outline: solid 1px #fff;
}

.search_input .search_submit_btn {
	width: 27px;
	background: #fff;
}

@media screen and (min-width: 768px) {

	#search_btn {
		display: none;
	}

	.page_header .header_search {
		margin: 0 100px 0 40px;
		position: relative;
		left: auto;
		top: auto;
		width: auto;
		padding: 0;
		background: none;
		transform: none;
	}

	.search_box {
		border-radius: 10px 0 0 10px;
		display: flex;
		box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.4);
	}
	
	.search_select {
		border-radius: 10px 0 0 10px;
		background: linear-gradient(to right, rgb(0,123,194), rgba(3,175,230,0.99608));
		position: relative;
	}
	
	.search_select select {
		padding: 12px 30px 12px 20px;
		font-size: 1.6rem;
		width: auto;
	}
	
	.search_select::after {
		right: 15px;
	}
	
	.search_input {
		padding: 0 10px 0 0;
		border-radius: 0 10px 10px 0;
	}
	
	.search_input input {
		padding: 6px 10px;
		width: 200px;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 860px) {

	.page_header {
		padding-left: 20px;
	}

	.page_header .logo {
		width: 180px;
	}

	.page_header .header_search {
		margin: 0 0 0 20px;
	}

	.search_input input {
		width: 160px;
	}

}


/* -----------------
	詳細ページ
----------------- */

.path_column {
	background: #f0f4f5;	
}

.cat_contact .path_column,
.cat_engineering .path_column {
	background: #fff;
}

.path_column .inner {
	margin: 0 auto;
	padding: 15px 20px 40px;
}

.cat_contact .path_column .inner,
.cat_engineering .path_column .inner {
	padding-bottom: 0;
}

.path_column ol {
	padding: 0;
	margin: 0;
	display: flex;
	list-style-type: none;
}

.path_column li {
	font-size: 1.2rem;
}

.path_column li .slash {
	padding: 0 5px;
	color: #009bd2;
}

.path_column li a {
	color: #009bd2;
}

@media screen and (min-width: 768px) {

	.path_column .inner {
		padding: 10px 0 55px;
		max-width: 1200px;
	}

	.cat_contact .path_column .inner,
	.cat_engineering .path_column .inner {
		padding-bottom: 0;
	}
	
	.path_column li {
		font-size: 1.4rem;
	}
	
	.path_column li .slash {
		padding: 0 10px;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 1220px) {

	.path_column .inner {
		padding-left: 20px;
		padding-right: 20px;
	}

}

.page_navi {
	margin: -40px -20px 20px;
	background: #f0f4f5;
}

.page_navi .inner {
	margin: 0 auto;
	padding: 0 20px 30px;
}

.entry_column .page_navi h3 {
	margin: 0 0 20px;
	padding: 0 120px 0 0;
	font-size: 1.4rem;
	font-weight: normal;
	color: #333;
	font-family: 'Yantramanav', sans-serif;
	position: relative;
	display: inline-block;
}

.entry_column .page_navi h3::before {
	position: absolute;
	content: '';
	right: 0;
	top: 6px;
	width: 100px;
	height: 1px;
	background: #009bd2;
}

.entry_column .page_navi ol {
	margin: 0;
	padding: 0;
	list-style-type: none;
	position: relative;
}

.entry_column .page_navi li {
	margin: 0 0 15px;
	padding: 0 0 15px 35px;
	font-size: 1.6rem;
	color: #a9a9a9;
	line-height: 1.6;
	counter-increment: count;
	border-bottom: 1px solid #ddebef;
}

.entry_column .page_navi li::before {
	position: absolute;	
	margin: 0;
	padding: 0;
	left: 0;
	width: 25px;
	height: 25px;
	display: inline-block;
	content: counter(count, upper-roman);
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
	line-height: 25px;
	background: #009bd2;
	font-family: 'Yantramanav', sans-serif;
}

.entry_column .page_navi li a {
	padding: 0 15px 0 0;
	color: #333;
	display: block;	
}

.entry_column .page_navi li.stay::before {
	background: #a9a9a9;
}

@media screen and (min-width: 768px) {

	.page_navi {
		width: 100vw;
		margin: -55px calc(49.4% - 50vw) 55px;
	}
	
	.page_navi .inner {
		margin: 0 auto;
		padding: 10px 0 40px;
		max-width: 1200px;
		display: flex;
	}
	
	.entry_column .page_navi h3 {
		margin: 0 20px 0 0;
		padding: 0 120px 0 0;
	}

	.entry_column .page_navi ol {
		margin: -8px 0 0 0;
	}
	
	.entry_column .page_navi li {
		margin: 0 0 15px;
		padding: 0 0 0 38px;
		font-size: 1.8rem;
		border: none;
	}
	
	.entry_column .page_navi li::before {
		top: 2px;
	}

	.entry_column .page_navi li a {
		padding: 0;
	}

	.entry_column .page_navi li a::after {
		display: none;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 1220px) {

	.page_navi {
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
	}

}

.service_case {
	padding: 65px 20px 30px; 
	background: #0f3453;
	position: relative;
	text-align: center;
}

.service_case::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	left: 0;
	right: 0;
	bottom: -15px;
	margin: auto;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-top: 15px solid #0f3453;
}

.service_case h3 {
	margin: 0 0 40px;
	color: #fff;
	font-size: 2.2rem;
	line-height: 1.4;
}

.service_case li {
	margin: 0 0 40px;
	padding: 35px 0 0;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.6;
	position: relative;
}

.service_case li::before {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	top: 0;
	margin: auto;
	width: 176px;
	height: 26px;
	background: url(../images/common/service_case_img.png) no-repeat center top;
	background-size: 176px auto;
}

.service_case li div {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}

@media screen and (min-width: 768px) {

	.service_case {
		padding: 75px 0 30px; 
	}
	
	.service_case h3 {
		margin: 0 0 55px;
		font-size: 2.8rem;
	}
	.service_case ul {
		margin: 0 auto;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		max-width: 1200px;
	}
	
	.service_case li {
		margin: 0 0 50px;
		padding: 45px 0 0;
		font-size: 1.8rem;
		width: 33%;
	}
	
}

.contact_parts {
	padding: 55px 20px 65px;
	background: #f0f4f5;
}

.contact_parts h2 {
	margin: 0 0 40px;
	font-size: 3.0rem;
	text-align: center;
}

.contact_parts > p {
	margin: 0 0 30px;
	font-size: 1.4rem;
}

@media screen and (min-width: 768px) {

	.contact_parts {
		padding: 75px 0;
		text-align: center;
	}
	
	.contact_parts h2 {
		margin: 0 0 30px;
		font-size: 4.0rem;
	}
	
	.contact_parts > p {
		font-size: 1.6rem;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 1240px) {

	.contact_parts {
		padding-left: 20px;
		padding-right: 20px;
	}

}

.contact_parts_tel {
	margin: 0 0 20px;
	padding: 20px;
	background: #fff;
}

.contact_parts_tel div:first-child {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #009bd2;
}

.contact_parts_tel dl {
	display: flex;
	align-items: center;
}

.contact_parts_tel dt {
	margin: 0 10px 0 0;
	padding: 3px 0 5px;
	width: 60px;
	font-size: 1.4rem;
	text-align: center;
	background: #009bd2;
	color: #fff;
}

.contact_parts_tel dd {
	font-size: 2.6rem;
	line-height: 1.4;
	font-weight: bold;
}

.contact_parts_tel dd a {
	color: #009bd2;
}

.contact_parts_tel {
	text-align: left;
}

.contact_parts_tel p {
	font-size: 1.4rem;
}

.contact_parts_tel p span {
	display: block;
	font-size: 1.2rem;
}

@media screen and (min-width: 768px) {

	.contact_parts_column {
		margin: 0;
		display: flex;
		justify-content: center;
	}
	
	.contact_parts_tel {
		margin: 0 50px 0 0;
		padding: 20px 30px;
		display: flex;
		align-items: center;
		width: 700px;
	}
	
	.contact_parts_tel div:first-child {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: none;
		border-right: 1px solid #009bd2;
	}
	
	.contact_parts_tel dl {
		padding: 0 25px 0 0;
		justify-content: center;
	}
	
	.contact_parts_tel dt {
		margin: 0 15px 0 0;
		width: 64px;
		font-size: 1.6rem;
	}
	
	.contact_parts_tel dd {
		font-size: 3.4rem;
	}
	
	.contact_parts_tel p {
		padding: 0 0 0 25px;
		font-size: 1.6rem;
	}
	
	.contact_parts_tel p span {
		font-size: 1.4rem;
	}
	
}

.contact_parts_mail {
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.4);
}

.contact_parts_mail a {
	padding: 35px 0;
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
	background: linear-gradient(to right, rgb(0,123,194), rgb(3,175,230));
}

.contact_parts_mail a span {
	padding: 0 0 0 40px;
}

@media screen and (min-width: 768px) {

	.contact_parts_mail {
		width: 450px;
    	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.4);
	}
	
	.contact_parts_mail a {
		padding: 40px 20px;
		font-size: 2.6rem;
	}
	
	.contact_parts_mail a:hover {
		opacity: 0.7;
	}
	
}

@media screen and (min-width: 768px) and (max-width: 1160px) {

	.contact_parts_tel dd {
		font-size: 2.4rem;
		white-space: nowrap;
	}

	.contact_parts_mail a {
		font-size: 2.0rem;
	}

}

.page_bottom_link {
	margin: 0 20px;
	padding: 60px 0 40px;
	background: #fff;
}

.page_bottom_link li {
	margin: 0 0 20px;
}

.page_bottom_link li a {
	display: flex;
	align-items: center;
}

.page_bottom_link li figure {
	margin: 0 20px 0 0;
	width: calc(50% - 20px);
	flex-shrink: 0;
}

.page_bottom_link li h4 {
	padding: 0 0 0 40px;
	font-size: 1.8rem;
}

.page_bottom_link li h4 span {
	margin: 0 0 3px;
	display: block;
	font-size: 1.4rem;
}

@media screen and (min-width: 768px) {

	.page_bottom_link {
		margin: 0 auto;
		padding: 90px 0 70px;
		max-width: 1200px;
	}
	
	.page_bottom_link ul {
		display: flex;
		justify-content: center;
	}
	
	.page_bottom_link li {
		margin: 0;
		width: calc(50% - 30px);
	}
	
	.page_bottom_link li:first-child {
		margin-right: 60px;
	}
	
	.page_bottom_link li figure {
		margin: 0 20px 0 0;
		width: 240px;
	}
	
	.page_bottom_link li h4 span {
		margin: 0 0 7px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1240px) {

	.page_bottom_link {
		padding-left: 20px;
		padding-right: 20px;
	}

	.page_bottom_link li figure {
		width: 200px;
	}

}

/* -----------------
	ユニットパーツ
----------------- */

.entry_column_edit,
#entryForm,
.entry_column {
	margin: 0 auto;
	padding: 40px 20px 50px;
}

.entry_column h2 {
	margin: 20px 0 25px -30px;
	padding: 0;
	font-size: 2.8rem;
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
	display: inline-flex;
	align-items: center;
}

.entry_column h2 span {
	margin: 0 -15px 0 0;
	width: 120px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: url(../images/common/title_no_back.png) no-repeat 0 center;
	background-size: 120px;
	color: #009bd2;
	font-size: 4.0rem;
	font-family: 'Yantramanav', sans-serif;
	font-weight: 100;
}

.entry_column h3 {
	margin: 0 0 40px;
	padding: 40px 0 0 0;
	font-size: 2.6rem;
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
	color: #009bd2;
}

.entry_column h3 span {
	margin: 0 0 20px;
	padding: 0 0 5px;
	display: block;
	font-size: 1.8rem;
	font-family: 'Yantramanav', sans-serif;
	font-weight: 400;
	border-bottom: 1px solid #f0f4f5;
	position: relative;
}

.entry_column h3 span::after {
	position: absolute;
	content: '';
	left: 0;
	bottom: -1px;
	width: 1em;
	height: 1px;
	background: #009bd2;
}

.entry_column h3.case {
	margin: 0;
	padding: 0 0 10px;
	font-size: 1.8rem;
	line-height: 1.3;
	position: relative;
	color: #333;
	font-weight: 400;
	text-align: center;
}

.entry_column h3.case::before {
	position: absolute;
	content: '';
	width: 60px;
	height: 4px;
	background: #009bd2;
	left: 0;
	right: 0;
	top: -10px;
	margin: auto;
}

.entry_column h3.case span {
	margin: -30px 0 0;
	padding: 0 0 10px;
	display: block;
	font-size: 1.3rem;
	border: none;
	font-family: 'Noto Serif JP', serif;
}

.entry_column h3.case span::after {
	display: none;
}

.entry_column h4 {
	margin: 40px 0 35px;
	font-size: 2.4rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
	line-height: 1.4;
}

.entry_column h4.faq_q {
	margin: 0;
	font-size: 1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
	color: #a361b1;
	line-height: 1.6;
}

.entry_column h5 {
	margin: 40px 0 25px;
	padding: 25px 30px;
	font-size: 1.8rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 200;
	background: #fbf4fa;
	line-height: 1.4;
	color: #b35279;
}

@media screen and (min-width: 768px) {

	.entry_column_edit,
	#entryForm,
	.entry_column {
		margin: 0 auto;
		padding: 55px 0 50px;
		max-width: 1200px;
	}
	
	.entry_column h2 {
		margin: 0 0 20px -60px;
		padding: 0 120px 0 0;
		font-size: 5.0rem;
	}
	
	.entry_column h2 span {
		margin: 0 -35px 0 0;
		width: 250px;
		height: 250px;
		background: url(../images/common/title_no_back.png) no-repeat 0 center;
		background-size: 250px;
		font-size: 4.0rem;
	}
	
	.entry_column h2::after {
		position: absolute;
		content: '';
		top: 0;
		bottom: 0;
		right: 0;
		width: 100px;
		height: 1px;
		margin: auto;
		background: #009bd2;
	}
	
	.entry_column h3 {
		margin: 0 0 60px;
		padding: 50px 0 0 0;
		font-size: 4.0rem;
	}
	
	.entry_column h3 span {
		margin: 0 0 20px;
		padding: 0 0 5px;
		font-size: 2.0rem;
	}
	
	.entry_column h3.case {
		margin: 0;
		padding: 0 0 10px;
		font-size: 2.2rem;
	}
	
	.entry_column h3.case::before {
		height: 5px;
	}
	
	.entry_column h3.case span {
		margin: -30px 0 0;
		padding: 10px 0 15px;
		font-size: 1.6rem;
	}
	
	.entry_column h4 {
		margin: 65px 0 55px;
		font-size: 3.0rem;
	}

	.entry_column h5 {
		margin: 65px 0 50px;
		padding: 15px 25px;
		font-size: 2.0rem;
	}

}

@media screen and (min-width: 768px) and (max-width: 1240px) {

	.entry_column_edit,
	#entryForm,
	.entry_column {
		padding-left: 20px;
		padding-right: 20px;
	}

}

.entry_column p {
	margin: 0 0 20px;
	font-size: 1.6rem;
	line-height: 1.6;
}

.entry_column p.a_center {
	text-align: center;
}

.entry_column p.a_right {
	text-align: right;
}

.entry_column p em {
	font-weight: bold;
}

.entry_column p strong {
	color: #009bd2;
	font-weight: bold;
}

@media screen and (min-width: 768px) {

	.entry_column p {
		margin: 0 0 25px;
		font-size: 1.8rem;
		line-height: 1.5;
	}
	
}

.entry_column ul {
	margin: 20px 0;
	padding: 0;
}

.entry_column ul li {
	margin: 10px 0;
	padding: 0 0 0 25px;
	position: relative;
	font-size: 1.6rem;
	line-height: 1.4;
}

.entry_column ul li::before {
	position: absolute;
	content: '';
	left: 0;
	top: 9px;
	margin: auto;
	width: 15px;
	height: 15px;
	border: 5.5px solid #009bd2;
	border-radius: 50%;
}

.entry_column ol {
	margin: 20px 0;
	padding: 0;
	list-style: none;
	counter-reset: ol_li;
}

.entry_column ol li {
	margin: 10px 0;
	position: relative;
	font-size: 1.6rem;
	line-height: 1.4;
}

.entry_column ol li::before {
	padding-right: 10px;
	counter-increment: ol_li;
	content: counter(ol_li);
	color: #009bd2;
	font-family: 'Yantramanav', sans-serif;
	font-weight: 400;
}

.entry_column ol.navi {
	margin: 30px 0;
	padding: 0;
	list-style: none;
	counter-reset: ol_navi_li;
}

.entry_column ol.navi li {
	margin: 0 0 1px;
	position: relative;
	font-size: 1.6rem;
	line-height: 1.4;
	font-family: 'Noto Serif JP', serif;
}

.entry_column ol.navi li a {
	padding: 15px 15px 15px 50px;
	display: block;
	background: #f0f4f5;
	position: relative;
}

.entry_column ol.navi li::before {
	counter-increment: ol_navi_li;
	content: "0"counter(ol_navi_li);
	color: #009bd2;
	font-family: 'Yantramanav', sans-serif;
	font-weight: 400;
	left: 12px;
	top: 0;
	bottom: 0;
	font-size: 1.8rem;
	margin: auto;
	position: absolute;
	display: flex;
	align-items: center;
	z-index: 2;
}

.entry_column ol.navi li a::after {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #009bd2;
	width: 2px;
	height: 1em;
}

@media screen and (min-width: 768px) {

	.entry_column ul {
		margin: 50px 0;
	}
	
	.entry_column ul li {
		font-size: 1.8rem;
		line-height: 1.6;
	}
	
	.entry_column ol {
		margin: 50px 0;
	}
	
	.entry_column ol li {
		font-size: 1.8rem;
		line-height: 1.6;
	}
	
	.entry_column ol li::before {
		padding-right: 15px;
	}
	
	.entry_column ol.navi {
		margin: 50px 0;
	}
	
	.entry_column ol.navi li {
		font-size: 1.8rem;
		line-height: 1.6;
	}
	
	.entry_column ol.navi li a {
		padding: 17px 25px 17px 80px;
	}
	
	.entry_column ol.navi li a:hover {
		opacity: 0.7;
	}
	
	.entry_column ol.navi li::before {
		padding-right: 30px;
		left: 30px;
		font-size: 1.6rem;
	}
	
}

.entry_column table {
	margin: 0 0 40px;
	width: 100%;
}

.entry_column tr:nth-child(odd) th,
.entry_column tr:nth-child(odd) td {
	background: #f0f4f5;
}

.entry_column th {
	font-weight: 600;
}

.entry_column th,
.entry_column td {
	padding: 10px 15px;
	text-align: left;
	font-size: 1.4rem;
	line-height: 1.3;
}

.entry_column td {
	border-left: 1px solid #fff;
}

@media screen and (min-width: 768px) {

	.entry_column table {
		margin: 0 0 50px;
	}
	
	.entry_column th,
	.entry_column td {
		padding: 12px 20px;
		font-size: 1.6rem;
	}
	
}

.micro_pege {
	margin: 0;
	padding: 70px 20px;
	border-top: 1px solid #dde8eb;
	text-align: center;
}

.entry_column .micro_pege {
	margin: 0 -20px;
	padding-bottom: 20px;
}

.micro_pege h4 {
	margin: 0 0 15px;
	padding: 0;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
}

.micro_pege p {
	margin: 0;
	padding-left: 40px;
	font-size: 2.0rem;
	line-height: 1.3;
	font-family: 'Noto Serif JP', serif;
	text-align: left;
}

.micro_pege p a {
	color: #009bd2;
}

.micro_pege p a::before {
	left: -31px;
}

.micro_pege p a::after {
	left: -40px;
}

.micro_pege ul {
	margin: 25px 0 0;
	display: flex;
	justify-content: center;
}

.micro_pege li {
	margin: 0 10px;
}

.entry_column .micro_pege li {
	margin: 0 10px;
	padding: 0;
}

.micro_pege li span {
	padding: 15px 14px;
	font-size: 1.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'Yantramanav', sans-serif;
	border: 1px solid #f0f4f5;
	background: #f0f4f5;
	color: #acbabd;
}

.micro_pege li a span {
	color: #009bd2;
	border: 1px solid #009bd2;
	background: #fff;
}

.entry_column .micro_pege li::before {
	display: none;
}

@media screen and (min-width: 768px) {

	.micro_pege {
		margin: 50px 0 0;
		padding: 70px 0 90px;
	}

	.entry_column .micro_pege {
		margin: 50px 0 0;
		padding-bottom: 90px;
	}
	
	.micro_pege h4 {
		margin: 0 0 20px;
		font-size: 1.8rem;
	}

	.micro_pege p {
		padding-left: 0;
		text-align: center;
		line-height: 1.4;
	}
	
	.micro_pege p a {
		padding-left: 40px;
		color: #009bd2;
	}

	.micro_pege p a::before {
		left: 9px;
	}
	
	.micro_pege p a::after {
		left: 0;
	}
	
	.micro_pege ul {
		margin: 60px 0 0;
		display: flex;
		justify-content: center;
	}
	
	.micro_pege li {
		margin: 0 10px;
	}

	.entry_column .micro_pege {
		padding-bottom: 40px;
	}

	.entry_column .micro_pege li {
		margin: 0 10px;
		padding: 0;
		font-size: 1.6rem;
		line-height: 1.4;
	}

}

.column_case {
	margin: 45px -20px;
	padding: 40px 20px 15px;
	text-align: center;
	border: 1px solid #009bd2;
	background-image: linear-gradient(to right, rgb(245,251,252) 0%, rgb(255,255,255) 100%);
	box-shadow: 5px 8px 10px 0px rgba(11, 94, 129, 0.1);
}

.column_q {
	margin: 70px -20px;
	padding: 60px 20px 0;
	position: relative;
	border-top: 1px solid #dee9ec;
}

.column_a {
	margin: 70px -20px 20px;
	padding: 60px 20px 0;
	position: relative;
	border-top: 1px solid #dee9ec;
}

.column_q::before,
.column_a::before {
	position: absolute;
	font-family: 'Yantramanav', sans-serif;
	font-weight: 100;
	font-size: 5.0rem;
	left: 0;
	right: 0;
	top: -25px;
	margin: 0 auto;
	display: inline;
	width: 1em;
	background: #fff;
	text-align: center;
}

.column_q::before {
	content: 'Q';
	color: #a361b1;
}

.column_a::before {
	content: 'A';
	color: #2cb989;
}

.column_q::after,
.column_a::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	top: 28px;
	right: 0px;
	left: 0;
	margin: auto;
	transform: rotate(135deg);
}

.column_q::after {
	border-top: 1px solid #a361b1;
	border-right: 1px solid #a361b1;
}

.column_a::after {
	border-top: 1px solid #2cb989;
	border-right: 1px solid #2cb989;
}

.column_border {
	margin-bottom: 30px;
	padding: 30px 20px;
	border: 5px solid #f0f4f5;
}

.column2_left,
.column2_right,
.column2_left_small,
.column2_right_large,
.column2_left_large,
.column2_right_small,
.column3_left,
.column3_center,
.column3_right {
	margin: 0 0 30px;	
	width: 100%;
}

.column2_left_bd,
.column2_right_bd {
	margin: 0 0 30px;
	padding: 30px 30px;
	border: 5px solid #f0f4f5;
	width: 100%;
}

.entry_column [class*="column_"] [class*="column-media"],
.entry_column [class*="column2_"] [class*="column-media"],
.entry_column [class*="column3_"] [class*="column-media"] {
	margin-top: 0;
}

.entry_column .column_clear {
	clear: both;
}

.entry_column .column-media-left,
.entry_column .column-video-left {
	margin: 30px 0;
}

.entry_column .column-media-right,
.entry_column .column-video-right {
	margin: 30px 0;
}

.entry_column .column-media-auto,
.entry_column .column-media-center,
.entry_column .column-video-auto,
.entry_column .column-video-center {
	margin: 30px 0;
}

.entry_column .column_border [class*="column-media-"],
.entry_column .column_border [class*="column-video-"] {
	margin: 0;
}

@media screen and (min-width: 768px) {

	.column_case {
		margin: 90px 0;
		padding: 40px;
	}
	
	.column_a,
	.column_q {
		margin: 90px 0;
		padding: 80px 0 0;
	}

	.column_q::before,
	.column_a::before {
		position: absolute;
		font-family: 'Yantramanav', sans-serif;
		font-weight: 100;
		font-size: 5.0rem;
		left: 0;
		right: 0;
		top: -25px;
		margin: 0 auto;
		display: inline;
		width: 1em;
		background: #fff;
		text-align: center;
	}
	
	.column_q::before {
		content: 'Q';
		color: #a361b1;
	}
	
	.column_a::before {
		content: 'A';
		color: #2cb989;
	}
	
	.column_q::after,
	.column_a::after {
		position: absolute;
		content: '';
		display: inline-block;
		width: 7px;
		height: 7px;
		top: 28px;
		right: 0px;
		left: 0;
		margin: auto;
		transform: rotate(135deg);
	}
	
	.column_q::after {
		border-top: 1px solid #a361b1;
		border-right: 1px solid #a361b1;
	}
	
	.column_a::after {
		border-top: 1px solid #2cb989;
		border-right: 1px solid #2cb989;
	}
	
	.column_border {
		margin-bottom: 60px;
		padding: 50px;
	}
	
	.column2_left {
		margin: 0 60px 60px 0;	
		float: left;
		width: calc(50% - 30px);
	}
	
	.column2_right {
		margin: 0 0 60px;
		float: left;
		width: calc(50% - 30px);
	}
	
	.column2_left_bd {
		margin: 0 60px 60px 0;
		padding: 30px;
		float: left;
		border: 5px solid #f0f4f5;
		width: calc(50% - 35px);
	}
	
	.column2_right_bd {
		margin: 0 0 60px;
		padding: 30px;
		float: left;
		border: 5px solid #f0f4f5;
		width: calc(50% - 35px);
	}
	
	.column2_left_small {
		margin: 0 60px 60px 0;	
		float: left;
		width: calc(35% - 30px);
	}
	
	.column2_right_large {
		margin: 0 0 60px;
		float: left;
		width: calc(65% - 30px);
	}
	
	.column2_left_large {
		margin: 0 60px 60px 0;	
		float: left;
		width: calc(65% - 30px);
	}
	
	.column2_right_small {
		margin: 0 0 60px;
		float: left;
		width: calc(35% - 30px);
	}
	
	.column3_left {
		margin: 0 50px 60px 0;	
		float: left;
		width: calc(33.3333% - 33px);
	}
	
	.column3_center {
		margin: 0 50px 60px 0;	
		float: left;
		width: calc(33.3333% - 33px);
	}
	
	.column3_right {
		margin: 0 0 60px;	
		float: left;
		width: calc(33.3333% - 34px);
	}
	
	.entry_column .column-media-left,
	.entry_column .column-video-left {
		margin: 60px 60px 60px 0;
	}
	
	.entry_column .column-media-right,
	.entry_column .column-video-right {
		margin: 60px 0 60px 60px;
	}
	
	.entry_column .column-media-auto,
	.entry_column .column-media-center,
	.entry_column .column-video-auto,
	.entry_column .column-video-center {
		margin: 60px auto;
	}

}

.entry_column .case_top {
	margin: 40px 0 30px;
	text-align: center;
	padding-bottom: 4vw;
	background: url(../images/common/case_top.png) no-repeat 0 bottom;
	background-size: 100% auto;
}

.entry_column .case_top h3 {
	margin: 0;
	padding: 0 0 10px;
	font-size: 2.0rem;
	font-weight: bold;
}

.entry_column .case_bottom {
	margin: 30px 0 40px;
	padding-bottom: 5vw;
	background: url(../images/common/case_bottom.png) no-repeat;
	background-size: 100% auto;
}

@media screen and (min-width: 768px) {

	.entry_column .case_top {
		margin: 60px 0;
		padding-bottom: 50px;
	}
	
	.entry_column .case_top h3 {
		margin: 0;
		font-size: 2.4rem;
	}
	
	.entry_column .case_bottom {
		margin: 60px 0;
		padding-bottom: 60px;
	}

}

/* -----------------
	お問い合わせ
----------------- */

.form_entry {
	margin: 40px 20px;
}

.contact_form_column {
	margin: 0 0 30px;
}

.contact_form_column table {
	margin: 0 0 50px;
	width: 100%;
}

.contact_form_column th {
	padding: 0 0 10px;
	font-size: 1.6rem;
	display: block;
	text-align: left;
	position: relative;
}

.contact_form_column th span:first-child {
	padding-left: 10px;
	border-left: 5px solid #009bd2;
}

.contact_form_column td {
	padding: 0 0 30px;
	font-size: 1.6rem;
	width: 100%;
	display: block;
}

.contact_form_column td p.note {
	margin: 5px 0 0;
	text-align: left;
}

.contact_form_column td label {
	width: 100%;
}

.contact_form_column .required {
	margin: 0 0 0 10px;
	padding: 2px 7px;
	font-size: 1.1rem;
	color: #fff;
	display: inline-block;
	background: #D52121;
	border-radius: 4px;
}

.contact_form_column .form_attention {
	margin: 10px 0 0;
	color: #D52121;
	text-align: left;
}

.contact_form_column select {
	padding: 8px;
	font-size: 1.6rem;
}

.contact_form_column input[type="text"],
.contact_form_column input[type="email"] {
	padding: 10px 10px;
	font-size: 1.6rem;
	border: 1px solid #D4D4D4;
	width: 100%;
}

.contact_form_column textarea {
	padding: 10px;
	width: 100%;
	height: 190px;
	font-size: 1.6rem;
	line-height: 1.4;
	border: 1px solid #D4D4D4;
}

.contact_form_column p {
	text-align: center;
}

.contact_form_column p a {
	text-decoration: underline;
}

.doui_box {
	padding: 15px;
	text-align: center;
}

.doui_box .doui_check {
	font-size: 1.8rem;
}

.doui_box .doui_check input {
	margin: 0 5px 0 0;
	width: 18px;
	height: 18px;
	vertical-align: bottom;
}

.doui_box .form_attention {
	text-align: center;
}

.form_entry .form_btn_box {
	margin: 0 0 40px;
}

.form_entry .btn_confirm {
	padding: 20px 0;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	background: #009bd2;
	border: none;
	width: 100%;
	transition: all .3s ease-out;
}

.form_entry .btn_send {
	margin: 0 0 30px;
	padding: 20px 0;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	background: #009bd2;
	border: none;
	width: 100%;
	transition: all .3s ease-out;
}

.form_entry .btn_back {
	padding: 20px 50px;
	color: #333;
	font-size: 1.8rem;
	text-align: center;
	border: none;
	width: 100%;
	transition: all .3s ease-out;
}

.form_entry > p {
	text-align: center;
}

.contact_thanks {
	margin: 0 0 40px;
}

@media screen and (min-width: 768px) {

	.form_entry {
		margin: 80px auto;
		max-width: 1200px;
	}

	.contact_form_column {
		margin: 0 0 20px;
	}
	
	.contact_form_column h3 {
		margin: 0 0 40px;
	}
	
	.contact_form_column table {
		margin: 0 0 40px;
	}
	
	.contact_form_column th {
		padding: 20px 30px 20px 0;
		font-size: 1.6rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 300px;
	}
	
	.contact_form_column td {
		padding: 20px 0;
		font-size: 1.6rem;
		display: table-cell;
	}

	.contact_form_column input[type="text"],
	.contact_form_column input[type="email"] {
		width: 500px;
	}

	.doui_box .doui_check {
		font-size: 1.8rem;
	}
	
	.doui_box .doui_check input {
		width: 20px;
		height: 20px;
		vertical-align: baseline;
	}
	
	.form_entry .form_btn_box {
		margin: 0 0 60px;
		text-align: center;
		display: flex;
		justify-content: center;
	}
	
	.form_entry .btn_confirm {
		width: 400px;
	}
	
	.form_entry .btn_send {
		margin: 0 30px;
		width: 400px;
	}
	
	.form_entry .btn_back {
		margin: 0 30px;
		width: auto;
	}
	
	.form_entry .btn_send:hover,
	.form_entry .btn_back:hover,
	.form_entry .btn_confirm:hover {
		opacity: 0.7;
	}
	
	.contact_thanks h2 {
		font-size: 2.2rem;
	}

	.doui_box {
		margin-top: 20px;
	}

}

@media screen and (min-width: 768px) and (max-width: 1240px) {

	.form_entry {
		padding-left: 20px;
		padding-right: 20px;
	}

}

/* -----------------
	footer
----------------- */

.footer {
	padding: 5px 0 30px;
	background: #f0f4f5;
	text-align: center;
	border-top: 1px solid #fff;
}

.footer_link {
	display: none;
}

.footer_logo {
	margin: 55px auto;
	width: 280px;
}

.copyright {
	color: #969696;
	font-size: 1.0rem;
}

@media screen and (min-width: 768px) {

	.footer {
		padding: 25px 0;
	}
	
	.footer_link {
		display: flex;
		justify-content: center;
	}
	
	.footer_link li {
		margin: 0 30px;
		font-size: 1.4rem;
	}
	
}

/* -----------------------
　　　404
----------------------- */

#notfound {
	color: #fff;
}

#wrapper_404 {
	margin: 10px;
	padding: 30px 20px;
	width: auto;
    background-image: none;
}

#box_404 {
	padding: 40px 20px;
	border-radius: 5px;
	background:  #009bd2;
}

.inner_left404 {
	margin: 0 auto 40px;
	text-align: center;
}

.inner_left404 img {
	margin: 0 auto;
	width: 200px;
}

.inner_right404 {
    font-size: 1.4rem;
}

.inner_right404 h1 {
    font-size: 2.0rem;
    margin-bottom: 20px;
	text-align: left;
}

.inner_right404 p {
    margin-bottom: 10px;
}

.inner_right404 p a {
	text-decoration: underline;
	color: #fff;
}

#copyright_404 {
    display: block;
	margin: 10px 10px 0;
	text-align: center;
	font-size: 1.2rem;
}

.inner_left404 .site_logo_gold {
	margin: 0 10px 0 0;
	width: 40px;
}

.inner_left404 .site_logo_text {
	width: 130px;
}

.inner_left404 a {
	display: flex;
	align-items: center;
}

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

	#notfound {
	    padding-top: 50px;
	}

	#wrapper_404 {
		margin: 0 auto;
		padding: 70px 0 0;
		width: 1050px;
	}

	#box_404 {
		margin-bottom: 40px;
		padding: 40px;
		display: flex;
		align-items: center;
	}

	.inner_left404 {
		margin: 0 50px 0 0;
	    text-align: left;
	}

	.inner_left404 img {
		margin: 0 auto;
		width: 250px;
		text-align: center;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 16px;
	}

	.inner_right404 h1 {
	    font-size: 24px;
	    margin-bottom: 20px;
	    text-align: left;
	}

	.inner_left404 .site_logo_gold {
		margin: 0 10px 0 0;
		width: 40px;
	}

}

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

	#wrapper_404 {
		padding: 60px 20px;
		width: 600px;
	}

	#box_404 {
		margin-bottom: 20px;
	}

	.inner_left404 {
	    margin-right: 30px;
	}

	.inner_left404 img {
		width: 200px;
	}

	.inner_right404 {
	    text-align: left;
	    font-size: 14px;
	}

	.inner_right404 h1 {
	    font-size: 20px;
	}

}

#adminBox .acms-admin-btn-admin {
	padding: 5px;
	font-size: 1.2rem;
}

#adminBox {
    margin-bottom: 0 !important;
/*    height: 120px;*/
/*    position: fixed;*/
    width: 100%;
    z-index: 5;
}

.acms-admin-btn-action-group th,
.acms-admin-btn-action-group td {
	padding-right: 10px !important;
	background-image: none !important;
	font-size: 1.4rem !important;
	white-space: nowrap !important;
}

.acms-admin-form .entryFormLiteEditor, .acms-admin-form textarea,
.acms-admin-btn,
.acms-admin-form select {
	font-size: 14px;
}

@media screen and (min-width: 768px) {

	#adminBox .acms-admin-btn-admin {
		padding: 10px;
		font-size: 1.2rem;
	}

	#adminBox {
	    height: 85px;
	}

}

.titleWrapper {
	margin: 0 auto;
	padding: 40px 60px 10px;
	max-width: 1200px;
}

.titleWrapper h2 {
	margin: 0 0 30px 0;
	font-size: 3.0rem;
}

.custom_field_edit h3 {
	padding: 20px 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

.entryFormLiteEditor a {
	text-decoration: underline;
	color: #0075DE;
}

.entryFormLiteEditor em {
	font-weight: bold;
}

.entryFormLiteEditor strong {
	color: #D52121;
}

.js-lazy-load {
	transform: translateY(0);
	transition: opacity 0.4s cubic-bezier(0.5, 0, 0, 1) 0.1s;
}
