@charset "utf-8";

html, body                 {width:100%;margin:0 auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
body                       {-webkit-text-size-adjust:100%;}
div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
table, caption, tbody, tfoot, thead, tr, th, td, p,
fieldset, form, label, legend, input,
article, aside, canvas, figure, figcaption,
footer, header, nav, section,
b, u, i                    {margin:0;padding:0;list-style:none;font-style:normal;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
main                       {display: block;}
a                          {outline:none;}
img                        {border:0 none;vertical-align:top;max-width:100%;height:auto;}
em                         {font-style:normal;font-weight:bold;}
nav ul, nav li             {list-style:none;}
.h a, .f a,
nav a, nav span            {text-decoration:none;}
table                      {border-collapse:collapse;}
p, li                      {line-height: 1.6;}
p                          {margin-bottom: 15px;}

/* ----------------------------------------------- font */
@font-face                 {font-family:'Yu Gothic M';src:local("Yu Gothic Medium"),local("Yu Gothic");font-weight:500;}
html                       {font-size:62.5%;}
body                       {font-size:16px;font-size:1.6rem;font-family: 'Noto Sans JP', "YuGothic M", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;}
h1, h2,  h3                {font-weight:normal;}
.mincho                    {font-family: 'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Times New Roman", Times, serif;}

/* ============================================================== base */
html, body                 {height:100%;}
body                       {-webkit-text-size-adjust:100%;}
.no-br                     {display:none;}
@media (min-width: 751px){
	a[href*="tel:"]            {pointer-events: none;cursor: default;text-decoration: none;}
}
@media screen and (min-width: 1000px){
	.no-br                     {display:inline;}
}

/* ============================================================== common */
.sct {
	position: relative;
	font-size: 4vw;
	font-weight: 300;
}
@media screen and (min-width: 375px){
	.sct {
		font-size: 15px;
	}
}
.sct_inr {
	position: relative;
	margin: 0 auto;
	max-width: 1200px;
}
@media screen and (min-width: 1101px) and (max-width: 1200px){
.sct_inr {
    max-width: 1000px;
    left: -50px;
	}
.gn_lst li a {
    font-size: 14px;
	}
}
@media screen and (min-width: 1000px) and (max-width: 1100px){
.sct_inr {
    max-width: 1000px;
    left: 0px;
	}
.gn_lst li a {
    font-size: 12px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1000px){
.sct_inr {
	max-width: 90%;
	}
}

.sct a img {
	transition: 0.3s;
}
.sct a:hover img {
	opacity: 0.7;
}
.sct_ttl {
	text-align: center;
	margin-bottom: 1.5em;
}
.sct_ttl span {
	display: inline-block;
}
.sct_ttl span i {
	display: block;
}
.sct_ttl span .ja {
	font-size: 150%;
}
.sct_ttl span .en {
	font-size: 50%;
}

.ctg_lst a {
	display: block;
	margin:0 0 0.85em;
	text-decoration: none;
	text-align: center;
	position: relative;
	text-shadow: 0 3px 3px rgba(0,0,0,0.4);
}
.ctg_lst dl {
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 0;
	background: rgba(23,29,72,0.75);
	color: #fff;
	font-weight: 500;
	padding: 0.3em 0 0.5em;
}
.ctg_lst dt {
	font-size: 86.7%;
}
.ctg_lst dd {
	font-size: 120%;
}

.fadein {
	opacity : 0;
	transform : translate(0, 10px);
	transition : all 0.5s;
}
 
.fadein.active{
	opacity : 1;
	transform : translate(0, 0);
}


section.link-service.f_service.five .ctg_lst a {
    width: calc((100% - 3em) / 5);
}
section.link-service.f_service.fore .ctg_lst a {
    width: calc((100% - 3em) / 4);
}
section.link-service .ctg_lst dd {
    font-size: 14px;
	padding: 10px 0 ;
}
section.link-service .ctg_lst dd.nigyou {
	padding: 2px 0 0 0 ;
}
section.link-service .ctg_lst dl {
	position: relative;
	top:0;
	height:56px;
}


@media screen and (max-width: 999px){
.sct_ttl span .ja {
	font-size: 130%;
	}
}

@media screen and (max-width: 767px){
.sct_inr {
    max-width: 100%;
    padding: 0 1em;
	}
section.link-service.f_service .ctg_lst a {
    width: calc((100% - 0.5em) / 2);
	}
section.link-service.f_service.fore .ctg_lst a {
    width: calc((100% - 0.5em) / 2);
	}
section.link-service.f_service.five .ctg_lst a {
    width: calc((100% - 0.5em) / 2);
	}
}


/* ============================================================== header */
.anchor {
	margin-top: 0;
	position: absolute;
	height: 0;
	font-size: 0;
}
.h {
	padding: 0px 1em;
    background-color: #032e15;
}
.h_logo {
	font-size: 100%;
	width: 50vw;
	max-width: 210px;
	margin: 0 auto;
	padding: 8px 0 0.65em;
}
.h_logo a {
	display: block;
}
.h_sns {
	display: none;
}
@media screen and (min-width: 1000px){
	.anchor {
		margin-top: -46px;
	}
	.h {
		padding: 0px 1em;
	}
	.h_sns {
		display: block;
		position: absolute;
		top: -5px;
		right: 0;
		width: 60px;
	}
	.h.sticky {
		display: none;
	}
}

/* ============================================================== gn */
.gn_set {
	position: fixed;
/*	top: 0; */
	top: 140px;
	right: 0;
	z-index: 91;
}
.gn_set.sticky {
	top: 0px;
}
@media screen and (min-width: 1000px){
	.gn_set {
/*		position: sticky; */
/*		top: 0; */
		width: 100%;
		font-weight:normal;
	    background-color: #fff;
	}
}
@media screen and (max-width: 999px){
.gn_set {
	top: 0;
	}
}

/* ============================================================== header pulldown */
.gn_lst li li {
    height: 0;
    overflow: hidden;
    transition: .5s;
}
.gn_lst li:hover > ul > li {
    height: 4rem;
    overflow: visible;
}
.gn_lst li:hover > ul > li:last-child a {
	padding-bottom: 1.2em;
}
.gn_lst li:hover > ul > li:last-child a:after {
    top: 40px;
}
@media screen and (min-width: 1101px) and (max-width: 1200px){
.gn_lst li:hover > ul > li {
    height: 3.5rem;
	}
}
@media screen and (min-width: 1000px) and (max-width: 1100px){
.gn_lst li:hover > ul > li {
    height: 3rem;
	}
}
@media screen and (min-width: 1000px){
.gn_lst li:nth-child(3) li {
	width: 284px;
	}
.gn_lst li:nth-child(7) li:nth-child(3)  {
	width: auto;
	}
.gn_lst li li a {
	background-color: #fff;
    text-align: left;
	}
.gn_lst li li a:hover:after {
    width: 92%;
    left: 4%;
	}
.gn_lst li ul li ul {
    left: 100%;
    position: absolute;
    top: 0;
    width: 100%;
	}
.gn_lst.new li li a {
    background-color: #032e15;
	color: #fff;
	}
.gn_lst.new li li a:hover {
    background-color: #0e4927;
	}

}
@media screen and (max-width: 999px){
.gn_lst li li {
    overflow: visible;
    height: 1.55em;
	border-bottom:none ;
	}
.gn_lst li:hover > ul > li {
    height: 1.75em;
	}
.gn_lst li li a {
	display: inherit;
	}
.gn_lst.new li li {
    height: auto;
	}
.gn_lst.new li:hover li {
    height: auto;
	}
.gn_lst.new li > ul > li ul li {
    height: 20px!important;
    padding-left: 10px;
	font-size: 15px
	}
}


/* ----------------------------------------------- hamburger */
.gn_btn         {font-size: 120%;width: 3em;height: 3em;top: 0.2em;right: 0.2em;line-height: 1;position: absolute;text-align: center;z-index: 3;cursor: pointer;}
.gn_btn i       {position: relative;display: block;text-align: center;vertical-align: bottom;}
.gn_btn:before,
.gn_btn:after,
.gn_btn i:after {background: #6c5968;width: 1.6em;height: 2px;left: calc(50% - 0.8em);position: absolute;content: "";display: block;transition: 0.2s;box-shadow: 1px 1px 0 #fff;}
.gn_btn i:after {top:calc(1.5em - 2px);}
.gn_btn:before  {top:calc(0.8em - 2px);}
.gn_btn:after   {top:calc(2.2em - 2px);}

.gn_show .gn_btn           {border-color:transparent;}
.gn_show .gn_btn:before,
.gn_show .gn_btn:after     {top:1.5em;height:2px;background:#fff;box-shadow: 0 0 0 transparent;}
.gn_show .gn_btn:before    {transform:rotate(45deg);}
.gn_show .gn_btn:after     {transform:rotate(-45deg);}
.gn_show .gn_btn i:after   {display:none;}

/* ----------------------------------------------- navigation */
.gn                        {background:#6c5968;width:18em;height:100vh;top:0;right:-18em;position:fixed;z-index:2;overflow:scroll;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;transition:0.2s;}
.gn_bg                     {top:0;left:0;position:fixed;z-index:1;background:rgba(255,255,255,0);width:100%;height:100vh;transition:0.2s;display:none;}
.gn_show                   {overflow-y:hidden;position:fixed;}
.gn_show .c                {-webkit-filter:blur(5px);filter:blur(5px);}
.gn_show .gn               {right:0;box-shadow:-3px 0 3px rgba(0,0,0,0.2);}
.gn_show .gn_bg            {background:rgba(255,255,255,0.8);display:block;}
@media screen and (min-width: 1000px){
	.gn_show .gn_bg,
	.gn_bg,
	.gn_btn                    {display:none;}
	.gn_show .gn,
	.gn                        {width:auto;height:auto;overflow:visible;overflow-y:visible;position:relative;right:0;top:0;margin: 0 auto;clear:both;background:transparent;}
}

/* ----------------------------------------------- list */
.gn_lst                    {padding:5em 1em 1em;}
.gn_lst li                 {margin:0 0.5em 0.5em;padding:0 1em 0.5em 0;border-bottom:1px solid rgba(255,255,255,0.3);position:relative;}
.gn_lst li:last-child      {border-bottom:0 none;}
.gn_lst li.crt a           {font-weight: 700;}
.gn_lst li a               {color:#333;position:relative;line-height:1.25em;padding:0.5em;display:flex;justify-content: space-between;white-space:nowrap;}
.gn_lst li a.no-link       {color: #c9c9c9;}
.gn_lst li.displaynone     {display: none;}
@media screen and (min-width: 1000px){
	.gn_lst                    {padding:0 0em;display:flex;justify-content:space-between;position:relative;margin:0 auto;height: 5rem;}
	.gn_lst li                 {margin:0;padding:0;border-bottom:0 none;position:relative;}
	.gn_lst li:nth-child(3)    {width: 100px;}
	.gn_lst li:not(:last-child):after {content:"";display:block;position:absolute;top:0;right:0;width:1px;height:100%;}
	.gn_lst li a               {padding:0.9em 0.7em;text-align:center;display:block;display: block;}
	.gn_lst li a:after         {position:absolute;content:"";display:block;width:0;height:1px;left:50%;bottom:0.4em;transition:0.2s;}
	.gn_lst li a:hover:after   {width:80%;left:10%;background:#333;}
}
.gn_sns {
	position: absolute;
	top: 1.4em;
	left: 2em;
}
.gn_sns li a:before {
	content: "";
	display: inline-block;
	width: 2em;
	height: 2em;
	vertical-align: middle;
	margin-right: 0.5em;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-image: url("../img/ico_ig.png");
}
.gn_sns li a i {
	line-height: 1;
	color:#fff;
	font-size: 75%;
}
@media screen and (min-width: 1000px){
	.gn_sns {
		display: none;
	}
}

@media screen and (max-width: 999px){
.gn_show .gn {
	background-color : #032e15;
	}
.gn_lst {
	padding:1em 1em 1em 0em;
	}
.gn_lst li {
    margin: 0 0.5em 0.5em 0.25em;
	}
.gn_lst li a {
	color: #fff;
	font-size: 14.5px;
	}
.gn_lst li li a {
    font-size: 90%;
	}
}

/* ============================================================== gmap */
.gmap {
	margin: 0 auto;
	width: 100%;
	position : relative;
	height : 0;
	padding-bottom : 240px;
	overflow : hidden;
}
.gmap iframe {
	position : absolute;
	top : 0;
	left : 0;
	height: 100%;
	width: 100%;
	vertical-align: top;
	border: 0 none;
}
@media screen and (min-width: 1000px){
	.gmap {
		padding-bottom : 410px;
	}
}

/* ============================================================== footer */
.f {
}
.f_service {
	padding: 2em 1em;
	background-color: #f2f2f2;
	margin-top: 40px;
}
.f_service .ctg_lst {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.f_service .ctg_lst a {
	width: calc((100% - 0.5em) / 2);
}
@media screen and (min-width: 750px){
	.f_service {
		padding: 3em 1em;
		margin-top: 80px;
	}
	.f_service .ctg_lst a {
		width: calc((100% - 3em) / 4);
	}
}
.f_contact {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	background-image: url("../img/contact_bg.jpg");
	padding: 2em 1em;
}
.f_contact a {
	display: block;
	border: 1px solid #fff;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	font-weight: 500;
	max-width: 620px;
	padding: 2em;
	transition: 0.5s;
	text-decoration: none;
	background: rgba(0,0,0,0.55);
}
.f_contact a:hover {
	background: rgba(255,255,255,0.1);
}
.f_contact a span {
	display: block;
	margin: 0 auto;
}
.f_contact a .ttl {
	font-size: 180%;
	padding-bottom: 0.3em;
	margin-bottom: 0.3em;
	border-bottom: 1px solid #fff;
}
.f_contact a .txt {
	font-size: 120%;
}
.f_contact.two_box {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.f_contact.two_box a {
    display: inline-block;
    width: 47%;
    margin-right: 20px;
    vertical-align: top;
    min-height: 264px;
}
.f_contact.two_box a:nth-child(2) {
    margin-right: 0;
}
.f_contact.two_box a .ttl {
    padding-bottom: 0.8em;
    margin-bottom: 0.8em;
}
.f_contact.two_box a .ttl::before {
    content: '';
    display: inline-block;
	background-image: url("../img/f_icon_mail.png");
    background-size: cover;
    background-repeat: no-repeat;
    width: 64px;
    height: 64px;
    margin-right: 0.5em;
    vertical-align: middle;
}
.f_contact.two_box a:nth-child(2) .ttl::before ,
.f_contact.two_box a:nth-child(3) .ttl::before {
	background-image: url("../img/f_icon_tell.png");
    background-size: cover;
    background-repeat: no-repeat;
}
@media screen and (min-width: 1000px){
	.f_contact {
		padding: 4em 1em;
	}
	.f_contact a {
		padding: 3em 4em 3.75em 4em;
	}
}
.f_nav {
	font-size: 87%;
	font-weight: 500;
	text-align: left;
	margin: 0 auto;
	padding: 0em 0 0em;
	max-width:1100px
}
.f_nav:nth-child(2) {
	padding: 2em 0 0em;
}
.f_nav:nth-child(4) {
	padding: 0em 0 2em;
}
.f_nav:nth-child(3) a:nth-child(1) {
	margin: 0 4em;
}
.f_nav:nth-child(4) a:nth-child(1) {
	margin: 0 7em 0 4em;
}
.f_nav a {
	color: #313131;
	line-height: 1.55;
	display: inline-block;
	margin: 0 1em 1em;
	padding: 1em 0 0.5em;
}
.f_nav a.no-link {
	color: #c9c9c9;
}
.f_nav.sns a.no-link {
	color: #000;
}
.f_nav a:after         {
	background:#333;
	position:relative;
	content:"";
	display:block;
	width:0;
	height:1px;
	top:5px;
	bottom:0.4em
	;transition:0.2s;
}
.f_nav a:hover:after    {
	width:100%;
	left:0%;
}

.new nav:nth-child(3) {
    text-align: center;
}
.new .f_nav:nth-child(4) {
    padding: 0em
}
.new .f_nav:nth-child(3) ,
.new .f_nav:nth-child(4) {
    border-top: solid 1px #cbcbcb;
    padding-top: 10px;
}
.new .f_nav:nth-child(3) a:nth-child(1) ,
.new .f_nav:nth-child(4) a:nth-child(1) {
    display: block;
	width: 10em;
    margin: 0 auto;
    text-align: center;
	font-weight: 600;
}
.new .f_nav:nth-child(4) a:nth-child(1) {
	width: 7em;
}
.new .f_nav:nth-child(5) a:nth-child(1) ,
.new .f_nav:nth-child(6) a:nth-child(1) ,
.new .f_nav:nth-child(7) a:nth-child(1) ,
.new .f_nav:nth-child(8) a:nth-child(1) ,
.new .f_nav:nth-child(9) a:nth-child(1) ,
.new .f_nav:nth-child(10) a:nth-child(1) {
	width: 245px;
}
.new .f_nav:nth-child(5) a:nth-child(1)::after ,
.new .f_nav:nth-child(6) a:nth-child(1)::after ,
.new .f_nav:nth-child(7) a:nth-child(1)::after ,
.new .f_nav:nth-child(8) a:nth-child(1)::after ,
.new .f_nav:nth-child(9) a:nth-child(1)::after {
	content: none;
}
.new .f_nav:nth-child(5) a:nth-child(1):hover ,
.new .f_nav:nth-child(6) a:nth-child(1):hover ,
.new .f_nav:nth-child(7) a:nth-child(1):hover ,
.new .f_nav:nth-child(8) a:nth-child(1):hover ,
.new .f_nav:nth-child(9) a:nth-child(1):hover {
	text-decoration: underline;
}

.f_nav.sns {
    margin-top: -20px;
}

.f_nav.sns a {
    width: 40px;
    height: 40px;
    display: inline-block;
    margin-right: 0px;
}
.f_nav.sns a:nth-child(2) {
    margin-left: 25px;
}
.f_nav.sns a:last-child {
    margin-right: 0;
}
.f_nav.sns a.instagram {
	background-image: url("../img/sns_instagram.png");
	background-size: cover;
	background-repeat: no-repeat;
    position: relative;
    top: 24px;
}
.f_nav.sns a.facebook {
	background-image: url("../img/sns_facebook.png");
	background-size: cover;
	background-repeat: no-repeat;
    position: relative;
    top: 24px;
}

.f_logo {
	background: #515151;
	padding: 1em 0;
}
.f_logo a {
	width: 50%;
	display: block;
	max-width: 204px;
	margin: 0 auto;
}
.f_copy {
	padding: 1em 0;
	font-size: 87.5%;
	line-height: 1;
	text-align: center;
	background: #042e18;
	color: #fff;
    margin-top: 35px;
}
.f .copyright i {
	display: inline-block;
}

@media screen and (min-width: 768px) and (max-width: 1250px){
.f_contact.two_box .sct_inr {
    left: 0;
	}
.f_contact.two_box a {
    min-height: 248px;
	}
.f_contact.two_box a .ttl {
    font-size: 160%;
	}
.f_contact.two_box a .ttl::before {
    width: 56px;
    height: 56px;
	}
.f_contact.two_box a .txt {
    font-size: 110%;
	}
}
@media screen and (min-width: 768px) and (max-width: 1000px){
.f_contact.two_box a {
    min-height: auto;
	}
.f_contact.two_box a .ttl {
    font-size: 136%;
	}
.f_contact.two_box a .ttl::before {
    width: 52px;
    height: 52px;
	}
.f_contact.two_box a .txt {
    font-size: 106%;
	}
}
@media screen and (max-width: 999px){
.f_nav {
	max-width:100%;
    border-bottom: solid 0px #dbdbdb;
	}
.f_nav a {
	width:46%;
	margin: 0 0em 1em 1em;
	padding: 0em 0 0em;
	}
.f_nav:nth-child(3) a:nth-child(1) ,
.f_nav:nth-child(4) a:nth-child(1) {
    margin: 1.25em 0 1em 1em;
    width: 90%;
	}
.f_nav a:after {
    content: none;
	}

.new .f_nav::before {
	content: '';
    display: block;
    border-top: solid 1px #e4e4e4;
    width: 96%;
    height: 1px;
    margin: 0 auto;
    padding-top: 15px;
	}
.new .f_nav:nth-child(2)::before ,
.new .f_nav:nth-child(5)::before {
	content: none;
	}
.new .f_nav:nth-child(4) {
    padding: 0 0 15px 0 ;
    border: 0;
	}
.new .f_nav:nth-child(3) a:nth-child(1) {
    padding-bottom: 15px;
	}
.new .f_nav:nth-child(3) a:nth-child(1) ,
.new .f_nav:nth-child(4) a:nth-child(1) {
    width: 100%;
	}
.new .f_nav:nth-child(3), .new .f_nav:nth-child(4) {
    padding-top: 15px;
    border-top: solid 0px #cbcbcb;
	}
.new .f_nav:nth-child(5) ,
.new .f_nav:nth-child(6) ,
.new .f_nav:nth-child(7) ,
.new .f_nav:nth-child(8) ,
.new .f_nav:nth-child(9) {
    border-bottom: solid 0px #dbdbdb;
	}
.new .f_nav:nth-child(6) ,
.new .f_nav:nth-child(7) ,
.new .f_nav:nth-child(8) ,
.new .f_nav:nth-child(9) ,
.new .f_nav:nth-child(10) {
	margin-top: 15px;
	}
.new .f_nav:nth-child(5) a:nth-child(1) ,
.new .f_nav:nth-child(6) a:nth-child(1) ,
.new .f_nav:nth-child(7) a:nth-child(1) ,
.new .f_nav:nth-child(8) a:nth-child(1) ,
.new .f_nav:nth-child(9) a:nth-child(1) ,
.new .f_nav:nth-child(10) a:nth-child(1) {
	width: 96%;
	text-align: center;
	}

.f_copy {
    margin-top: 15px;
	}

.f_nav.sns {
    text-align: center;
	}

.f_nav.sns a.instagram {
    top: 0;
	}
.f_nav.sns a.facebook {
    top: 0;
	}
}
@media screen and (min-width: 768px) and (max-width: 900px){
.f_contact.two_box a {
    margin-right: 15px;
	}
.f_contact.two_box a .ttl {
    font-size: 120%;
	}
.f_contact.two_box a .ttl::before {
    width: 48px;
    height: 48px;
	}
.f_contact.two_box a .txt {
    font-size: 102%;
	}
}
@media screen and (max-width: 767px){
.f_contact.two_box a {
    display: block;
    width: 100%;
    margin-right: 0;
    min-height: auto;
	}
.f_contact.two_box a:nth-child(1) {
    margin-bottom: 12px;
	}
.f_contact.two_box a .ttl {
    font-size: 125%;
	}
.f_contact.two_box a .ttl::before {
    width: 48px;
    height: 48px;
	}
.f_contact.two_box a .txt {
    font-size: 115%;
	}
.f_nav.sns a {
    width: 36px;
    height: 36px;
    display: inline-block;
    margin-right: 0px;
	}
.f_nav.sns a:nth-child(1) {
    margin-left: 0;
    margin-bottom: 0;
	}
.f_nav.sns a:nth-child(2) {
    margin-left: 0;
	}
}

