@charset "utf-8";
/*---------------------------------------------
■■BASE
　■01.RESET
　■02.BASIC
　■03.HEADER
　■04.MAIN NAV
　■05.FOOTER
　■06.PAGE TOP
■■CONTENT
　■01.SECTION
　■02.TABLE
　■03.PAGE TITLE
　■04.BOX
■■INIT
　■01.FONT
　■02.Between LINES
　■03.INPUT
　■04.BUTTON
■■STYLE
　■01.TOPIMAGE
　■02.PORTFOLIO
　■03.CONTACT
　■04.DETAIL
　■05.ENTRY
　■06.ABOUT
　■07.PROJECT
---------------------------------------------*/

/*---------------------------------------------
　■■BASE
---------------------------------------------*/
:root {
 --black:     #111111;
 --white:     #ffffff;
 --gray-bg:   #f0f0f0;
 --link-blue: #1c95ba;
 --gray-text: #555555;
 --border:    #cccccc;
 --amber:     #d4860a;
  --fb: 'Noto Sans JP', sans-serif;
}
/*---------------------------------------------
　■01.RESET
---------------------------------------------*/
/* ===== Universal Reset ===== */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
/* ===== Basic Style ===== */

	h1, h2, h3, h4, h5, h6, p, address, a {
	font-size:100%;
	font-style: normal;
	font-weight: normal;
	text-decoration: none;
}
img, a img {
	border: 0;
	vertical-align: bottom;
}
ul, dl, ol {
	list-style-type: none;
	list-style-position: outside;
}
body {
	-webkit-text-size-adjust: none;/*スマホ用文字サイズリセット*/
}
table {
	table-layout:fixed;
	border-collapse:collapse;
	border-spacing:0;
}
a {
	color: var(--link-blue);
	text-decoration: none;
	transition:all 0.2s;
}
a:hover, a:active, a:hover, a:active {
	color: var(--black);
}
img {
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}
/*---------------------------------------------
　■02.BASIC
---------------------------------------------*/

html, body {
	width: 100%;
	font:18px/1.6em "Lucida Grande", "ヒラギノ角ゴ ProN W3", "HiraKakuPro-W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
	color:#333;
	color: rgba(0, 0, 0, .8);
}
@media only screen and (max-width: 960px) {
html, body {
 font-size : calc( 13px + (( 1vw - 6.4px) * 1.5625 ));
	line-height:1.6;
}
}
@media only screen and (max-width: 640px) {
html, body {
	font:13px/1.6em "Lucida Grande", "ヒラギノ角ゴ ProN W3", "HiraKakuPro-W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
}
}
.cf {
/zoom: 1;
}
.cf:after {
	content: '';
	display: block;
	clear: both;
}
.clr {
	clear: both;
}
.disnon {
	display:none;
}
iflame {
	border:0;
	scrolling:no;
}
/*---------------------------------------------
　■03.HEADER
---------------------------------------------*/
#header {
	position:fixed;
	top: 0;
	z-index:1001;
	padding:0 25px;
	display:flex;
	justify-content:space-between;
	width:100%;
	min-width:320px;
	background-color: transparent;
	-webkit-transition: -background-color 0.5s ease-out;
	transition: background-color 0.5s ease-out;
}
#header:after {
	content: none;
}
#header > #logo {
	text-align: left;
	float: left;
	height: 100px;
}
#header #logo h1, #header #logo #site-title {
	height: 100px;
	width: 416px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	font-size: 1px;
	line-height: 1px;
	text-align: left;
	background-image: url(../img/logo.svg);
	background-repeat: no-repeat;
	background-position:center;
	background-size: contain;
	float:left;
}
#header #logo p {
	line-height:102px;
	padding-left:3em;
	float:left;
	position:relative;
	font-size:14px;
	color:#FFF;
}
#header #logo p:before {
	position: absolute;
	content:"|";
	line-height:102px;
	top:0;
	left:1.2em;
}
#header.skroll-after {
	background: #FFF;
	background-color: rgba(255, 255, 255, 0.97);
}
#header.skroll-after #logo p {
	color:#000;
}
#header.skroll-after:after {
	content: "";
	display:block;
	height:1px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #CCC;
}
@media all and (max-width:767px) {
#header {
	padding:0 15px;
}
#header > #logo {
	text-align: left;
	float: left;
	height: 100px;
	width: 300px;
}
#header #logo h1, #header #logo #site-title {
	height: 100px;
	width: 300px;
}
}
@media all and (max-width:640px) {
#header {
	box-sizing:border-box;
	background-color: white !important;
	background-color: rgba(255, 255, 255, 0.97);
	height: 70px;
	padding: 0;
	top: 0;
	-webkit-transform: translate3D(0, 0, 0) !important;
	-ms-transform: translate3D(0, 0, 0) !important;
	transform: translate3D(0, 0, 0) !important;
	width: 100%;
	min-width: 320px;
	z-index: 1001;
	border_bottom:1px solid #CCC;
}
#header:after {
	content: "";
	display:block;
	height:1px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #CCC;
}
#header > #logo {
	background: none;
	width: auto;
	height: auto;
	padding-left: 0;
}
#header #logo h1, #header #logo #site-title {
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	margin-top: 0;
	position: absolute;
	top: 0;
	left: 16px;
	width: 260px;
	height: 70px;
}
#header #logo p {
	line-height:70px;
	margin-left:107px;
	color:#000;
}
#header.skroll-after {
	height: 70px;
}
#header.skroll-after #logo p {
	color:#000;
}
#header #logo p:before {
	position: absolute;
	content:"|";
	line-height:70px;
	top:0;
	left:1.2em;
}
}
/*--------------------------------------------
	■ メインナビ
---------------------------------------------*/

