@charset "utf-8";

/* RESET */
html { color: #323232; background: #fff; -webkit-font-smoothing: antialiased; font-weight: normal; letter-spacing: 0em; }
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, button, textarea, select, p, blockquote, th, td { margin: 0; padding: 0; box-sizing: border-box;}
table { border-collapse: collapse; border-spacing: 0 }
fieldset, img { border: 0 }
address, button, caption, cite, code, dfn, em, input, optgroup, option, select, strong, textarea, th, var { font: inherit }
del, ins { text-decoration: none }
li { list-style: none }
caption, th { text-align: left }
h1, h2, h3, h4, h5, h6 { font-size: 100%; line-height: 1.4em; }
p{font-family:  "Barlow","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;}
q:before, q:after { content: '' }
abbr, acronym { border: 0; font-variant: normal }
sup { vertical-align: baseline }
legend { color: #94e6ff }
a { text-decoration: none; color: #51bb6d; -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s;}
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
::-moz-selection { background: #94e6ff; color:#fff;}
::selection { background: #94e6ff; color:#fff;}
a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	tap-highlight-color: rgba(0, 0, 0, 0);}
	
a:hover{ color: #00aabf;}

/* //////////////////////////////////////////////

COMMON

////////////////////////////////////////////// */

body, html { width: 100%; font-family: 'Hina Mincho', YuMincho,"游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", Honoka, Meiryo, "メイリオ", serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 14px; line-height: 2.2; box-sizing: border-box; -webkit-text-size-adjust: 100%; max-height: 999999px; overflow-x: hidden;}
.is-menuOpen{
	top: 0;
	left: 0;
	width: 100%;
    min-height: 100vh; /* Fallback */
  	min-height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
}
.is-menuOpen body{
	position: fixed;
}
img{
	display: block;
}
table td{
	border: 1px solid #ddd;
	padding: 1em;
}
.clear{
	clear:both;
}
.sp{
	display:none;
}
.link-box{
	display: table;
}
a.more,
a.link{
	display: flex;
    align-items: center;
    font-weight: 700;
	line-height: 1.4;
	font-family:  "Barlow","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
a.more span.icn{
	display: inline-block;
	border-radius: 50%;
	background: #00aabf;
	position: relative;
	overflow: hidden;
	width: 30px;
	height: 30px;
	margin-left: 10px;
	transition: background .45s cubic-bezier(.785,.135,.15,.86);
} 
a.more img{
	position: absolute;
    width: 30px;
    left: -15px;
    top: 50%;
    transform: translate(0,-50%);
	transition: left .45s cubic-bezier(.785,.135,.15,.86);
}
a.more span.icn:after{
	content: "";
	position: absolute;
    width: 30px;
	height: 10px;
    left: -30px;
    top: 50%;
    transform: translate(200%,-50%);
	background: url(../img/arrow.svg);
	transition: all .45s cubic-bezier(.785,.135,.15,.86);
	background-size: 30px;
}
a.more:hover span.icn{
	background: #5bbd74;
}
a.more:hover span.icn:after{
	left:-15px;
	transform: translate(0,-50%);
	transition: left .45s cubic-bezier(.785,.135,.15,.86);
}
a.more:hover img{
	left: -30px;
	transform: translate(200%,-50%);
	transition: all .45s cubic-bezier(.785,.135,.15,.86);
}

a.link span.line{
	position: relative;
    width: 40px;
	height: 2px;
	margin-left: 10px;
	background: #5bbd74;
}
a.link span.line:after{
	content: "";
    position: absolute;
    height: 2px;
    width: 40px;
    top: 0%;
    left: 0;
    background: #223561;
    transition: width .4s cubic-bezier(.25,.1,.25,1);
}
a.link span.icn{
	display: inline-block;
	border-radius: 50%;
	background: #00aabf;
	position: relative;
	overflow: hidden;
	width: 40px;
	height: 40px;
	transition: all .45s cubic-bezier(.785,.135,.15,.86);
} 
a.link span.icn svg{
	position: absolute;
    width: 40px;
    left: -20px;
    top: 50%;
    transform: translate(0,-50%);
	transition: left .45s cubic-bezier(.785,.135,.15,.86);
}
a.link span.icn:after{
	content: "";
	position: absolute;
    width: 40px;
	height: 13px;
    left: -40px;
    top: 50%;
    transform: translate(200%,-50%);
	background: url(../img/arrow.svg);
	transition: all .45s cubic-bezier(.785,.135,.15,.86);
	background-size: 40px;
}
a.link:hover span.icn{
	background: #5bbd74;
	transform: scale(1.2);
}
a.link:hover span.line:after{
	left:40px;
	width:0;
	transition:all .5s cubic-bezier(.25,.1,.25,1);
}
a.link:hover span.icn:after{
	left:-20px;
	transform: translate(0,-50%);
	transition: left .45s cubic-bezier(.785,.135,.15,.86);
}
a.link:hover span.icn svg{
	left: -40px;
	transform: translate(200%,-50%);
	transition: all .45s cubic-bezier(.785,.135,.15,.86);
}


/*table*/
.table-box{
	overflow:auto;
	margin:0;
    padding:0;
}

/* SCROLL-FADE */
.js-scroll{
	opacity:0;
	transition: all 1s ease;
	filter: blur(3px);
	transform: translateY(80px);
	-webkit-transform: translateY(80px);
}
.js-scroll-in{
	filter: blur(0);
	transform: translateY(0);
    -webkit-transform: translateY(0);
    opacity: 1;
}


/* //////////////////////////////////////////////

HEADER

////////////////////////////////////////////// */
.main-header{
	display: flex;
	width: 100%;
	font-weight: 500;
	-webkit-transition: all ease 1.8s;
    transition: all ease 1.8s;
}
.main-header #g-header{
	position: fixed;
    display: flex;
    align-items: center;
	height: 90px;
	width: 100%;
	background: #fff;
	z-index: 101;
	left: 0;
    top: 0;
}
.main-header #g-header .nav-list-category{
	transform: translateY(-150px);
	opacity: 0;
	transition: opacity 1s,transform 1.5s;
}
.main-header #g-header.in .nav-list-category{
	transform: translateY(0);
	opacity: 1;
}
.main-header #g-header .g-nav{
    width: calc(100% - 110px);
}
.main-header #g-header .g-nav ul{
    display: flex;
    align-items: center;
    padding: 0 20px 0 21px;
	font-size: 13px;
}
.main-header #g-header .g-nav ul .nav_top a{
    display: flex;
    align-items: center;
	position: relative;
}
.main-header #g-header .g-nav ul .nav_top a .icn_logo_svg{
    width: 120px;
    height: 139px;
    transform: translateY(36px);
}
.main-header #g-header .g-nav ul .nav_top a .logo_svg{
    width: 150px;
    margin-left: 20px;
}
.main-header #g-header .g-nav ul .nav-list-category{
    margin: 0 10px;
}
.main-header #g-header .g-nav ul .nav-list-category a{
    font-weight: 700;
	color: #323232;
	padding: 5px;
	position: relative;
	overflow: hidden;
	display: block;
	transition: all .4s ease;
}
.main-header #g-header .g-nav ul .nav-list-category a:after{
	position: absolute;
	left: -100%;
	bottom: 5px;
	content: "";
	background: #5bbd74;
	height: 1px;
	transition: width 400ms cubic-bezier(.9, 0, .33, 1);
}
.main-header #g-header .g-nav ul .nav-list-category.contact a{
	display: flex;
	align-items: center;
}
.main-header #g-header .g-nav ul .nav-list-category.contact a svg{
	width: 18px;
    margin: 4px 8px 0 0;
}
.main-header #g-header .g-nav ul .nav-list-category a:hover{
	color: #00aabf;
}
.main-header #g-header .g-nav ul .nav-list-category a:hover:after {
	width: 100%;
	left: 0%;
	transition: all 400ms cubic-bezier(.9, 0, .33, 1);
}
.main-header #g-header .g-nav ul .nav-list-category.contact a:hover svg{
	fill: #00aabf;
}
.main-header #g-header .g-nav ul .message{
    margin-left: auto;
    margin-right: 20px;
}

