@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700|Noto+Serif+JP:400,500,600,700&amp;display=swap");

/*====================================================================

common.css

=====================================================================*/

/*--------------------------------------------------------------------/
	01.format
/--------------------------------------------------------------------*/

/* html5reset-1.6.1.css */

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video { /* added */
	-webkit-text-size-adjust: none; /* added */
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	border-collapse: collapse;
	outline: 0;
	background: transparent;
	font-size: 100%;
	vertical-align: baseline;
}

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

nav ul {
	list-style: none;
}

ul li,
ol li {
	list-style: none;
}

/* added */

blockquote,
q {
	quotes: none;
}

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

a {
	margin: 0;
	padding: 0;
	background: transparent;
	font-size: 100%;
	vertical-align: baseline;
}

/* change colours to suit your needs */

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */

hr {
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #cccccc;
}

input,
select {
	vertical-align: middle;
}

img {
	max-width: 100%;
	height: auto;
}

/*--------------------------------------------------------------------/
	02.body
/--------------------------------------------------------------------*/

html {
	position: relative;
	font-size: 16px;
}

body {
	color: #505050;
	font-family: 'Noto Sans JP', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'ＭＳ ゴシック', Osaka, Osaka-等幅, sans-serif;
	font-weight: 400;
	line-height: 1;
	text-align: center;
}

/* a
----------------------------------------------------------------*/

a {
	outline: none;
	transition: all 0.2s ease;
}

a:link,
a:visited,
a:hover,
a:active {
	outline: none;
	color: #000;
}

a:link {
	text-decoration: underline;
}

a:visited {
	text-decoration: underline;
}