#gnav {
	float:right;
	margin-top:32px;
	width:calc(100% - 420px);
	text-align:right;
	font-size:14px;
}
#gnav ul {
 /zoom: 1;
}
#gnav ul:after {
	content: '';
	display: block;
	clear: both;
}
#gnav > ul > li {
	display:inline-block;
	padding:5px 0;
}
#gnav ul li a {
	padding: 0 8px 9px;
	position: relative;
	text-decoration: none;
	color:#FFF;
}
#header.skroll-after #gnav ul li a {
	color:#000;
}
/*▽Aタグの下線*/
#gnav ul li a:after {
	content: '';
	display: block;
	background-color: var(--white);
	position: absolute;
	height: 1px;
	width: 100%;
	left: 0;
	bottom: 0;
	/*透明度0*/	
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	/*下線の横幅*/			
	-webkit-transform: scaleX(0.3);
	-ms-transform: scaleX(0.3);
	transform: scaleX(0.3);
	/*変化の速度*/			
	-webkit-transition: -webkit-transform 0.15s ease-out, opacity 0.15s ease-out;
	transition: transform 0.15s ease-out, opacity 0.15s ease-out;
}
#header.skroll-after #gnav ul li a:after {
	background-color: var(--black);
}
#gnav ul li a:hover:after {
	/*透明度*/	
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";/*透明度*/
	/*下線の横幅*/
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}
/*▽コンタクトボタン*/
#gnav ul li.btn_contact {
	padding: 0;
}
#gnav ul li.btn_contact a {
	display: inline-block;
	height: 30px;
	line-height: 28px;
	margin-left: 5px;
	margin-bottom:1px;
	margin-top:1px;
	padding: 0 20px 0 20px;
	position: relative;
	top: 0;
	background-color:#f08000;
	color:#FFF;
	/*変化の速度*/			
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#header.skroll-after #gnav ul li.btn_contact a {
	color:#FFF;
}
#gnav ul li.btn_contact a:after {
	display: none;
}
#header.skroll-after #gnav ul li.btn_contact a:hover, #gnav ul li.btn_contact a:hover {
	background-color:#FFF;
	color:#000;
}
#header .menu-button {
	display: none;
}
#header .close-button {
	display: none;
}
#gnav-sp {
	display:none;
}
@media all and (max-width:880px) {
#gnav {
	margin-top:32px;
}
#gnav ul li a {
	padding: 0 2px 9px;
}
#gnav ul li.btn_contact a {
	padding: 0 10px 0 10px;
}
}
@media all and (max-width:767px) {
#gnav {
	width:calc(100% - 310px);
}
}
@media all and (max-width:640px) {
#header .menu-button {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/menu.png);
	background-size: 20px;
	background-position: center;
	cursor: pointer;
	display: block;
	height: 40px;
	position: absolute;
	right: 5px;
	top: 15px;
	width: 40px;
}
.menu-open #header .menu-button {
	display: none;
}
#header .close-button {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/menu_close.png);
	background-size: 16px;
	background-position: center;
	cursor: pointer;
	display: none;
	height: 40px;
	position: absolute;
	right: 5px;
	top: 15px;
	width: 40px;
}
.menu-open #header .close-button {
	display: block;
}
#gnav {
	display: none !important;
}
#gnav-sp {
	display:block;
	background-color: #f7f7f7;
	border-left: 1px solid black;
	box-sizing: border-box;
	height: 100%;
	padding-top: 72px;
	position: fixed;
	right: -100%;
	top: 0;
	-webkit-transition: right 0.3s ease-out;
	transition: right 0.3s ease-out;
	min-width: 270px;
	width: 80vw;
	z-index: 1000;
}
.menu-open #gnav-sp {
	right: 0;
}
#gnav-sp ul.is-scroll {
	height: 100%;
	overflow-y: scroll;
	padding-bottom: 15px;
	box-sizing: border-box;
}
#gnav-sp ul li .list-item {
	box-sizing: border-box;
	font-size: 12px;
	line-height: 50px;
	height: 50px;
	border-bottom: 1px solid black;
	padding: 1px 15px 0 15px;
	position: relative;
	display: block;
}
#gnav-sp ul li .list-item:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image:url(../img/arrow_black_big.png);
	background-size: 9px;
	content: "";
	height: 15px;
	margin-top: -9px;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 9px;
}
#gnav-sp ul li span.list-item:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_black_big_bottom.png);
	background-size: 15px;
	width: 15px;
	height: 9px;
	margin-top: -5px;
}
#gnav-sp ul li.link-contact {
	margin-top: 15px;
	padding: 0 5px;
}
#gnav-sp ul li.link-contact .btn_Contact {
	font-size: 12px;
	height: 45px;
	line-height: 45px;
	width:100%;
}
#gnav-sp ul li.is-open span.list-item:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_black_big_top.png);
	background-size: 15px;
}
#gnav-sp-backgound {
	position: fixed;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 100%;
	z-index: 999;
	background-color: var(--black);
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
}
.menu-open #gnav-sp-backgound {
	opacity: 0.7;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
	left: 0;
}
 @-webkit-keyframes lnavi-open {
 0% {
 visibility: hidden;
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
 1% {
 visibility: visible;
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
 100% {
 visibility: visible;
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}
 @keyframes lnavi-open {
 0% {
 visibility: hidden;
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
 1% {
 visibility: visible;
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
 100% {
 visibility: visible;
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}
@-webkit-keyframes lnavi-close {
 0% {
 visibility: visible;
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
 100% {
 visibility: hidden;
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
}
@keyframes lnavi-close {
 0% {
 visibility: visible;
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
 100% {
 visibility: hidden;
 opacity: 0;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
}
}
/*--------------------------------------------
 ■05.FOOTER
---------------------------------------------*/

#footer {
	border-top:5px solid #F08000;
	background-color:#FFF;
	color:#000;
	padding:40px 15px 40px;
	position:relative;
}
#copyright {
	text-align:center;
	color:#435B67;
	font-size:80%;
	font-weight:bold;
}
/* FOOTER NAV
---------------------------------------------*/

#fnav {
	float:left;
	font-size:14px;
}
#fnav li {
	float:left;
	margin-right:20px;
}
#fnav li a {
	position:relative;
	display: block;
	padding-left:15px;
	height:16px;
	line-height:16px;
}
#fnav li a:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 16px;
	content: "";
	background-image: url(../img/arrow_Bl.png);
	background-position:left center;
	background-repeat: no-repeat;
	background-size: 10px;
	-webkit-transition: -webkit-transform 0.12s ease-out;
	transition: transform 0.12s ease-out;
}
#fnav li a:hover:before {
	-webkit-transform: translate3D(1.5px, 0, 0);
	-ms-transform: translate3D(1.5px, 0, 0);
	transform: translate3D(1.5px, 0, 0);
}
@media all and (max-width:480px) {
#footer {
	padding:30px 10px 30px;
}
#copyright {
	clear:both;
	float:none;
	white-space: inherit;
}
/* FOOTER NAV
---------------------------------------------*/
#fnav {
	float:none;
	margin-bottom:0.5em;
}
#fnav li a:before {
	width: 8px;
	background-size: 7px;
}
}
/*--------------------------------------------
　■06.PAGE TOP
---------------------------------------------*/