/*バーガーメニュー*/
#nav-btn{
    position: relative;
    width: 60px;
    height: 50px;
    padding: 0;
    z-index: 101;
    cursor: pointer;
    margin-right: 50px;
	transition: opacity 1s;
	opacity: 0;
}
#g-header.in #nav-btn{
	opacity: 1;
}
#nav-btn,
#nav-btn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
	margin-left: auto;
}
#nav-btn span {
    position: absolute;
    left: 0;
    width: 50px;
    height: 2px;
    background: #aaa;
}
#nav-btn span:nth-of-type(1) {
    top: 10px;
}
#nav-btn span:nth-of-type(2) {
    top: 21px;
    width: 46px;
    left: 14px;
}
#nav-btn span:before {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	background: #fff;
	width: 100%;
	height: 2px;
	transition: width 400ms cubic-bezier(.9, 0, .33, 1);
	z-index: 1;
}
#nav-btn span:after {
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	background: #00aabf;
	width: 100%;
	height: 2px;
	transition: width 600ms cubic-bezier(.9, 0, .33, 1);
	z-index: 2;
}

#nav-btn span:nth-of-type(2):before {
	transition: width 600ms cubic-bezier(.9, 0, .33, 1);
}
#nav-btn span:nth-of-type(2):after {
	transition: width 1000ms cubic-bezier(.9, 0, .33, 1);
}
#nav-btn .menu{
	font-family: YuMincho,"游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", Honoka, Meiryo, "メイリオ", serif;
    position: absolute;
    bottom: 0;
    right: 0;
    color: #52a25f;
    font-weight: 700;
	transition: all 400ms cubic-bezier(.9, 0, .33, 1);
	font-size: 12px;
	letter-spacing: .1em;
}
#nav-btn:hover span:before {
	width: 0%;
	left: 100%;
	transition: all 600ms cubic-bezier(.9, 0, .33, 1);
}
#nav-btn:hover span:after {
	width: 0%;
	left: 100%;
	transition: all 400ms cubic-bezier(.9, 0, .33, 1);
}
#nav-btn:hover .menu {
	color: #00aabf;
}