a:hover {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

.tel-link {
	text-decoration: none !important;
}

/*--------------------------------------------------------------------/
	header
/--------------------------------------------------------------------*/

header {
	position: relative;
	width: 100%;
	transition: 0.3s ease all;
}

.h-inner {
	position: relative;
	width: 96%;
	max-width: 1340px;
	height: 50px;
	margin-right: auto;
	margin-left: auto;
}

header h1 {
	margin-bottom: 7px;
	color: #777;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: center;
}

.h-logo {
	transition: 0.3s ease all;
}

.h-logo img {
	max-height: 20px;
	margin: 0px auto;
}

.h-tel {
	position: absolute;
	top: 6px; /* right: 198px;
	right: 260px;*/
	right: 295px;
	padding-left: 40px;
	font-size: 12px;
	line-height: 1.2;
	transition: 0.6s ease all;
}

.h-tel .tel-link {
	font-size: 27.2px;
	font-size: 1.7rem;
	font-weight: 400;
}

.h-tel .tel-link:before {
	display: block;
	position: absolute;
	top: 7px;
	left: 0;
	width: 37px;
	height: 22px;
	background: url(../img/common/icon-freetel.png) no-repeat 50% 0/100%;
	content: "";
}

.h-mail {
	position: absolute;
	top: 2px; /* right: 0px;
	right: 60px; */
	right: 95px;
	width: 180px;
}

.h-mail a {
	display: block;
	padding: 10px 0 13px;
	background: #0d3268;
	color: #fff;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}

.h-mail a:before {
	padding-right: 8px;
	font-family: "fontello";
	content: "\f0e0";
}

.h-mail a:hover {
	background: #0c68a3;
}

.h-fb {
	position: absolute;
	top: 2px;
	right: 47px; /* right: 10px; */
	width: 30px;
	height: 30px;
}

.h-line {
	position: absolute;
	top: 2px;
	right: 0px;
	width: 32px;
	height: 32px;
}

/*--------------------------------------------------------------------/
	main
/--------------------------------------------------------------------*/

main {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

main:after {
	display: block;
	clear: both;
	content: "";
}

main img {
	display: block;
}

.contents {
	margin-bottom: 48px;
	margin-bottom: 3rem;
	padding-bottom: 120px;
	padding-bottom: 7.5rem;
	background: url(../img/common/bg-01.png) repeat-x 50% 100%;
}

/*--------------------------------------------------------------------/
	article, section
/--------------------------------------------------------------------*/

section:after,
article:after {
	display: block;
	visibility: hidden;
	height: 0.1px;
	clear: both;
	font-size: 0.1em;
	line-height: 0;
	content: ".";
}

/*--------------------------------------------------------------------/
	l-cont
/--------------------------------------------------------------------*/

.l-cont {
	box-sizing: border-box;
	width: 86%;
	max-width: 1120px;
	margin-right: auto;
	margin-left: auto;
}

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

footer {
	padding: 64px 0;
	padding: 4rem 0;
	background: #e5e5e5;
}

.f-inner {
	max-width: 1340px;
	margin-right: auto;
	margin-left: auto;
	text-align: left;
}

/* f-nav
--------------------------------------------------------------------*/

.f-nav {
	margin-right: auto;
	margin-left: auto;
	float: left;
}

.f-nav > ul {
	margin-right: 48px;
	margin-right: 3rem;
	float: left;
}

.f-nav > ul > li {
	margin-bottom: 10px;
	color: #000;
	font-size: 14px;
	letter-spacing: 1px;
}

.f-nav > ul > li:before {
	padding-right: 9px;
	font-family: "fontello";
	font-size: 9.6px;
	font-size: .6rem;
	content: '\f006';
}

.f-nav ul li ul {
	margin-left: 16px;
	margin-left: 1rem;
}

.f-nav ul li ul li {
	margin-bottom: 4.8px;
	margin-bottom: .3rem;
}

.f-nav ul li ul li:before {
	padding-right: 6px;
	font-weight: 500;
	content: "-";
}

.f-nav ul a:link,
.f-nav ul a:visited,
.f-nav ul a:hover,
.f-nav ul a:active {
	color: #000;
	text-decoration: none;
}

.f-nav ul a:hover {
	color: #000;
	text-decoration: underline;
}

/* f-company
--------------------------------------------------------------------*/

.f-company {
	padding: 0 32px;
	padding: 0 2rem;
}

.f-company h3 {
	margin-bottom: 10px;
}

.f-company p {
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 1.5;
}

/* pagetop
--------------------------------------------------------------------*/

.pagetop {
	z-index: 99;
	position: fixed;
	right: 0px;
	bottom: 200px;
	width: 30px;
}

/* copy
--------------------------------------------------------------------*/

.copyright {
	margin-top: 24px;
	margin-top: 1.5rem;
}

/* cont-bnr
--------------------------------------------------------------------*/

.cont-bnr {
	-ms-flex-wrap: wrap;
	-ms-flex-pack: justify;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 90%;
	max-width: 1275px;
	margin: 0px auto 32px;
	margin: 0px auto 2rem;
}

.cont-bnr li {
	width: 48%;
	margin-bottom: 24px;
	margin-bottom: 1.5rem;
}

/* common-contact
--------------------------------------------------------------------*/

.common-contact {
	padding: 56px 0;
	padding: 3.5rem 0;
	background: url(../img/common/common-contact_bg.jpg) no-repeat 50% 0/cover;
}

.common-contact_inner {
	width: 90%;
	margin: 0 auto;
}

.common-contact h3 {
	margin-bottom: 22.4px;
	margin-bottom: 1.4rem;
	color: #fff;
	font-size: 28.8px;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: center;
}

.common-contact_txt p {
	color: #fff;
	font-size: 16px;
	font-size: 1rem;
	letter-spacing: 1px;
	line-height: 1.6;
	text-align: center;
}

.common-contact_box {
	width: 100%;
	max-width: 780px;
	margin: 32px auto 0;
	margin: 2rem auto 0;
}

.cc-tel {
	margin-bottom: 11.2px;
	margin-bottom: .7rem;
	color: #fff;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
}

.cc-tel rp,
.cc-tel rt {
	font-size: 14.4px;
	font-size: .9rem;
	font-weight: 400;
}

.cc-tel .tel-link {
	position: relative;
	color: #fff;
	font-family: Arial, Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: 32px;
	font-size: 2rem;
	font-weight: 500;
}

.cc-tel .tel-link:before {
	display: inline-block;
	width: 37px;
	height: 22px;
	padding-right: 5px;
	background: url(../img/common/icon-freetel.png) no-repeat 50% 0/100%;
	content: "";
}

.cc-nav {
	margin: 0px auto 0px;
	text-align: center;
}

.cc-nav a:link,
.cc-nav a:visited {
	display: block;
	padding: 23px 0;
	background: #fff;
	color: #0d3268;
	font-size: 16.8px;
	font-size: 1.05rem;
	font-weight: 500;
	text-decoration: none;
}

.cc-nav a:hover {
	background: #adceff;
}

.cc-nav a:before {
	padding-right: 7px;
	font-family: "fontello";
	content: "\f0e0";
}

/* 20210910追加---------------------------*/

.cont-line_box_wrap {
	width: 100%;
	max-width: 780px;
	margin: 32px auto 0;
	margin: 2rem auto 0;
	background: #fff;
}

.cont-line_footer {
	margin-bottom: 48px;
	margin-bottom: 3rem;
	border-top: 1px dashed #ccc;
	border-bottom: 1px dashed #ccc;
}

.line_txt-flex {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	display: -ms-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-bottom: 32px;
	padding-bottom: 2rem;
}

.line_btn-flex {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	display: -ms-flex;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cont-line_box {
	-ms-flex-pack: justify;
	display: -ms-flex;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 16px 32px;
	padding: 1rem 2rem;
}

.cont-line_txt {
	margin-left: 8px;
	margin-left: .5rem;
	font-size: 17px;
	font-weight: 500;
}

.cont-line_txt p {
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
}

.cont-line_txt p span {
	border-bottom: 2px solid #00b900;
}

.cont-line_txt .cont-btn {
	width: 100%;
	max-width: 336px;
	margin-top: 24px;
	margin-top: 1.5rem;
	margin-right: auto;
	margin-left: auto;
}

.cont-line_box .qr-box {
	width: 40%;
	max-width: 135px;
	margin: 0;
}

.line-id {
	-ms-flex-wrap: wrap;
	-ms-flex-pack: justify;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 232px;
	height: 60px;
	margin-top: 15px;
	margin-right: auto;
	margin-left: auto;
	border: 1px solid #00b900;
	border-radius: 6px;
}

.line-id h5 {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 23%;
	border-radius: 6px 0 0 6px;
	background: #00b900;
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
}

.line-id p {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 77%;
	padding: 0;
	font-size: 18px;
	line-height: normal;
	text-align: center;
}

.cont-line_btn {
	margin-left: 16px;
	margin-left: 1rem;
}

/* 20210910追加---------------------------*/

/*--------------------------------------------------------------------/
	btn
/--------------------------------------------------------------------*/

.a-btn {
	padding: 6px 15px 7px 20px;
	border: 2px solid #0d3268;
	background: #fff;
	color: #0d3268 !important;
	font-size: 13.6px;
	font-size: .85rem;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.a-btn:hover {
	background: #0d3268;
	color: #fff !important;
}

.a-btn02 {
	box-sizing: border-box;
	display: block;
	position: relative;
	padding: 10px 0px 11px;
	border: 2px solid #0d3268;
	background: #fff;
	color: #0d3268 !important;
	font-size: 15px;
	letter-spacing: 1px;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.a-btn02:before {
	padding-right: 10px;
	color: #0d3268;
	font-family: "fontello";
	content: '\e809';
}

.a-btn02:hover {
	background: #0d3268;
	color: #fff !important;
}

.a-btn03 {
	display: block;
	position: relative;
	padding: 17px 0;
	background: #0d3268;
	color: #fff !important;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.a-btn03:hover {
	background: #222;
}

.a-btn03:before {
	padding-right: 10px;
	font-family: "fontello";
	font-weight: 400;
	vertical-align: middle;
	content: '\f006';
}

.a-btn04 {
	display: block;
	position: relative;
	padding: 17px 0;
	background: #fba125;
	color: #fff !important;
	line-height: 1;
	text-align: center;
	text-decoration: none !important;
	transition: all 0.2s ease;
}

.a-btn04:hover {
	background: #fb8bba;
}

.a-btn04:before {
	padding-right: 10px;
	font-family: "fontello";
	font-weight: 400;
	vertical-align: middle;
	content: '\f006';
}

/*--------------------------------------------------------------------/
	07.others
/--------------------------------------------------------------------*/

.fl-l {
	float: left;
}

.fl-r {
	float: right;
}

.center {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

.clear {
	clear: both;
}

.clearfix:after {
	display: block;
	clear: both;
	content: "";
}

.clearfix {
	zoom: 1;
}

.cl-red {
	color: #f71c40;
}

.cl-blue {
	color: #28a6ff;
}

.cl-green {
	color: #44c422;
}

.hover * {
	transition: all  0.2s ease;
}

.hover *:hover {
	-ms-filter: "alpha(opacity=70)";
	filter: alpha(opacity=70);
	opacity: 0.7;
}

.contents a img,
aside a img {
	transition: all  0.2s ease;
}

/* text
----------------------------------------------------------------*/

.txt-l {
	text-align: left !important;
}

.txt-r {
	text-align: right !important;
}

.txt-c {
	text-align: center !important;
}

.f-w {
	font-weight: 500;
}

.u_l {
	text-decoration: underline;
}

/* size
----------------------------------------------------------------*/

.fs-s {
	font-size: 90% !important;
}

.fs-m {
	font-size: 115% !important;
}

.fs-l {
	font-size: 140% !important;
	line-height: 1.6 !important;
}

/* margin
----------------------------------------------------------------*/

.mt-m {
	margin-top: 24px;
	margin-top: 1.5rem;
}

.mb-m {
	margin-bottom: 24px;
	margin-bottom: 1.5rem;
}

.ml-m {
	margin-left: 24px;
	margin-left: 1.5rem;
}

.mr-m {
	margin-right: 24px;
	margin-right: 1.5rem;
}

.mt-l {
	margin-top: 40px;
	margin-top: 2.5rem;
}

.mb-l {
	margin-bottom: 40px;
	margin-bottom: 2.5rem;
}

.mb-xl {
	margin-bottom: 50px;
	margin-bottom: 4rem;
}

.ml-l {
	margin-left: 40px;
	margin-left: 2.5rem;
}

.mr-l {
	margin-right: 40px;
	margin-right: 2.5rem;
}

/* img
----------------------------------------------------------------*/

.ofi {
	-o-object-fit: cover; /* 通常の指定 */
	-o-object-position: 50% 50%;
	object-fit: cover;
	object-position: 50% 50%; /* 通常の指定 */
	font-family: "object-fit: cover; object-position: 50% 50%;";
}

/* print css
----------------------------------------------------------------*/

/* 20211015追加---------------------------*/

.sp-block {
	display: block !important;
}

.pc-block {
	display: none !important;
}

.min {
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}

/* スマホアコーディオン */

h4.page_ttl {
	margin-bottom: 24px;
	margin-bottom: 1.5rem;
	padding-top: 11.2px;
	padding-top: .7rem;
	padding-bottom: 11.2px;
	padding-bottom: .7rem;
	background: url(../img/common/line-dot.png) repeat-x 0 100%, url(../img/common/line-dot.png) repeat-x 0 0;
	color: #000;
	font-family: 'Noto Serif JP', serif;
	font-size: 20.8px;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.6;
	text-align: center;
}

@media print, screen and (min-width: 481px) {

.sp-block {
	display: none !important;
}

h4.page_ttl {
	font-size: 1.6rem;
}

}

@media print, screen and (min-width: 640px) {

.cont-bnr li {
	width: 24%;
}

.cont-bnr:before {
	-ms-flex-order: 1;
	display: block;
	order: 1;
	width: 24%;
	content: "";
}

.cont-bnr:after {
	display: block;
	width: 24%;
	content: "";
}

.cc-tel {
	width: 50%;
	float: left;
}

.cc-tel .tel-link {
	font-size: 2.5rem;
}

.cc-nav {
	width: 48%;
	float: right;
}

.fl-l-pc {
	float: left;
}

.fl-r-pc {
	float: right;
}

/* 20210910追加---------------------------*/

.cont-line_box_wrap {
	width: 100%;
	max-width: 780px;
	margin: 2rem auto 0;
	background: #fff;
}

.cont-line_footer {
	margin-bottom: 3rem;
	border-top: 1px dashed #ccc;
	border-bottom: 1px dashed #ccc;
}

.line_txt-flex {
	-ms-flex-align: center;
	display: -ms-flex;
	display: flex;
	align-items: center;
	padding-bottom: 0;
}

.line_btn-flex {
	display: -ms-flex;
	display: flex;
}

.cont-line_box {
	-ms-flex-pack: justify;
	display: -ms-flex;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 1rem 2rem;
}

.cont-line_txt {
	margin-left: .5rem; /*padding-top: 80px;*/
	font-size: 20px;
	font-weight: 500;
}

.cont-line_txt h3 {
	margin-bottom: 10px;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 1px;
	line-height: 1.6;
	text-align: center;
}

.cont-line_txt p {
	font-size: 14px;
	line-height: 1.6;
	text-align: center;
}

.cont-line_txt p span {
	border-bottom: 2px solid #07B53B;
}

.cont-line_txt .cont-btn {
	width: 100%;
	max-width: 336px;
	margin-top: 1.5rem;
	margin-right: auto;
	margin-left: auto;
}

.cont-line_info {
	width: 100%;
	max-width: 486px;
	margin-top: 2rem;
	margin-right: auto;
	margin-left: auto;
	padding: 23px 5%;
	border: 2px dotted #07B53B;
	border-radius: 12px;
}

.cont-line_box .qr-box {
	width: 40%;
	max-width: 135px;
	margin: 0;
}

.line-id {
	-ms-flex-wrap: wrap;
	-ms-flex-pack: justify;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	max-width: 232px;
	height: 60px;
	margin-top: 15px;
	margin-right: auto;
	margin-left: auto;
	border: 1px solid #00b900;
	border-radius: 6px;
}

.line-id h5 {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 23%;
	border-radius: 6px 0 0 6px;
	background: #00b900;
	color: #fff;
	font-size: 30px;
	font-weight: 500;
	text-align: center;
}

.line-id p {
	-ms-flex-align: center;
	-ms-flex-pack: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 77%;
	padding: 0;
	font-size: 18px;
	line-height: normal;
	text-align: center;
}

.cont-line_btn {
	margin-left: 1rem;
}

}

@media print, screen and (min-width: 1000px) {

body {
	padding-top: 84px;
}

header {
	z-index: 999;
	position: fixed;
	top: 0;
	left: 0;
}

.h-inner {
	height: 84px;
}

header h1 {
	padding-top: 20px;
	text-align: left;
}

.h-logo {
	position: absolute;
	top: 43px;
	left: 0;
	width: auto;
}

.h-logo img {
	max-height: none;
}

header.js-fixed {
	z-index: 999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(250, 250, 250, 0.95);
}

header.js-fixed .h-inner {
	height: 70px;
}

header.js-fixed .h-logo {
	top: 25px;
}

header.js-fixed h1 {
	display: none;
}

header.js-fixed .h-tel {
	top: 2px;
}

header.js-fixed .h-mail a {
	padding: 7px 0 8px;
}

/*--------------------------------------------------------------------/
	global
/--------------------------------------------------------------------*/

#global {
	position: absolute;
	top: 54px;
	right: 0px;
	transition: 0.6s ease all;
}

header.js-fixed #global {
	top: 44px;
}

.g-nav {
	margin-right: auto;
	margin-left: auto;
	transition: all  0.2s ease;
}

.g-nav > li {
	box-sizing: border-box;
	position: relative;
	margin-right: 2.2rem;
	float: left;
	font-size: 15px;
	font-weight: 400;
	text-align: center;
	cursor: pointer;
}

.g-nav-last {
	margin-right: 0px !important;
}

.g-nav > li a {
	display: block;
	text-decoration: none;
	cursor: pointer;
}

.g-nav > li > a:before {
	position: absolute;
	bottom: -7px;
	left: 0;
	width: 0;
	height: 2px;
	background: #0d3268;
	content: "";
	transition: 0.5s ease all;
}

.g-nav > li > a:hover:before {
	width: 100%;
}

/* child */

.g-nav li ul {
	z-index: 9999;
	position: absolute;
	top: 25px;
	left: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.g-nav li ul li {
	box-sizing: border-box;
	width: 190px;
	height: 0;
	padding: 0;
	overflow: hidden;
	font-size: 14px;
	transition: all  0.2s ease;
}

.g-nav li ul li a:link,
.g-nav li ul li a:visited {
	box-sizing: border-box;
	position: relative;
	display: block;
	height: 45px !important;
	padding-left: 20px;
	background-color: rgba(0, 0, 0, 0.7);
	color: #fff !important;
	font-weight: 400;
	text-align: left;
	line-height: 1.2;
	text-decoration: none;
	transition: all  0.2s ease;
	display: flex !important;
	align-items: center;
}

.g-nav li ul li a:before {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 10px;
	font-family: "fontello";
	font-size: 10px;
	content: '\e809';
}

.g-nav li ul li.nav-sub a:link,
.g-nav li ul li.nav-sub a:visited {
	padding: 12px 0px 12px 18px;
}

.g-nav li ul li.nav-sub a:before {
	padding-right: 7px;
	font-family: 'Noto Sans JP', sans-serif;
	content: "-";
}

.g-nav li ul li a:hover {
	background-color: #000;
	color: #fff;
}

.g-nav li:hover ul li {
	box-sizing: border-box;
	height: 45px !important;
	overflow: visible;
}

.g-nav-sp {
	display: none;
}

.close-btn {
	display: none;
}

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

.pagetop {
	right: 10px;
	width: 51px;
}

.f-company {
	width: 26%;
	padding: 0;
	float: right;
}

/*--------------------------------------------------------------------/
	common-contact
/--------------------------------------------------------------------*/

.cc-tel .tel-link:before {
	width: 65px;
	height: 39px;
}

.cc-tel .tel-link {
	font-size: 3rem;
}

.cc-nav {
	width: 44%;
}

/*--------------------------------------------------------------------/
	pc
/--------------------------------------------------------------------*/

.pc-none {
	display: none !important;
}

/*--------------------------------------------------------------------/
	scroll_s
/--------------------------------------------------------------------*/

.scroll_s {
	margin-top: -75px !important;
	padding-top: 75px !important;
}

.pc-block {
	display: block !important;
}

h4.page_ttl {
	margin-bottom: 3rem;
}

}

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

html {
	padding-top: 43px;
	font-size: 14px;
}

/*--------------------------------------------------------------------/
	header
/--------------------------------------------------------------------*/

header h1 {
	margin-top: 10px;
}

.h-nav,
.h-tel,
.h-mail {
	display: none;
}

/*--------------------------------------------------------------------/
	04.nav global
/--------------------------------------------------------------------*/

.g-nav-sp {
	z-index: 9999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 43px;
	background: #0d3268;
}

.g-nav-sp ul {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.g-nav-sp ul li {
	box-sizing: border-box;
	display: table-cell;
	width: 25%;
	float: left;
	border-right: 1px solid #294d75;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 43px;
	text-align: center;
	cursor: pointer;
}

.g-nav-sp ul li.sp-line {
	background: #00B900;
}

.g-nav-sp ul li a:link,
.g-nav-sp ul li a:visited {
	display: block;
	color: #fff;
	text-decoration: none;
	transition: all  0.2s ease;
}

#global {
	box-sizing: border-box;
	display: none;
	z-index: 9999;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	padding: 5% 5% 30%;
	overflow: auto;
	background: rgba(13, 50, 104, 0.95);
	color: #fff;
}

.g-nav {
	width: 90%;
}

#global li a,
#global li span {
	display: block;
	padding: 1.2rem 0;
	border-bottom: 1px solid #336092;
	color: #fff;
	font-size: 1rem;
	line-height: 1.4;
	text-align: left;
	text-decoration: none;
}

#global .close-btn {
	margin: 2rem 0 0;
	padding: 1rem;
	color: #fff;
	font-size: 2rem;
	font-weight: 400;
	text-align: center;
}

/* child */

.g-nav li ul {
	display: none;
}

#global li ul li a {
	padding-left: 2rem;
}

#global li ul li a:before {
	padding-right: 7px;
	font-size: 1rem;
	content: "-";
}

.f-nav {
	display: none;
}

/*--------------------------------------------------------------------/
	scroll_s
/--------------------------------------------------------------------*/

.scroll_s {
	margin-top: -43px !important;
	padding-top: 43px !important;
}

.mpc-none {
	display: none;
}

.h-fb {
	display: none;
}

.h-line {
	display: none;
}

}

@media print, screen and (max-width: 999px) {

.g-nav li a.g-nav_list_accordion {
	position: relative;
	width: 100%;
}

.g-nav li a.g-nav_list_accordion em {
	display: block;
	position: absolute;
	top: 50%;
	right: 8px;
	width: 10px;
	height: 1px;
	background-color: #fff;
	font-style: normal;
	content: '';
	transition: 0.3s ease all;
}

.g-nav li a.g-nav_list_accordion em:nth-of-type(1) {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.g-nav li a.g-nav_list_accordion em:nth-of-type(2) {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.g-nav li a.g-nav_list_accordion.active em:nth-of-type(1) {
	display: none;
}

.g-nav li a.g-nav_list_accordion.active em:nth-of-type(2) {
	top: 50%;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

}

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

.tb-none {
	display: none;
}

}

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

.h-logo img {
	max-height: 15px;
}

.sp-none {
	display: none !important;
}

.fl-l {
	margin-right: auto;
	margin-left: auto;
	float: none;
}

.fl-r {
	margin-right: auto;
	margin-left: auto;
	float: none;
}

}

@media print {

footer {
	display: none;
}

}