#footer-follow {
	position: fixed;
	left: auto;
	right: 10px;
	margin-left: -40px;
	height: 80px;
	width: 80px;
	bottom:10px;
	color: black !important;
	cursor: pointer;
	-webkit-transition: bottom 0.3s ease-out;
	transition: bottom 0.3s ease-out;
	z-index: 900;
}
.gotop {
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	white-space: nowrap;
	background-image: url(../img/gotop.png);
	background-size:cover;
	background-color:black;
	background-repeat: no-repeat;
	position: absolute;
	height: 80px;
	width:80px;
	border-radius:50%;
	left: 0;
	top: 0;
	background-size: 100% auto;
}
#footer .tx_c {
	clear:both;
}
#footer .gotop {
	position:static;
	margin: 0 auto -40px;
}
@media all and (max-width:480px) {
#footer-follow {
	bottom: 0;
	margin-left: -32px;
	height: 64px;
	width: 64px;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	background-color:transparent;
}
.gotop {
	height: 64px;
	width: 64px;
}
#footer .gotop {
	position:static;
	margin: 0 auto -30px;
}
}
/*---------------------------------------------
　■■CONTENTS
---------------------------------------------*/
/*--------------------------------------------
　■01.SECTION
---------------------------------------------*/
.section {
	background-color: transparent;
	color: var(--black);
	padding: 50px 15px 45px 15px;
	position: relative;
	width: 100%;
}
.section .inner {
	width: 100%;
	max-width: 1600px;
	position:relative;
}
/*▼アンカーリンク*/
.section .anker {
	position:absolute;
	top:-110px;
	left:0;
	content:""
}
/*▼1カラム*/
.section.single {
}
.section.single .inner {
	margin: 0 auto;
	max-width:980px;
	min-width:290px;
}
/*▼２カラム*/
.section.multi {
}
.section.multi .inner .block_l {
	width: 49%;
	float: left;
}
.section.multi .inner .block_r {
	width: 49%;
	float: right;
	border:1px solid #CCC;
}
/*▼タイトル*/
.section .title {
	position: relative;
	font-size :32px;
	line-height: 1.5;
	padding: 0 0 19px;
	margin: 0 0 40px;
	text-align: center;
}
.section .title:after {
	background-color: #f08000;
	bottom: 0;
	content: '';
	display: block;
	height: 5px;
	left: 50%;
	margin-left: -25px;
	position: absolute;
	width: 50px;
}
/*▼白黒反転*/
.section.nega {
	color: white;
}
.section.nega .title:after {
	background-color: white;
}
/*▼トップ*/
.section.top {
	margin-top:100px !important;
	padding-top:50px !important;
}
nav.top {
	margin-top:100px !important;
}
@media only screen and (max-width: 960px) {
.section .title {
 font-size : calc(18px + ((1vw - 3.2px) * 2.1875 ));
}
}
@media only screen and (max-width: 640px) {
/*▼アンカーリンク*/
.section .anker {
	top:-70px;
}
/*▼トップ*/
.section.top {
	margin-top:70px !important;
	padding-top:30px !important;
}
nav.top {
	margin-top:70px !important;
}
}
@media only screen and (max-width: 480px) {
.section {
	padding: 30px 15px;
}
.section .title {
	padding: 0 0 8px;
	margin: 0 0 25px;
}
.section .title:after {
	font-size:1px;
	height: 2.5px;
	margin-left: -12.5px;
	width: 25px;
}
.section.multi .inner .block_l, .section.multi .inner .block_r {
	width: 100% !important;
	float: none !important;
}
.section.multi .inner .block_l {
	margin-bottom:15px;
}
}
/*--------------------------------------------
　■02.TABLE
-------------------------------------------*/
div.tbl_basic {
	margin:0 -15px;
}
.tbl_basic table {
	border-collapse: separate;
	border-spacing: 15px;
	table-layout: fixed;
	margin-bottom:1px;
	width:100%;
}
.tbl_basic th {
	vertical-align:top;
	width:240px;
	text-align:left;
}
.tbl_basic th > span {
	display:block;
	padding: 10px 15px;
	background-color:#EEEFF0;
	color:black;
	box-sizing:border-box;
}
.tbl_basic td {
	border-bottom:1px solid #999;
	padding: 10px 15px;
	width: auto;
	box-sizing:border-box;
}
div.tbl {
}
.tbl table {
	border-collapse:collapse;
	table-layout: fixed;
	margin-bottom:1px;
	width:100%;
}
.tbl th {
	vertical-align:top;
	width:240px;
	padding: 10px 15px;
	text-align:left;
	background-color:#F3F4F5;
	border:1px solid #CCC;
}
.tbl td {
	border:1px solid #CCC;
	padding: 10px 15px;
	width: auto;
}
.w20 {
	width:20%
}
.w25 {
	width:25%
}
.w45 {
	width:45%
}
.w50 {
	width:50%
}
@media only screen and (max-width: 640px) {
.tbl_basic th, .tbl_basic td {
	width:auto;
	display: list-item;
	border: none;
	padding:0;
	text-align:left;
	list-style:none;
	margin:0;
}
.tbl_basic table th {
	width:100%;
}
.tbl_basic th > span {
	padding: 5px 10px;
	margin-bottom:3px;
}
.tbl_basic table tbody th p {
	font-weight:bold;
}
.tbl_basic table tbody td {
	width:100%;
	padding:0.4em 0 0.4em 1em;
	border-bottom: 1px solid #999;
}
}
/*-----------------------------------------------
　■03.PAGE TITLE
-----------------------------------------------*/
#ptitle {
	position: relative;
	padding:0;
	height:300px;
	padding-left:25px;
	padding-right:25px;
}
#ptitle::after {
	content: '';
	display: #F5CE00;
	background: #CCC;
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}
#ptitle .inner {
}
#ptitle .text {
	display:table;
	height:150px;
}
#ptitle .text div {
	display:table-cell;
	vertical-align:middle;
	text-align:left;
}
#ptitle .title {
}
#ptitle .text div p.title {
	text-align:left;
}
#ptitle .text div p.title:after {
	left:0;
	margin:0;
}
#ptitle .text div h1.ptitle {
	line-height:1;
}
#ptitle .img_box {
	top:100px;
	left:0;
	width:100vw;
	height:200px;
	position:absolute;
	z-index:-1;
	background-repeat:no-repeat;
	background-position:center center;
}
/*背景イメージなし*/

.index#ptitle .img_box {
	background-image: url(../img/bg_ptitle.jpg);
}
@media only screen and (max-width: 640px) {
#ptitle {
	height:270px;
	padding-top:70px;
}
#ptitle .inner, #ptitle .text {
	height:160px;
}
#ptitle .img_box {
	top:70px;
}
}
@media only screen and (max-width: 480px) {
#ptitle {
	height:auto;
}
#ptitle .inner {
	position:static;
	height:auto;
}
#ptitle .text {
	display:table;
	height:100%;
}
#ptitle .text div {
	display:table-cell;
	vertical-align:middle;
	text-align:left;
}
#ptitle .text div h1.ptitle {
	font-size:14px;
}
#ptitle .text div p.title:after {
	left:0;
	margin:0;
	height:2px;
}
}
/*-----------------------------------------------
　■04.BOX
-----------------------------------------------*/
.bArea {
	position: relative;
	width: 100%;
	display:block;
	border : 1px solid #CCC;
	padding: 15px 15px;
}
a.bArea:hover {
	background-color:#F3F4F5;
}
.box {
	position: relative;
	width: 100%;
	display:block;
}