#nav-btn.active span:nth-of-type(1) {
    -webkit-transform: translateY(14px) rotate(-25deg);
    transform: translateY(14px) rotate(-25deg);
}
#nav-btn.active span:nth-of-type(2) {
	-webkit-transform: translateY(3px) rotate(25deg);
    transform: translateY(3px) rotate(25deg);
    width: 50px;
    left: 0;
}
#nav-btn.active .menu{
	opacity: 0;
}
#g-nav-s{
    display: none;
	left: 0;
    top: 0;
	width: 100vw;
    height: 100%;
    background: rgba(255,255,255,0.95);
    position: fixed;
	transition: all 400ms ease;
	opacity: 0;
}
#g-nav-s.open{
	opacity: 1;
}
#g-nav-s .in-box{
	position: absolute;
	width: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	display: flex;
	font-weight: 700;
}
#g-nav-s .global-nav__m-list-left{
	border-right: 2px dotted #5bbd74;
	padding: 30px 70px 30px 0px;
	margin-left: auto;
}
#g-nav-s .global-nav__m-list-right{
	padding: 30px 0 30px 70px;
	margin-right: auto;
}
#g-nav-s .global-nav__m-list-right .title{
	font-size: 1.7em;
	padding-bottom: 20px;
}
#g-nav-s .in-box .sns-list{
	margin-top: 20px;
	margin-left: 5px;
	display: flex;
	align-items: center;
}
#g-nav-s .in-box .sns-list a{
	margin-right: 20px;
    width: 25px;
	transition: all .4s all;
}
#g-nav-s .in-box a{
	color: #323232;
	position: relative;
}
#g-nav-s .in-box a.g-menu{
	display: table;
	padding: 11px 5px;
	font-size: 1.3em;
	overflow: hidden;
}
#g-nav-s .global-nav__m-list-right a.g-menu{
	padding: 5px 5px;
	font-size: 1.1em;
}
#g-nav-s .in-box a.g-menu:after{
	position: absolute;
	left: -100%;
	bottom: 10px;
	content: "";
	background: #00aabf;
	height: 1px;
	transition: width 400ms cubic-bezier(.9, 0, .33, 1);
}
#g-nav-s .in-box .global-nav__m-list-right a.g-menu:after{
	bottom: 7px;
}
#g-nav-s .in-box a.g-menu:hover{
	color: #00aabf;
}
#g-nav-s .in-box a.g-menu:hover:after {
	width: 100%;
	left: 0%;
	transition: all 400ms cubic-bezier(.9, 0, .33, 1);
}
#g-nav-s .in-box .sns-list a:hover{
	opacity: 0.5;
}