.bg_gray .box_outer .box {
	background-color:white;
}
.box_outer .box {
	border : 1px solid #CCC;
	margin-top:40px;
	padding:39px;
}
.box_outer .box:first-child {
	margin-top:0;
}
.under_outer .box {
	border-bottom : 1px solid #CCC;
	padding:40px 0;
}
.under_outer .box:first-child {
	border-top : 1px solid #CCC;
}
.box_title {
	font-size:32px;
	margin-bottom:10px;
	line-height: 1.1;
	width: 100%;
}
.box_img {
	float:left;
	width:240px;
	height:180px;
	background-size: cover;
	background-position: center top;
	background-repeat:no-repeat;
	border:1px solid #CCC;
}
.box_text {
	margin-left:280px;
}
a .box_text{ color:var(--black)}
.textL .box_img {
	height:240px;
	margin-right:30px;
}
.textR .box_img {
	float:right;
	height:240px;
	margin-left:30px;
}
.box_text p, .textL p, .textR p {
	margin-top:1em;
}
.box_text p:first-child {
	margin-top:0;
}
.box_outer.wide .box_img, .under_outer.wide .box_img {
	width:240px;
	height:240px;
}
@media only screen and (max-width: 640px) {
.box_outer .box {
	padding:24px;
	border-width:1px;
}
.box_title {
	font-size:26px;
}
.box_img {
	width:160px;
	height:120px;
}
.textL .box_img {
	height:160px;
	margin-right:20px;
}
.textR .box_img {
	height:160px;
	margin-left:20px;
}
.box_text {
	margin-left:184px;
}
.box_outer.wide .box_img, .under_outer.wide .box_img {
	width:160px;
	height:160px;
}
}
@media only screen and (max-width: 480px) {
.box_outer .box {
	margin-top:15px;
	border:1px solid #CCC;
	padding:14px;
}
.under_outer .box {
	padding:25px 0;
}
.box_title {
	font-size:20px;
}
.box_img {
	width:100px;
	height:75px;
	background-size: cover;
	background-position:center;
	background-repeat:no-repeat;
}
.textL .box_img {
	height:100px;
	margin-right:15px;
}
.textR .box_img {
	height:100px;
	margin-left:15px;
}
.box_text {
	margin-left:115px;
}
.box_text p {
	margin-top:1em;
}
.box_text p:first-child {
	margin-top:0;
}
.box_outer.wide .box_img, .under_outer.wide .box_img {
	float:none;
	width:100%;
	height:0;
	margin-bottom:15px;
	padding-top:75%;
	background-size: cover;
	background-position: center top;
	background-repeat:no-repeat;
}
.box_outer.wide .box_text, .under_outer.wide .box_text {
	margin-left:0;
}
}
/*-----------------------------------------
■■INIT
-----------------------------------------*/
/*-----------------------------------------
　■01.FONT
-----------------------------------------*/
/*font fixed size base (japanese)*/
.tx_10f {
	font-size:10px;
}
.tx_11f {
	font-size:11px;
}
.tx_12f {
	font-size:12px;
}
.tx_13f {
	font-size:13px;
}
.tx_14f {
	font-size:14px;
}
.tx_15f {
	font-size:15px;
}
.tx_16f {
	font-size:16px;
}
.tx_18f {
	font-size:18px;
}
.tx_20f {
	font-size:20px;
}
.tx_24f {
	font-size:24px;
}
.tx_28f {
	font-size:28px;
}
.subtitle {
	font-size:21px;
	font-weight:bold;
	padding:10px;
	border-radius: 5px;
	background-color:#F3F4F5;
	margin-bottom:0.8em;
	text-align:center;
}
.bg_gray > .subtitle {
	background-color: white
}
.tx_c {
	text-align: center !important;
}
.tx_l {
	text-align: left !important;
}
.tx_r {
	text-align: right !important;
}
.vt {
	vertical-align: top !important;
}
.vb {
	vertical-align: bottom !important;
}
.vm {
	vertical-align: middle !important;
}
.block_l {
	float: left;
}
.block_r {
	float: right;
}
strong, .st {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
object {
	outline: none;
}
.tx_black {
	color:#333;
}
.tx_gray {
	color:#666;
}
.tx_blue {
	color:#0066aa;
}
.tx_red {
	color:#e63125;
}
.tx_orange {
	color:#ef5701;
}
.tx_green {
	color:#64a816;
}
.tx_purple {
	color:#8749bb;
}
.tx_pink {
	color:#ff1dab;
}
.tx_white {
	color:#fff;
}
.bg_gray {
	background-color:#f2f4f3 !important;
}
.bg_yellow {
	background-color:#fFFFF2 !important;
}
.bg_white {
	background-color:#FFF !important;
}
.wball {
	word-break:break-all
}
.ls-1 {
	letter-spacing:-1px;
}
ol > li {
	padding-left:2em;
	counter-increment: ol;
	position:relative;
	margin-bottom:0.5em;
}
ol > li:before {
	position:absolute;
	display:block;
	top:0;
	left:0;
	content: counter(ol) "）";
	width:1.8em;
	text-align:right;
}
.tx_topic li, p.tx_topic {
	position:relative;
	padding-left:1.4em;
}
.tx_topic li:before, p.tx_topic:before {
	position:absolute;
	top:6px;
	left:0;
	content:"";
	background-color:#FFF;
	background-image:url(../img/listTopic.png);
	background-size:cover;
	width:16px;
	height:16px;
	border-radius:2px;
	box-sizing:border-box;
	border:1px solid #CCC;
}
.tx_sub li, p.tx_sub {
	display:block;
	padding-left:1em;
	position:relative;
}
.tx_sub li:before, p.tx_sub:before {
	position:absolute;
	top:0;
	left:0;
	content:"●";
}
.tx_topic li, .tx_sub li {
	margin-top:0.5em;
}
.ulHalf li, .ulHalf2 li {
	display:block;
	float:left;
	white-space:nowrap;
	width:49%;
	text-align:center;
	margin-left:2%
}
.ulHalf li:first-child, .ulHalf2 li:first-child, .ulHalf li:nth-child(2n-1), .ulHalf2 li:nth-child(2n-1) {
	margin-left:0
}
.ulHalf li a {
	width:100%;
	margin:0 auto;
}
.ulInline li {
	display:inline-block;
	white-space:nowrap;
}
.uDot {
	padding-bottom:2em;
	margin-bottom:2em;
	border-bottom:1px dotted #666
}
/*-----------------------------------------
　■02.Between LINES
-----------------------------------------*/
.mt05 {
	margin-top:0.5em !important;
}
.mt0 {
	margin-top:0 !important;
}
.mt1 {
	margin-top:1em !important;
}
.mt2 {
	margin-top:2em !important;
}
.mt3 {
	margin-top:3em !important;
}
.mb05 {
	margin-bottom:0.5em !important;
}
.mb0 {
	margin-bottom:0 !important;
}
.mb1 {
	margin-bottom:1em !important;
}
.mb2 {
	margin-bottom:2em !important;
}
.mb3 {
	margin-bottom:3em !important;
}
.mb4 {
	margin-bottom:4em !important;
}
.mb5 {
	margin-bottom:5em !important;
}
.ml-05 {
	margin-left:-0.5em !important;
}
.ml05 {
	margin-left:0.5em !important;
}
.ml0 {
	margin-left:0 !important;
}
.ml1 {
	margin-left:1em !important;
}
.ml2 {
	margin-left:2em !important;
}
.ml3 {
	margin-left:3em !important;
}
.mr05 {
	margin-right:0.5em !important;
}
.mr0 {
	margin-right:0 !important;
}
.mr1 {
	margin-right:1em !important;
}
.mr2 {
	margin-right:2em !important;
}
.mr3 {
	margin-right:3em !important;
}
.noBorder {
	border:none !important;
}
.nowrap {
	white-space:nowrap;
}
.ib {
	display:inline-block;
}
.mk1 {
	padding-left:1em;
	position:relative;
}
.mk1:before {
	position: absolute;
	left:0;
	top:0;
}
.mk1.kome:before {
	content:"※";
	color:#E03;
}
@media only screen and (max-width: 480px) {
.tx_10f {
	font-size:9px;
}
.tx_11f {
	font-size:10px;
}
.tx_12f {
	font-size:11px;
}
.tx_13f {
	font-size:11px;
}
.tx_14f {
	font-size:12px;
}
.tx_15f {
	font-size:13px;
}
.tx_16f {
	font-size:14px;
}
.tx_18f {
	font-size:15px;
}
.tx_20f {
	font-size:16px;
}
.tx_24f {
	font-size:18px;
}
.tx_28f {
	font-size:21px;
}
.subtitle {
	font-size:18px;
}
.tx_topic li:before, p.tx_topic:before {
	top:3px;
	width:10px;
	height:10px;
}
}
/*---------------------------------------
　■03.INPUT
---------------------------------------*/
input.iact {
	ime-mode: active;
}
input.idis {
	ime-mode: disabled;
}
input[type="text"], input[type="tel"], input[type="url"], input[type="email"], input[type="password"], input[type="number"], input[type="month"], input[type="date"], input[type="datetime"], textarea, button {
	padding: 7px 13px;
	border: 1px solid #333;
	box-sizing:border-box;
	width:100%;
	font:18px/1.6em Verdana, Roboto, "Droid Sans", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
}
input[type="text"].b4 {
	width:calc(100% - 6em) !important;
}
input[maxlength="8"] {
	width:8em
}
input[readonly] {
	background-color:#F3F4F5;
}
.select {
	display:inline-block;
	position:relative;
}
.select select {
	display:inline-block;
	padding: 7px 60px 7px 13px;
	border: 1px solid #333;
	box-sizing:border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font:18px/1.6em Verdana, Roboto, "Droid Sans", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
}
.select:after {
	content: '▼';
	display: inline-block;
	position: absolute;
	right: 15px;
	top: 50%;
	transform:translateY(-50%);
	pointer-events: none;
}
input[type="checkbox"], input[type="radio"] {
	display: none;
}
input[type="checkbox"] + label, input[type="radio"] + label {
	display:block;
	position: relative;
	cursor: pointer;
	padding: 10px 10px 10px 30px;
	border-radius: 5px;
	color: #3e4956;
	line-height: 1.2;
	border:1px solid #FFF;
	box-sizing:border-box;
}
input[type="checkbox"] + label:before, input[type="radio"] + label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 5px;
	width: 12px;
	height: 12px;
	margin-top: -10px;
	background: #FFF;
	border:4px solid #CCC;
}
input[type="radio"] + label:before {
	border-radius:50%;
}
input[type="checkbox"]:checked + label, input[type="radio"]:checked + label {
	background: #FFC;
	border:1px solid #AAA;
}
input[type="checkbox"]:checked + label:after, input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 11px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	background: #000;
}
input[type="radio"] + label:before, input[type="radio"]:checked + label:after {
	border-radius:50%;
}
 @media only screen and (max-width:680px) {
input[type="text"], input[type="tel"], input[type="url"], input[type="email"], input[type="password"], input[type="number"], input[type="month"], input[type="date"], input[type="datetime"], textarea, button {
	font:16px/1.6em Verdana, Roboto, "Droid Sans", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
}
input[type="checkbox"]:checked + label, input[type="radio"]:checked + label {
	display:block;
}
}
/*---------------------------------------
　■04.BUTTON
---------------------------------------*/
button {
	background: transparent;
	margin: 0;
	padding: 0;
	border: none;
	cursor: pointer;
}
.btn_L {
	height: 60px;
	line-height: 58px;
	width: 300px;
	padding-left:24px;
	box-sizing:border-box;
}
.btn_L.mini {
	width: 165px;
}
.btn_S {
	font-size:14px;
	height: 30px;
	line-height: 28px;
	width: 180px;
}
.btn_L, .btn_S, .btn_Contact {
	background-color: var(--black);
	border: 1px solid #000;
	color: white;
	display: inline-block;
	text-align: center;
	-webkit-transition: background-color, 0.15s, ease-out, border-color, 0.15s, ease-out;
	transition: background-color, 0.15s, ease-out, border-color, 0.15s, ease-out;
	text-decoration: none;
	position: relative;
}
.btn_L:after, .btn_S:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	content: "";
	position: absolute;
	-webkit-transition: -webkit-transform 0.15s ease-out;
	transition: transform 0.15s ease-out;
}
.btn_L:after {
	background-image: url(../img/arrow_white_medium.png);
	background-size: 9px;
	height: 16px;
	left: 30px;
	top: 21px;
	width: 9px;
}
.btn_S:after {
	background-image: url(../img/arrow_white_small.png);
	background-size: 5px;
	height: 10px;
	left: 15px;
	top: 9px;
	width: 5px;
}
.btn_L:hover, .btn_S:hover, .btn_Contact:hover {
	background-color: rgba(0, 0, 0, 0.05);
	background-color: transparent;
	border: 1px solid #000;
	color: var(--black);
}
.btn_L:hover:after, .btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.btn_L:hover:after {
	background-image: url(../img/arrow_black_medium.png);
	background-size: 9px;
}
.btn_S:hover:after {
	background-image: url(../img/arrow_black_small.png);
	background-size: 5px;
	-webkit-transform: translate3D(1.5px, 0, 0);
	-ms-transform: translate3D(1.5px, 0, 0);
	transform: translate3D(1.5px, 0, 0);
}
.btn_L.back {
	background-color:#999;
	border: 1px solid #999;
	color:#FFF;
}
.btn_L.back:after {
	background-image: url(../img/back_white_medium.png);
}
.btn_L.back:hover:after {
	background-image: url(../img/back_white_medium.png);
	background-size: 9px;
	-webkit-transform: translate3D(-3px, 0, 0);
	-ms-transform: translate3D(-3px, 0, 0);
	transform: translate3D(-3px, 0, 0);
}
/*背景透過ボタン*/
.trans.btn_L, .trans.btn_S {
	background-color: transparent;
	border: 1px solid #000;
	color: var(--black);
}
.trans.btn_L:after, .trans.btn_S:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.trans.btn_L:after {
	background-image: url(../img/arrow_black_medium.png);
	background-size: 9px;
}
.trans.btn_S:after {
	background-image: url(../img/arrow_black_small.png);
	background-size: 5px;
}
.trans.btn_L:hover, .trans.btn_S:hover {
	background-color: rgba(0, 0, 0, 0.05);
}
.trans.btn_L:hover:after, .trans.btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.trans.btn_L:hover:after {
	background-image: url(../img/arrow_black_medium.png);
	background-size: 9px;
}
.trans.btn_S:hover:after {
	background-image: url(../img/arrow_black_small.png);
	background-size: 5px;
}
/*白ボタン*/
.white.btn_L, .white.btn_S {
	background-color: transparent;
	border: 1px solid #FFF;
	color: white;
}
.white.btn_L:hover, .white.btn_S:hover {
	background-color: rgba(255, 255, 255, 0.05);
}
.white.btn_L:hover:after, .white.btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.white.btn_L:hover:after {
	background-image: url(../img/arrow_white_medium.png);
	background-size: 9px;
}
a.white.btn_S:hover:after {
	background-image: url(../img/arrow_white_small.png);
	background-size: 5px;
}
/*電話ボタン*/
.tel.btn_L {
	background-color:white;
	border: 1px solid #000;
	color: var(--black);
	font-weight:700;
	padding:0 24px 0 96px;
	width:auto;
	border-radius:10px;
	font-size:21px;
	background-image:url(../img/telnum.svg);
	background-position:center left 107px;
	background-repeat:no-repeat;
}
.tel.btn_L:after {
	width:55px;
	height:48px;
	top: 5px;
	left:10px;
	background-image: url(../img/top_tel.png);
	background-size:48px;
	background-position:left center;
	border-right:1px solid black;
}
.tel.btn_L:hover {
	background-color: rgba(255, 255, 255, 0.05);
}
.mail.btn_L {
	font-weight:700;
	padding:0 24px 0 96px;
	width:auto;
	border-radius:10px;
	font-size:18px;
}
.mail.btn_L:after {
	width:55px;
	height:48px;
	top: 5px;
	left:10px;
	background-image: url(../img/top_mail.png);
	background-size:44px;
	background-position:left center;
	border-right:1px solid white;
}
.mail.btn_L:hover {
	background-color: rgba(255, 255, 255, 0.05);
}
 @media only screen and (max-width: 480px) {
.btn_L {
	height: 45px;
	line-height: 45px;
	width: 260px;
	padding-left:10px;
}
.btn_S {
	height: 24px;
	line-height: 24px;
	width: 150px;
}
.btn_L:after, .btn_S:after, .btn_L.back:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_white_small.png);
	background-position:center;
	background-size: 5px;
	height: 10px;
	left: 20px;
	top: 16px;
	width: 5px;
}
.btn_L:hover:after, .btn_S:hover:after, .btn_L.back:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_black_small.png);
	background-size: 5px;
}
.btn_L.back:after {
	background-image: url(../img/back_white_small.png);
}
.btn_L.back:hover:after {
	background-image: url(../img/back_white_small.png);
}
.btn_S:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_white_small.png);
	background-size: 3px;
	height: 6px;
	left: 8px;
	top: 6px;
	width: 3px;
}
a.trans.btn_L:after, a.trans.btn_S:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_black_small.png);
	background-size: 5px;
}
a.trans.btn_L:hover:after, a.trans.btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_black_small.png);
	background-size: 5px;
}
.white.btn_L:hover:after, .white.btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_white_small.png);
	background-size: 5px;
}
.white.btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../img/arrow_white_small.png);
	background-size: 5px;
}
.tel.btn_L {
	margin:0.5em 0 0 !important;
	padding:0 12px 0 60px;
	font-size:21px;
}
.tel.btn_L:after {
	width:40px;
	height:32px;
	top: 5px;
	left:12px;
	background-image: url(../img/top_tel.png);
	background-size:32px;
}
.mail.btn_L {
	margin:0.5em 0 0 !important;
	padding:0 12px 0 60px;
	font-size:18px;
}
.mail.btn_L:after {
	width:40px;
	height:32px;
	top: 5px;
	left:12px;
	background-image: url(../img/top_mail.png);
	background-size:32px;
}
}
/*-------------------------------
 HTML5 調整
-------------------------------*/
header, footer, section, article, aside, nav {
	display:block;
}
/*-------------------------------------------------
　■□□PCの設定　768-960px
-------------------------------------------------*/
.pc {
}
.sp {
	display:none;
}
.ulInline li.sp {
	display:none;
}