#g-header-left{
    width: 80px;
    height: 100vh;
    text-align: center;
	display: flex;
    justify-content: center;
	z-index: 100;
	position: fixed;
	transition: opacity 1s,transform 1.5s;
	transform: translateX(-100%);
	opacity: 0;
}
#g-header-left.in{
	opacity: 1;
	transform: translateX(0%)
}
#g-header-left .title-box{
	padding-top: 155px;
}
#g-header-left .sns{
	width: 100%;
	position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
}
#g-header-left h3{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    font-size: 1.2em;
    font-weight: normal;
}
#g-header-left .icn{
    width: 50px;
    margin: 0px auto 10px;
}
#g-header-left h4{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
	font-family:  "Barlow","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	font-size: .9em;
	letter-spacing: .1em;
	font-weight: normal;
}
#g-header-left .sns .text{
	font-size: 12px;
    text-align: center;
    width: 100%;
    border-bottom: 1px solid #ddd;
    margin: 20px 0;
}
#g-header-left .sns .g-icn{
    margin: 13px auto;
    width: 20px;
    display: block;
}



/* //////////////////////////////////////////////

FOOTER

////////////////////////////////////////////// */

.cnt-footer{
	width: calc(100% - 80px);
	margin-left: auto;
	position: relative;
}
.cnt-footer .image{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../img/index/footer.jpg) center / cover no-repeat;
}
.cnt-footer .text-box{
	width: 800px;
    padding: 100px 50px;
    margin: 0 auto;
    color: #fff;
}
.cnt-footer .text-box p{
	font-size: 1.3em;
	font-family:  YuMincho,"游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", Honoka, Meiryo, "メイリオ", serif;
	line-height: 1.7;
}
.cnt-footer .text-box h2{
	margin-top: 40px;
    font-weight: normal;
}
.cnt-footer .text-box h2 span{
	display: block;
}
.cnt-footer .text-box h2 span.sub{
	font-family: "Barlow","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
.cnt-footer .text-box h2 span.title{
	font-size: 3em;
    letter-spacing: .1em;
    line-height: 1.1;
}
.cnt-footer .text-box .link-box a{
	color: #fff;
	margin-top: 40px;
}
#main-footer1 {
	width: calc(100% - 80px);
	background: #00a4bb;
	margin-left: auto;
	font-family:  "Barlow","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
#main-footer1 .footer-in{
	display: flex;
	margin: 0 auto;
	width: 1100px;
	padding: 70px 50px;
	color: #fff;
}
#main-footer1 .footer-in .left-box{
	width: auto;
}
#main-footer1 .footer-in .left-box .logo{
	width: 200px;
}
#main-footer1 .footer-in .left-box .faq-box{
	margin-top: 30px;
	font-weight: 700;
	font-size: .9em;
}
#main-footer1 .footer-in .left-box .faq-box .tel-box{
	display: flex;
}
#main-footer1 .footer-in .left-box .faq-box .tel-box a{
	color: #fff;
}
#main-footer1 .footer-in .left-box .faq-box .tel-box a .fax{
	margin-left: 20px;
}
#main-footer1 .f-link a{
	color: #fff;
}
#main-footer1 .footer-in .right-box{
	display: flex;
    justify-content: space-between;
    width: calc(100% - 400px);
    margin-left: auto;
	font-size: .9em;
}
#main-footer1 .footer-in .right-box li{
	margin-bottom: 10px;
	letter-spacing: .1em;
}
#main-footer1 .footer-in .right-box a{
	color: #fff;
	font-weight: 700;
}
#main-footer1 .f-link a:hover,
#main-footer1 .footer-in .right-box a:hover{
	opacity: 0.5;
}
#main-footer1 .blank{
	padding-right: 18px;
	position: relative;
	display: flex;
	align-items: center;
}
#main-footer1 .blank svg{
	margin-left: 5px;
}
#main-footer2{
	position: relative;
}
#main-footer2:after{
	content: "";
	position: absolute;
	right: 50px;
	bottom: -50px;
	width: 120px;
	height: 120px;
	background: url(../img/back-image-footer.gif) bottom / 100% no-repeat;
	z-index: 1;
}
#main-footer2 ul{
	width: 800px;
	margin: 30px auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#main-footer2 ul li{
	width: 200px;	
}
#main-footer2 ul li.link1{
	width: 250px;
}
#main-footer2 ul li.link2{
	width: 150px;
}
#main-footer2 ul li.link3{
	width: 100px;
}
#main-footer2 ul li img{
	width: 100%;
}
#main-footer2 ul li a{
	transition: all ease 0.4s;
}
#main-footer2 ul li a:hover{
	opacity: 0.5;
}
#main-footer3{
	margin-left: auto;
	width: calc(100% - 80px);
	font-family:  "Barlow","游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	text-align: center;
	border-top: 1px solid #ddd;
	padding: 37px 0;
	font-weight: 700;
	font-size: 12px;
}
@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		color: #221614;
	}
}


/* //////////////////////////////////////////////

contents

////////////////////////////////////////////// */

#contents{
	opacity: 0;
	transition: opacity 1s,transform 1.5s;
	margin-top: 90px;
}
#contents.in{
	opacity: 1;
}
#contents .fade1{
	opacity: 0;
	transition: opacity 1s,transform 1.5s;
	transform: matrix3d(0.846,0,0.34,0.0004,0.00,0.846,0.34,0.0004,-0.34,-0.34,0.8835999999999999,0,2,2,0,1);
}
#contents .fade1.in{
	opacity: 1;
	transform: matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);
}
#contents .fade2{
	transition: opacity 1s,transform 1.5s;
	transform: translateX(100px);
	opacity: 0;
}
#contents .fade2.in{
	opacity: 1;
	transform: translateX(0)
}

/*FADE*/
.m-x:before,
.m-x-d{
	-webkit-animation: xmotion 25s ease infinite;
    animation: xmotion 25s ease infinite;
}
@keyframes xmotion {
    0% {
        -webkit-transform: translateX(0%);
        opacity: 1
    }

	50% {
		-webkit-transform: translateX(-50px);
        opacity: 1
    }

    100% {
        -webkit-transform: translateX(0%);
        opacity: 1
    }
}

.m-y:after,
.m-y-d{
	-webkit-animation: ymotion-a 45s ease infinite;
    animation: ymotion-a 45s ease infinite;
}
@keyframes ymotion-a {
    0% {
        -webkit-transform: translateY(0%);
		filter: blur(0);
        opacity: 1
    }

	50% {
		-webkit-transform: translateY(-70px);
		filter: blur(0);
        opacity: 1
    }

    100% {
        -webkit-transform: translateY(0%);
		filter: blur(0);
        opacity: 1
    }
}

@media screen and (max-width: 768px) {
	.m-y:after,
	.m-y-d{
		-webkit-animation: none;
		animation: none;
	}
	@keyframes xmotion {
		0% {
			-webkit-transform: translateX(0%);
			opacity: 1
		}
	
		50% {
			-webkit-transform: translateX(-40px);
			opacity: 1
		}
	
		100% {
			-webkit-transform: translateX(0%);
			opacity: 1
		}
	}
}

.m-z:after,
.m-z-d{
	-webkit-animation: zmotion 45s ease infinite;
    animation: zmotion 45s ease infinite;
}
@keyframes zmotion {
    0% {
		-webkit-transform: matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);
    }

	50% {
		-webkit-transform: matrix3d(1.1,0,0.02,0.0003,0.00,1.034,0.34,0.0005,-0.02,0,1,0,15,15,0,1)
    }

    100% {
		-webkit-transform: matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);
    }
}
.m-r:before{
	-webkit-animation: rmotion-a 10s ease infinite;
    animation: rmotion-a 10s ease infinite;
}
@keyframes rmotion-a {
    0% {
        -webkit-transform: rotate(0);
		filter: blur(0);
        opacity: 1
    }

	50% {
		-webkit-transform: rotate(10deg);
		filter: blur(0);
        opacity: 1
    }

    100% {
        -webkit-transform: rotate(0);
		filter: blur(0);
        opacity: 1
    }
}