/*-------------------------------------------------
　□□■スマホの設定　320-480px
-------------------------------------------------*/

@media all and (max-width:480px) {
.pc {
	display:none;
}
.sp {
	display:inherit;
}
.ulInline li.sp {
	display:inline-block !important;
}
.ulHalf {
	margin-top:0 !important;
}
.ulHalf li {
	float:none;
	width:100%;
	text-align:center;
	margin-top:1em;
	margin-left:0;
}
.ulHalf li a {
	width:100%;
	margin:0 auto;
}
}
/*-----------------------------------------------
　■■INDEX
-----------------------------------------------*/
/*-----------------------------------------------
　■TOPIMAGE
-----------------------------------------------*/
.section#topimg {
	overflow: hidden;
	padding: 0;
	width:100%;
	position:relative;
	padding-top:38.1%;
	height:0;
}
.section#topimg .bg-container {
	background-image: url(../../index/img/main_01.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left:0;
	bottom:0;
	right:0;
	z-index: -1;
}
.section#topimg #cover {
/*position: absolute;
	display: table;
	top: 0;
	left:0;
	bottom:0;
	height:100%;
	width:100%;
	right:auto;
	max-width:960px;
	vertical-align:middle;
/*
	-webkit-animation: cover_text 1s ease-out 1s both;
	animation: cover_text 1s ease-out 1s both;*/
}
/*@-webkit-keyframes cover_text {
0% {
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
	100% {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}
@keyframes cover_text {
0% {
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
100% {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}*/