.js-scroll-opa{
	transform: scale(.8);
	opacity: 0;
	transition: all 2s ease;
}
.js-scroll-opa.in{
	transform: scale(1);
	opacity: 1;
}
.js-scroll-z span{
	display: math;
	transition: transform 2s cubic-bezier(.34,1.56,.64,1),opacity .5s,scale .3s;
	transition-delay: 0.15s;
	opacity: 0;
	transform: rotateX(-47.225981030165954deg) rotateY(-46.79099199395718deg) translate3d(-9.031138479414247px, 38.23529634080663px, -11.945801806484335px) scale(2);
}
.js-scroll-z.in span.active{
	opacity: 1;
	transform: rotate3d(0, 0, 0, 0deg) translate3d(0px, 0px, 0px) scale(1);
}
.js-scroll-sc{
	transform: scale(.8);
	opacity: 0;
	transition: opacity .5s,transform .8s cubic-bezier(.34,1.86,.64,1);
}
.js-scroll-sc.in{
	transform: scale(1);
	opacity: 1;
}
.js-scroll-backimg:before,
.js-scroll-backimg:after{
	transform: scale(.8);
	opacity: 0;
	transition: opacity .5s,transform .8s cubic-bezier(.34,1.86,.64,1);
}
.js-scroll-backimg.in:before,
.js-scroll-backimg.in:after{
	transform: scale(1);
	opacity: 1;
}



/* //////////////////////////////////////////////

SP

////////////////////////////////////////////// */

@media screen and (max-width: 1200px) {
	#g-header{
		width: 100%;
		position: relative;
	    height: 50px;
		display: flex;
		align-items: center;
	}
	.main-header #g-header .g-nav .nav-list-category{
		display:none;
	}
	.main-header-sc li{
		display: none;
	}
	#main-footer1 .footer-in{
		width: 100%;
		display: block;
	}
	#main-footer1 .footer-in .right-box{
		margin: 50px 0 0;
		width: 600px;
	}
	#main-footer2 ul {
		width: 600px;
	}
	#main-footer2 ul li.link1{
		width: 200px;
	}
	#main-footer2 ul li.link2{
		width: 100px;
	}
	#main-footer2 ul li.link3 {
		width: 80px;
	}
}
@media screen and (max-width: 1000px) {
	#g-nav-s .in-box{
		display: block;
		width: auto;
		padding: 0;
	}
	#g-nav-s .global-nav__m-list-left{
		border-right: 0;
		padding: 0;
	}
	#g-nav-s .global-nav__m-list-right{
		padding: 50px 0 0 0;
	}
	#g-nav-s .in-box a.g-menu {
		padding: 5px;
		line-height: 2;
	}
	#g-nav-s .global-nav__m-list-right .title {
		font-size: 1.3em;
		padding-bottom: 10px;
	}
	#g-nav-s .in-box .sns-list {
		margin-top: 10px;
	}
	#g-header-left{
		display: none;
	}
	.cnt-footer {
		width: 100%;
	}
	#main-footer1 {
		width: 100%;
	}
	#main-footer2:after{
		bottom: -100px;
	}
	#main-footer3{
		width: 100%;
	}
}