.pc-style .section#topimg #cover {
	text-align:left;
}
/*.sp-style .section#topimg #cover {
	text-align:left;
	color:#000;
}*/


.section#topimg .cover_text {
	display: table-cell;
	vertical-align: middle;
	padding-top:50px;
	padding-left:5%;
}
.section#topimg .cover_text {
	display: table-cell;
	vertical-align: middle;
	-webkit-animation: cover_text 1s ease-out 1s both;
	animation: cover_text 1s ease-out 1s both;
}
.section#topimg .cover_text .stitle {
 font-size : calc( 18px + ((1vw - 3.2px) * 2.8125 ));
	line-height: 1.2;
}
.pc-style .section#topimg .cover_text .stitle {
/*	text-shadow: 1px 1px 3px #000;*/
}
.sp-style .section#topimg .cover_text .stitle {
/*	text-shadow: 1px 1px 3px #fff;*/
}
.section#topimg .cover_text .sstitle {
	line-height: 1.875;
}
@media all and (min-width:1600px) {
.section#topimg .cover_text .stitle {
	font-size : 54px;
}
}
@media all and (max-width:640px) {
.section#topimg {
	margin-top:70px;
}
.section#topimg .cover_text {
	padding-top:0;
}
}
@media only screen and (max-width: 480px) {
/*.section#topimg:before {
padding-top:61.8%;
}

.section#topimg .bg-container {
	background-position:right center;
	background-size:cover;
}

.section#topimg .inner {
	margin-left: 0;
	padding-left: 0;
	text-align: center;
	width: 100%;
	display: block;
}*/
}
/*--------------------------------------------
　■CONTACT
-------------------------------------------*/
#contact {
	overflow: hidden;
	width: 100%;
	background-color:#f08000;
	background-size: cover;
	background-repeat:no-repeat;
	background-position:center;
}
#contact h1 {
	color:white;
}
#contact h1:after {
	background-color:white;
}
#contact .inner {
	box-sizing: border-box;
	padding:0;
	text-align: center;
	position: relative;
	z-index: 800;
}
#contact .inner .contact_message {
	font-size: 32px;
	line-height:1.6;
	margin: -12px 0 5px;
}
#contact .inner .contact_text {
	font-size: 16px;
	line-height:1.6;
	margin:0 0 35px;
}
#contact .inner .contact_message.sm {
	font-size: 22px;
}
#contact .inner ul li .btn_L {
	width:100%;
	display: inline-block;
}
ul.btn_area {
	text-align:center;
}
ul.btn_area li {
	display:inline-block;
	white-space:nowrap;/*margin:0 10px 10px;
	width:300px;*/
}
ul.btn_area li .btn_L {
	width:100%;
}
 @media only screen and (max-width: 480px) {
#contact {
	height: auto;
	padding: 40px 15px;
}
#contact .inner .contact_message {
	font-size: 16px;
	line-height: 1.6;
	margin: -7px 0 3px;
}
#contact .inner .contact_message.sm {
	font-size: 14px;
}
#contact .inner .contact_text {
	font-size: 11px;
	line-height:1.6;
	margin:0 0 15px;
}
#contact .btn_area li {
	margin:0 0 10px;
}
}
/*------------------------------------------------------
　■会社概要
------------------------------------------------------*/
.txt-scr {
	display:block;
	height:29px;
	background-position:center left;
	background-repeat:no-repeat;
	text-indent:100%;
	overflow:hidden;
}
.txt-scr.t1 {
	background-image: url(../../index/img/t1.png);
	background-size:199px;
}
.txt-scr.t2 {
	background-image: url(../../index/img/t2.png);
	background-size:301px;
}
.txt-scr.t3 {
	background-image: url(../../index/img/t3.png);
	background-size:138px;
}
.txt-scr.t4 {
	background-image: url(../../index/img/t4.svg);
	background-size:90px;
}
.txt-scr.t5 {
	background-image: url(../../index/img/t5.svg);
	background-size:72px;
}
.txt-scr.t7 {
	background-image: url(../../index/img/t7.svg);
	background-size:114px;
}
#company ol {
	background-image: url(../../index/img/t6.png);
	background-position: 3px center;
	background-repeat:no-repeat;
	display:block;
}
#company ol li {
	text-indent:100%;
	overflow:hidden;
	height:29px;
}
#company ol li:before {
	display:none;
}
 @media only screen and (max-width: 960px) {
body #company {
	font-size : 16px;
	line-height:1.6;
}
body #company .tbl_basic th {
	width:130px;
}
.txt-scr, #company ol li {
	height:26px;
}
.txt-scr.t1 {
	background-size:175px;
}
.txt-scr.t2 {
	background-size:264px;
}
.txt-scr.t3 {
	background-size:121px;
}
.txt-scr.t4 {
	background-size:79px;
}
.txt-scr.t5 {
	background-size:64px;
}
.txt-scr.t7 {
	background-size:101px;
}
#company ol {
	background-image: url(../../index/img/tb6.png);
}
}
@media only screen and (max-width: 640px) {
body #company {
	font-size : 13px;
	line-height:1.6;
}
body #company .tbl_basic th {
	width:100%;
}
.txt-scr, #company ol li {
	height:21px;
}
.txt-scr.t1 {
	background-size:144px;
}
.txt-scr.t2 {
	background-size:218px;
}
.txt-scr.t3 {
	background-size:100px;
}
.txt-scr.t4 {
	background-size:65px;
}
.txt-scr.t5 {
	background-size:52px;
}
.txt-scr.t7 {
	background-size:83px;
}
#company ol {
	background-image: url(../../index/img/ts6.png);
	background-size:contain;
}
}
/*----------------------------------------------------
　■印刷用CSS
----------------------------------------------------*/