@media screen and (max-width: 768px) , (max-device-width : 768px) {
	a.more,
	a.link{
		font-size: .9em;
	}
	a.more span.icn{
		width: 20px;
		height: 20px;
	}
	a.more img{
		width: 20px;
    	left: -10px;
	}
	a.more span.icn:after{
		width: 20px;
		height: 8px;
		left: -20px;
	}
	a.more:hover span.icn:after{
		left:-10px;
		background-size: 20px;
	}
	a.more:hover img{
		left: -20px;
	}
	a.link .t {
		width: calc(100% - 46px);
	}
	a.link span.line{
		width: 20px;
    	height: 1px;
	}
	a.link span.line:after{
		height: 1px;
		width: 20px;
	}
	a.link span.icn{
		width: 26px;
    	height: 26px;
	}
	a.link span.icn:after{
		width: 23px;
		height: 7px;
		left: -20px;
		background-size: 23px;
	}
	a.link span.icn svg{
		width: 23px;
    	left: -10px;
	}
	a.link:hover span.icn:after{
		left:-10px;
	}
	a.link:hover span.icn svg{
		left: -20px;
		transition: all .45s cubic-bezier(.785,.135,.15,.86);
	}
	p{
		font-size: .9em;
	}
	.main-header #g-header{
		height: 70px;
	}
	#nav-btn {
		margin-right: 5vw;
		width: 50px;
	}
	#nav-btn span,
	#nav-btn.active span:nth-of-type(2){
		width: 39px;
	}
	#nav-btn span:nth-of-type(2){
		width: 36px;
		top: 22px;
	}
	#nav-btn .menu{
		font-size: .75em;
	}
	#g-nav-s .in-box{
		width: 86vw;
	}
	#g-nav-s .in-box a.g-menu{
		font-size: 1em;
	}
	#g-nav-s .global-nav__m-list-right .title {
		font-size: 1.2em;
	}
	#g-nav-s .global-nav__m-list-right {
		padding: 40px 0 0 0;
	}
	#g-nav-s .in-box .sns-list a {
		margin-right: 15px;
	}
	#g-nav-s .in-box .sns-list span{
		font-size: .9em;
	}	
	#g-nav-s .global-nav__m-list-right a.g-menu{
		font-size: 1em;
		padding: 8px 5px;
		line-height: 1.6;
	}
	#g-nav-s .global-nav__m-list-right a.g-menu{
		font-size: .9em;
	}
	.main-header #g-header .g-nav ul{
		padding: 0 0 0 5vw;
	}
	.main-header #g-header .g-nav ul .nav_top a .icn_logo_svg{
		width: 70px;
		height: 81px;
		transform: translateY(15px);
	}
	.main-header #g-header .g-nav ul .nav_top a .logo_svg {
		width: 100px;
		margin-left: 12px;
	}
	#contents{
		margin-top: 70px;
	}
	.cnt-footer .image{
		background: url(../img/index/footer.jpg) right 0 top 0px/ cover no-repeat;
	}
	.cnt-footer .text-box {
		width: 100%;
		margin: 0;
		padding: 50px 7vw;
	}
	.cnt-footer .text-box p {
		font-size: 1.1em;
	}
	.cnt-footer .text-box p br{
		display: none;
	}
	.cnt-footer .text-box h2 {
		margin-top: 20px;
	}
	.cnt-footer .text-box h2 span.sub{
		font-size: .9em;
	}
	.cnt-footer .text-box h2 span.title {
		font-size: 1.9em;
	}
	.cnt-footer .text-box .link-box a{
		margin-top: 20px;
	}
	#main-footer1 .footer-in{
		padding: 50px 7vw;
	}
	#main-footer1 .footer-in .left-box .logo {
		width: 150px;
	}
	#main-footer1 .footer-in .right-box{
		width: 100%;
	}
	#main-footer1 .footer-in .left-box .faq-box .tel-box,
	#main-footer1 .footer-in .left-box .faq-box .tel-box a{
		display: block;
	}
	#main-footer1 .footer-in .left-box .faq-box .tel-box a .fax{
		margin-left: 0;
	}
	#main-footer1 .footer-in .left-box .faq-box .f-link{
		line-height: 1.7;
		margin-top: 10px;
	}
	#main-footer1 .footer-in .right-box {
		display: block;
	}
	#main-footer1 .footer-in .right-box li {
		margin-bottom: 3px;
	}
	#main-footer1 .footer-in .right-box {
		margin: 40px 0 0;
	}
	#main-footer2 ul{
		width: 100%;
		display: block;
	}
	#main-footer2 ul li {
		margin: 50px auto;
	}
	#main-footer3{
		font-size: .8em;
	}
	#main-footer2:after {
		bottom: -60px;
		right: 5vw;
		width: 80px;
		height: 80px;
	}

	#nav-btn:hover span:before {
		width: 100%;
		left: 0%;
		transition: all 600ms cubic-bezier(.9, 0, .33, 1);
	}
	#nav-btn:hover span:after {
		width: 100%;
		left: 0%;
		transition: all 400ms cubic-bezier(.9, 0, .33, 1);
	}
	.pc{
		display: none;
	}
	.sp{
		display:block;
	}
}
@media screen and (max-width: 630px) {
	.cnt-footer .image {
		background: url(../img/index/footer.jpg) right -200px top 0px / cover no-repeat;
	}
}

/* //////////////////////////////////////////////

IE

////////////////////////////////////////////// */

.is_ie { letter-spacing: 0; }