@media print {
html, body {
	width: 100%;
	font:13px/1.6em "Lucida Grande", "ヒラギノ角ゴ ProN W3", "HiraKakuPro-W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
	color:#333;
	color: rgba(0, 0, 0, .8);
}
.section {
	padding: 30px 15px;
	page-break-after: avoid;
}
.section .title {
	font-size :18px;
	padding: 0 0 8px;
	margin: 0 0 25px;
}
.section .title:after {
	font-size:1px;
	height: 2.5px;
	margin-left: -12.5px;
	width: 25px;
}
.txt-scr {
	text-indent:0;
	overflow: inherit;
	height:21px;
}
.txt-scr.t1 {
	background-image:none;
}
.txt-scr.t2 {
	background-image:none;
}
.txt-scr.t3 {
	background-image:none;
}
.txt-scr.t4 {
	background-image:none;
}
.txt-scr.t5 {
	background-image:url(../../index/img/ts5.png);
}
.txt-scr.t7 {
	background-image:none;
}
#company ol {
	background-image:none;
	display: inline;
}
#company ol li {
	text-indent:0;
	overflow:hidden;
	height:21px;
}
#company ol li:before {
	display:block;
}
.box_outer .box {
	padding:15px;
}
.tbl_basic th {
	width:130px;
}
.section#contact {
	padding: 15px 15px;
}
#contact .tx_24f {
	font-size:18px;
	line-height:1.6;
}
.btn_L {
	height: 45px;
	line-height: 45px;
	width: 260px;
	padding-left:10px;
}
.tel.btn_L {
	margin:0 0 0 0.5em;
!important;
	padding:0 12px 0 60px;
}
.tel.btn_L:after {
	width:32px;
	height:32px;
	top: 5px;
	left:12px;
	background-image: url(../img/top_tel.png);
	background-size:cover;
}
.mail.btn_L {
	margin:0 0 0 0.5em;
!important;
	padding:0 12px 0 60px;
}
.mail.btn_L:after {
	width:32px;
	height:32px;
	top: 5px;
	left:12px;
	background-image: url(../img/top_tel.png);
	background-size:cover;
}
#footer {
	padding:10px;
}
#copyright {
	font-size:100%;
}
#footer-follow {
	display:none !important;
}
}
/*-----------------------------------------
　■06.GRAPH
-----------------------------------------*/
#demoGraph {
	display:table;
	width:100%;
}
#demoGraph > div {
	display:table-cell;
	vertical-align:middle;
}
#demoGraph > div:nth-child(1), #demoGraph > div:nth-child(1) table {
	width:120px;
}
#demoGraph > div:nth-child(1) table th {
	width:100%;
	border:1px solid #CCC;
	background-color:#F4F3F2;
}
#demoGraph > div:nth-child(1) table td {
	width:100%;
	border:1px solid #CCC;
	background-color:#F4F3F2;
	margin-bottom:2px
}
#demoGraph > div:nth-child(1) table td input {
	width:100%;
	border:0 none transparent;
	text-align:center;
	background-color:white;
}
#demoGraph > div:nth-child(1) table td input:focus {
	background-color: #FFF8F8;
}
#demoGraph > div:nth-child(1) table td input[type="number"]::-webkit-outer-spin-button, #demoGraph > div:nth-child(1) table td input[type="number"]::-webkit-outer-spin-button {
 -webkit-appearance: none;
 margin: 0;
}
#demoGraph > d div:nth-child(1) table td input[type="number"] {
	-moz-appearance:textfield;
}
#demoGraph > div:nth-child(2) {
}
.graph0 {
	width:100%;
	height:0;
	padding-top:80%;
	position:relative;
	z-index:1
}
.graph1 {
	width:100%;
	height:0;
	padding-top:70%;
	position:relative;
	z-index:1
}
.graph2 {
	width:100%;
	height:0;
	padding-top:50%;
	position:relative;
	z-index:1
}
.graph3 {
	width:100%;
	height:0;
	padding-top:25%;
	position:relative;
	z-index:1
}
.graph0 .outer, .graph1 .outer, .graph2 .outer, .graph3 .outer {
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	right:0;
	height:100%;
	width:100%;
	z-index:2
}
.web {
	width:100%;
	height:0;
	padding-top:50%;
	background-position:center;
	background-repeat: no-repeat;
	background-size:contain;
	position:relative;
	z-index:1;
	margin:auto;
}
.web .outer {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
}
.rawBox {
	width:100%;
}
.rawBox > div {
	float:left;
}
.rawBox.try > div {
	margin-left:40px;
	margin-top:20px;
	width:calc( (100% - 81px ) / 3 );
}
.rawBox.try > div:nth-child(3n+1) {
	margin-left:0;
}
@media only screen and (max-width: 480px) {
#demoGraph > div:nth-child(1), #demoGraph > div:nth-child(1) table {
	width:100px;
}
.rawBox.try > div {
	margin-left:20px;
	margin-top:10px;
	width:calc( (100% - 21px ) / 2 );
}
.rawBox.try > div:nth-child(3n+1) {
	margin-left:20px;
}
.rawBox.try > div:nth-child(2n+1) {
	margin-left:0px;
}
}
/*----------------------------------------
 ■PAGER
----------------------------------------*/
.pager {
	display:flex;
	justify-content:center;
	align-items:center;
	height:25px;
	line-height:25px;
}
.pager a, .pager span {
	border:1px solid var(--lita-blue);
	box-sizing:border-box;
	display:inline-block;
	text-align:center;
	height:24px;
	line-height:22px;
	min-width:24px;
	margin:0 2px;
	padding:0 4px;
	text-decoration:none;
}
.pager a {
	background-color: var(--white);
	color:var(--lita-blue);
}
.pager span {
	background-color: var(--lita-blue);
	font-weight:bold;
	color:#FFF;
}
.pager a:hover {
	background-color: #c01649;
	border:1px solid #c01649;
	text-decoration:none;
	color:#FFF;
}
/*----------------------------------------
 ■新着情報
----------------------------------------*/
#news .section .title {
	text-align:left;
}
#news #linkbtn {
	top: 0.5em;
	right: 0rem;
	text-align: right;
	position: absolute;
	display: inline-block;
}
.news_table {
	border-top: 1px solid #ddd;
	margin: auto auto 1rem;
	display: grid;
	grid-template-columns: 200px 1fr;
}
.news_row {
	display: contents;
	text-decoration: none;
	color: inherit;
}
.news_row:hover .news_dt, .news_row:hover .news_dd {
	background-color: #f5f5f5;
}
.news_dt, .news_dd {
	border-bottom: 1px solid #ddd;
}
.news_dt {
	padding: 1.2rem 0 1.2rem 0.2rem;
	font-weight: 300;
	display:flex;
	align-items: flex-start;
	white-space:nowrap;
	gap:0.5rem;
}
.news_dt strong {
	font-size:0.8rem;
	display:inline-block;
	padding:0;
	text-align:center;
	width:3.6rem;
}
*[data-category="NEWS"] {
	background: #2563eb;
	color:var(--white);
} /* 青 */
*[data-category="ご注意"] {
	background: #dc2626;
	color:var(--white);
} /* 黄　*/
*[data-category="お知らせ"] {
	background: var(--amber);
	color:var(--white);
} /* 黒 */
*[data-category="障害情報"] {
	background: #555;
	color:var(--white);
} /* 赤 */
*[data-category="NEWS"], *[data-category="ご注意"], *[data-category="お知らせ"], *[data-category="障害情報"] {
	display:inline-block;
	padding: 0 0.5rem
}
.news_dd {
	padding: 1.2rem 0.2rem 1.2rem 1rem;
}
@media (max-width: 640px) {
.news_table {
	grid-template-columns: 1fr;   /* 2カラム → 1カラムに */
}
.news_row:hover .news_dt {
	background-color: #f5f5f5;   /* ホバー色をdtにも維持 */
}
.news_dt {
	padding: 0.8rem 0.2rem 0.3rem;
	border-bottom: none;          /* dtとddの間の線を消す */
	align-items: center;
	gap: 0.4rem;
}
.news_dd {
	padding: 0.3rem 0.2rem 0.8rem 1.2rem;
	border-bottom: 1px solid #ddd; /* 区切り線はddの下だけに集約 */
}
}
/*---------------------------------------------
　■NEWS SDETAIL
---------------------------------------------*/
#news .img_box {
    margin-bottom: 2em;
    display: flex;
    width: 100%;
    justify-content: center;
}
.contentBox{ border:1px solid var(--border); padding:1rem 1.2rem; margin-top:1em; display:flex;}
.contentBox dt{ display: inline-block; width:90px;}
.contentBox dd{ display: inline-block; width:calc( 100% - 90px)}
