@charset "utf-8";

/* RESET */
html { color: #343131; background: #f5f4eb; -webkit-font-smoothing: antialiased; font-weight: normal; letter-spacing: 0em; font-size: 14px; }
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; line-height: 1;}
table { border-collapse: collapse; border-spacing: 0 }
div {line-height: 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%; }
q:before, q:after { content: '' }
abbr, acronym { border: 0; font-variant: normal }
sup { vertical-align: baseline }
sub { vertical-align: baseline }
legend { color: #1d1d1c }
a { text-decoration: none; color: #3a9cde; -webkit-transition: all ease 0.4s;
    transition: all ease 0.4s; display: block;}
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
::-moz-selection { background: rgba(58, 156, 222, 1); color:#3a9cde;}
::selection { background: rgba(58, 156, 222, 1); color:#ddd;}
:root {
	--ease-button: cubic-bezier(0.34, 0, 0.18, 1);
}
h2{
    color: #343131;
    line-height: 1.4;
    font-weight: normal;
    letter-spacing: .1em;
}
p{
    color: #343131;
    line-height: 2.4;
    font-size: 1.1em;
}
a.link{
    display: table;
    line-height: 1.3;
    font-weight: 700;
	padding: 20px 10px;
	margin-left: 0;
    font-size: 1.1rem;
    letter-spacing: .1em;
	border-bottom: 1px solid #bdbdbd;
    transition: all .75s cubic-bezier(0.253, 0.85, 0.344, 1);
}
a.link .line:before{
    content: "";
    position: absolute;
    background: url(../assets/icn_arrow.svg) no-repeat;
    background-size: 12px;
    width: 12px;
    height: 9px;
    top: 50%;
	right: 100px;
    transform: translate(0%, -50%) scale(0);
	transition: right .75s cubic-bezier(0.253, 0.85, 0.344, 1);
}
a.link .line:after{
    content: "";
    position: absolute;
    background: url(../assets/icn_arrow.svg) no-repeat;
    background-size: 12px;
    width: 12px;
    height: 9px;
    right: 0;
    top: 50%;
	transform: translateY(-50%);
	transition: right .75s cubic-bezier(0.253, 0.85, 0.344, 1);
}
a.link.pdf .icn:before{
    content: "";
    position: absolute;
    background: url(../assets/icn_pdf.svg) no-repeat;
	background-size: 22px;
    width: 22px;
    height: 22px;
    right: 0;
    top: 0%;
	transition: all .75s cubic-bezier(0.253, 0.85, 0.344, 1);
}
a.link.window .icn:before{
    content: "";
    position: absolute;
    background: url(../assets/icn_window.svg) no-repeat;
	background-size: 20px;
    width: 20px;
    height: 20px;
    right: 0;
    top: 0%;
	transition: all .75s cubic-bezier(0.253, 0.85, 0.344, 1);
}
a.link.back .icn:before{
    content: "";
    position: absolute;
    background: url(../assets/icn_arrowback.svg) no-repeat;
	background-size: 30px;
    width: 30px;
    height: 15px;
    right: 0;
    top: 0%;
	transition: all .75s cubic-bezier(0.253, 0.85, 0.344, 1);
}
a.link.g-map .icn:before{
    content: "";
    position: absolute;
    background: url(../assets/icn_map.svg) no-repeat;
	background-size: 17px;
    width: 17px;
    height: 22px;
    right: 0;
    top: 0%;
	transition: all .75s cubic-bezier(0.253, 0.85, 0.344, 1);
}

a.link .box{
	display: flex;
	align-items: center;
	position: relative;
}
a.link span.more{
	display: block;
    transform: translate(0px, 0px);
	transition: all .3s ease;
}
a.link.pdf span.icn{
	display: block;
	position: relative;
	width: 22px;
    height: 22px;
    margin-left: 15px;
    transform: translate(0px, 0px);
	transition: all .3s ease;
}
a.link.window span.icn{
	display: block;
	position: relative;
	width: 20px;
    height: 20px;
    margin-left: 15px;
    transform: translate(0px, 0px);
	transition: all .3s ease;
}
a.link.back span.icn{
	display: block;
	position: relative;
	width: 30px;
    height: 15px;
    margin-left: 20px;
    transform: translate(0px, 0px);
	transition: all .3s ease;
}
a.link.g-map{
	border-bottom: none;
}
a.link.g-map span.icn{
	display: block;
	position: relative;
	width: 25px;
    height: 25px;
    margin-right: 15px;
    transform: translate(0px, 0px);
	transition: all .3s ease;
}
a.link span.line-box{
	position: relative;
    width: 100px;
	height: 9px;
    margin-left: 20px;
}
a.link span.line{
	position: absolute;
	top: 50%;
	left: 0;
    width: 100px;
    height: 1px;
	background: #3a9cde;
	transition: all .3s ease;
}

a.link:hover {
	border-bottom: 1px solid #3a9cde;
}
a.link.g-map:hover {
	border-bottom: none;
}
a.link:hover span.more,
a.link:hover span.icn{
	opacity: 0.5;
}
a.link:hover span.line{
	width: 70px;
	left: 30px;
}
a.link:hover .line:before{
	transform: translate(0%, -50%) scale(1);
	right: 0;
	transition:all .5s cubic-bezier(.25,.1,.25,1);
}
a.link:hover .line:after{
	transform: translate(0%, -50%) scale(0);
	right: -12px;
	transition:all .5s cubic-bezier(.25,.1,.25,1);
}

* {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    list-style: none;
    box-sizing: border-box;
    border-collapse: inherit;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
    font-kerning: none;
    -webkit-text-rendering: optimizeSpeed;
    text-rendering: optimizeSpeed;
}
.sp{
	display: none;
}

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

COMMON

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


body, html { margin: 0; width: 100%; font-family: "Shippori Mincho", "Hina Mincho", "游明朝", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN W3", Honoka, Meiryo, "メイリオ", serif ; font-display: swap; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 14px; line-height: 1.8; box-sizing: border-box; -webkit-text-size-adjust: 100%; max-height: 999999px;}

.clear{
	clear:both;
}
.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;
}




/*LOADRER*/
#loader{
	position: fixed;
	width: 100%;
	min-height: 100vh; 
  	min-height: calc(var(--vh, 1vh) * 100);
	background: #e5e5e5;
	z-index: 10000;
	top: 0;
    left: 0;
	transition: 1.4s cubic-bezier(0.253, 0.85, 0.344, 1);
	transform-origin: top center;
	transform: translate3d(0,0,0) perspective(280px);
	filter: blur(0);
	opacity: 1;
}
/*
#loader .logo-loader{
	font-family: 'Pacifico', cursive;
	font-display: swap;
    color: #e5e5e5;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    margin: 0 auto;
}
#loader .logo-loader .in-box .name span{
	opacity:0;
	transition: all 1.25s cubic-bezier(0.253, 0.85, 0.344, 1);
	transform:translate(0px,100%);
	margin: 0 4px;
	display: flex;
    align-items: center;
}

#loader .logo-loader .in-box .name span.out{
	opacity: 1;
    transform: translate(0px,-150%);
}*/
#loader.out{
	transform: translate3d(0%,-0%,0) rotateY(0deg);
    transform-origin: center top;
	pointer-events: all;
	filter: blur(0);
	opacity: 0;
}
/*
#svg-container {
	width: 50px;
    height: 73px;
    position: relative;
	transform: scale(1);
	transition: 1.4s cubic-bezier(0.253, 0.85, 0.344, 1);
}
#svg-container.out{
	transform: scale(.1);
	opacity: 0;
}
#svg-container .path{
	position: absolute;
	opacity: 0;
	transform: translate(0%, 100px) rotate(-45deg);
}
#svg-container .path2{
	transform: translate(0%, -100px) rotate(45deg);
}
#svg-container .path1.in {
	animation: animate-path .5s ease forwards;
}
#svg-container .path2.in {
	animation: animate-path2 .5s ease forwards;
}

@keyframes animate-path {
	0% {
		opacity: 0;
		transform: translate(0%, 100px) rotate(-45deg);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0) rotate(0);
	}
}
@keyframes animate-path2 {
	0% {
		opacity: 0;
		transform: translate(0%, -100px) rotate(45deg);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0) rotate(0);
	}
}*/

/*header*/
header{
	display: flex;
	align-items: center;
	position: fixed;
	z-index: 100;
	width: 100%;
}
header .icn-box{
    padding: 60px 5vw 100px;
}
header .icn-box img{
    width: 30px;
    height: 44px;
}
header .main-nav{
    display: flex;
    width: 100%;
    padding: 60px 5vw 70px;
	background: #f5f4eb;
	transition: all 1.25s cubic-bezier(0.253, 0.85, 0.344, 1);
}
header.nav-in .main-nav{
	padding: 12px 5vw;
}
header .main-nav .logo{
	background: url(../assets/logo.svg) center / 44px no-repeat;
}
header .main-nav .logo img{
	width: 74px;
    height: 80px;
	transition: all .5s cubic-bezier(0.253, 0.85, 0.344, 1);
	background: #f5f4eb;
}
header.nav-in .main-nav .logo img{
	opacity: 0;
}
header.nav-in .main-nav .logo{
	background: url(../assets/logo.svg) center / 44px no-repeat;
}
header .main-nav .logo span{
    display: none;
}
header .main-nav ul{
    display: flex;
    align-items: center;
    margin-left: 50px;
	transition: all 1.25s cubic-bezier(0.253, 0.85, 0.344, 1);
}
header.nav-in .main-nav ul{
	margin-left: 20px;
}
header .main-nav ul li{
    margin: 0 18px;
}
header .main-nav ul li.youtube{
	margin-left:30px;
}

header .main-nav ul li a{
    font-size: .85em;
    letter-spacing: .1em;
	color: #373737;
	font-weight: 700;
	padding: 15px 0;
	transition: padding-bottom border-bottom .6s cubic-bezier(0.253, 0.85, 0.344, 1);
}
header.nav-in .main-nav .nav-header1 li a{
	padding: 9px 0;
    border-bottom: 1px solid #bdbdbd;
}
header .main-nav ul li a:hover,
header .main-nav ul li a.active{
	opacity: 0.5;
}
header .main-nav ul li svg{
    width: 18px;
    fill: #1d1d1c;
}

header .main-nav .nav-header2 {
	display: flex;
	align-items: flex-start;
	color: #6c6c6c;
    position: absolute;
    right: 0;
    top: 34px;
	transition: top .6s cubic-bezier(0.253, 0.85, 0.344, 1);
}
header.nav-in .main-nav .nav-header2{
	top: 27px;
}
header .main-nav .nav-header2 ul{
	display: flex;
	align-items: center;
}
header .main-nav .nav-header2 a{
	color: #6c6c6c;
	letter-spacing: .2em;
}
header .main-nav .nav-header2 li.reqruit a {
	color: #fff;
    background: #9f6168;
    border-radius: 8px;
    padding: 11px 15px;
	font-weight: 700;
}
header .main-nav .iso{
	margin-left: 30px;
    font-size: .75em;
    letter-spacing: .4em;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background: #282828;
    color: #f5f4eb;
    padding: 30px 50px 30px 30px;
    border-radius: 20px 0 0 20px;
    font-weight: 700;
}

header .icn-box a,
header .main-nav .logo,
header .main-nav ul,
header .main-nav .nav-header2{
	transition: all 1.25s cubic-bezier(0.253, 0.85, 0.344, 1);
	transform:scale(1.1);
	opacity: 0;
}
header.in .icn-box a,
header.in .main-nav .logo,
header.in .main-nav ul,
header .main-nav .nav-header2{
	transform:scale(1);
	opacity: 1;
}

/* ドロップダウンメニューの基本非表示 */
header .main-nav .nav-header1 li.dropdown {
    position: relative;
}
header .main-nav .nav-header1 .dropdown-menu {
    flex-direction: column; /* 念のため方向指定（保険） */
    position: absolute;
	margin-left: 0;
    top: 100%;
    left: 0;
    background: rgb(250 250 250);
    /*border-radius: 8px;*/
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    padding: 15px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 1000;
    min-width: 450px;
    white-space: nowrap;
}
header .main-nav .nav-header1 .dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
header .main-nav .nav-header1 li.dropdown a.d-nav{
	display: flex;
	align-items: center;
}
header .main-nav .nav-header1 .dropdown-menu li {
    margin: 0;
    padding: 0;
	width: 100%;
}
header .main-nav .nav-header1 .dropdown-menu li a {
	width: 100%;
	position: relative;
    display: flex;
    align-items: center;
    padding: 13px 25px 13px 39px;
    font-size: 0.85em;
    color: #373737;
    white-space: nowrap;
    transition: all 0.3s ease;
	border-bottom: 1px solid #e7e7e7;
}
header .main-nav .nav-header1 .dropdown-menu li a.last {
	border-bottom: none;
}
header .main-nav .nav-header1 .dropdown-menu li a:after {
    content: "";
    position: absolute;
    background: #3a9cde;
    left: 26px;
    top: 18px;
    transform: rotate(45deg);
    width: 3px;
    height: 3px;
}
header .main-nav .nav-header1 .dropdown-menu li a svg {
	margin-left: auto;
    width: 7px;
	height: 5px;
	transition: transform 0.3s ease;
}
header .main-nav .nav-header1 .dropdown-menu li a:hover {
    background-color: #e3f2f2;
    opacity: 0.8;
}
/* 三角のアニメーション基本設定 */
header .main-nav .nav-header1 li.dropdown .dropdown-icon svg {
	width: 9px;
    height: 6px;
    fill: #373737;
    transform: rotate(90deg) translateX(-1px);
    margin: 0 0 0 6px;
    transition: transform 0.3s ease;
    transform-origin: center;
}

/* ▼→▲：リンクにホバー中だけでなく、メニューを含めた全体がhover中に矢印を回転 */
header .main-nav .nav-header1 li.dropdown:hover .dropdown-icon svg {
    transform: rotate(270deg) translateX(1px);
}
header .main-nav .nav-header1 .dropdown-menu li a:hover svg {
    transform: translateX(5px);
}

/*バーガーメニュー*/
.nav-sp {
	display: none;
	position: fixed;
	cursor: pointer;
    z-index: 1000;
    width: 50px;
    height: 50px;
    top: 0;
    right: 0;
    margin: 21px 5vw 0 auto;
	transition: margin .6s cubic-bezier(0.253, 0.85, 0.344, 1);
}
header.nav-in .nav-sp{
	margin: 11px 5vw 0 auto;
}
.nav-sp .btn {
    width: 50px;
    height: 50px;
    backface-visibility: hidden;
    padding: 20px 0;
}
.nav-sp .btn .line{
	position: relative;
    width: 100%;
    height: 1px;
    background: #373737;
    padding-bottom: 1px;
    z-index: 10;
    display: block;
	overflow: hidden;
	transition: all .3s var(--ease-button);
}
.nav-sp .btn .line.snd{
	margin-top: 9px;
	margin-left: auto;
	transition: all .3s var(--ease-button);
}
.nav-sp .btn .line:before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background: #3a9cde;
	transform: translate(-100%,0);
	z-index: 2;
	transition: all .5s var(--ease-button);
}
.nav-sp .btn .line:after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background: #373737;
	transform: translate(-100%,0);
	z-index: 3;
	transition: all .74s var(--ease-button);
}
.nav-sp .btn .line.snd:before{
	transition: all .64s var(--ease-button);
}
.nav-sp .btn .line.snd:after{
	transition: all .95s var(--ease-button);
}
.nav-sp:hover .btn .line{
	width: 35px;
}
.nav-sp:hover .btn .line.snd{
	width: 35px;
	transition: all .3s var(--ease-button);
}
.nav-sp:hover .btn .line:before{
	transform: translate(100% ,0%);
}
.nav-sp:hover .btn .line:after{
	transform: translate(0% ,0%);
}




#g-nav-s {
    width: calc(5vw + 50px);
  	height: calc(5vw + 50px);
	transform: translateY(0);
	padding-bottom: 27px;
	box-sizing: border-box;
	position: fixed;
	z-index: 100;
	right: 0;
	top: 0;
	transition: all .5s var(--ease-button);
	display: none;
}
.is-menuOpen #g-nav-s{
	width: 100vw;
  	height: auto;
}
#g-nav-s .g-nav-s-in{
	position: relative;
	background: rgb(231 231 231 / 0.9);
	transition: all .5s var(--ease-button);
	right: 0;
	top: 0;
	width: 100vw;
	height: calc(5vw + 50px);
}
#g-nav-s .g-nav-s-in-in{
	position: absolute;
	overflow: scroll;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	padding-bottom: 30px;
}

.close-button{
	width: 50px;
    height: 50px;
    position: absolute;
    right: 5vw;
	top: 15px;
	z-index: 101;
	opacity: 0;
	transition: all .5s var(--ease-button);
}
.close-button.open{
	opacity: 1;
}
.close-button .circle {
    width: 50px;
    height: 50px;
    border-radius: 50%;
	transform: scale(0);
	transition: transform .74s var(--ease-button);
}
.close-button .line {
	width: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) scale(0);
	transition: transform .74s var(--ease-button);
}
.close-button .line .line-in{
	position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 1px;
    transform: rotate(45deg);
    background: #373737;
}
.close-button .line .line-in.line2{
	transform: rotate(-45deg);
}
.clicked .close-button .circle {
	transform: scale(1);
}
.clicked .close-button .line {
	transform: translate(-50%,-50%) scale(1);
}

#g-nav-s .logo {
	opacity: 0;
	width: 40px;
	margin: 27px 0 0 5vw;
	transition: all .5s var(--ease-button);
}
#g-nav-s .logo.open {
	opacity: 1;
}
#g-nav-s .logo-box .icn-box,
#g-nav-s .logo-box .icn-box img{
	width: 24px;
}
#g-nav-s .logo-box .logo{
    margin: 0 0 0 30px;
}
#g-nav-s .logo-box .logo a,
#g-nav-s .logo-box .logo a img{
	width: 100px;
}
#g-nav-s .logo-box .icn-box,
#g-nav-s .logo-box .logo{
	transform: translate(0,100%);
	transition: transform .74s var(--ease-button);
}
#g-nav-s .logo-box.open .icn-box,
#g-nav-s .logo-box.open .logo{
	transform: translate(0,0);
}
#g-nav-s ul{
	position: relative;
	display: flex;
	flex-wrap: wrap;
    padding: 35px 6vw 0;
}
#g-nav-s ul li.sns{
    display: flex;
	align-items: center;
}
#g-nav-s ul li.sns div a{
	width: 35px;
	padding: 5px 8px;
}
#g-nav-s ul li.title{
	width: 100%;
}
#g-nav-s ul li{
	width: 50%;
    font-size: 15px;
    display: grid;
}
#g-nav-s ul li a{
	color: #343131;
    line-height: 1.2;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .1em;
    padding: 5px 0px 5px 17px;
    position: relative;
    margin: 4px 0;
    transition: all .3s ease;
}
#g-nav-s ul li.disc{
	width: 100%;
	margin: 0;
}
#g-nav-s ul li.disc a{
	margin: 4px 0;
}
#g-nav-s ul li.disc a:after{
	width: 3px;
	height: 3px;
	top: 12px;
}
#g-nav-s ul li.disc a span{
	margin-top: 8px;
    display: block;
    line-height: 1.5;
    color: #797979;
}
#g-nav-s ul li a:hover{
	opacity: .5;
}
#g-nav-s ul li a:after{
	content: "";
	position: absolute;
	background: #3a9cde;
	left: 0;
	top: 9px;
	transform: rotate(45deg);
	width: 7px;
	height: 7px
}
#g-nav-s ul li.sns a:after{
	background:none;
}

#g-nav-s ul li{
	display: table;
	transition: all .74s var(--ease-button);
	transform: translate(0,0);
	opacity: 0;
}
#g-nav-s ul li.open{
	transform: translate(0%,0%);
	opacity: 1;
	transition: all .74s var(--ease-button);
}


#contents{
	position: relative;
	padding-top: 211px;
	opacity: 0;
	transition: all 1.25s cubic-bezier(0.253, 0.85, 0.344, 1);
}
#contents.in{
	opacity: 1;
}
footer{
	width: 90vw;
    margin: 117px auto 80px;
    border-top: 1px solid #bababa;
    padding-top: 100px;
	position: relative;
}
footer:before,
footer:after{
	content: "";
	position: absolute;
	background: #6c6c6c;
	width: 100px;
	height: 1px;
	left: 0;
	top: -1px;
}
footer:after{
	left: inherit;
	right: 0;
}
footer #main-footer1{
	display: flex;
	flex-wrap: wrap;
	padding: 0 50px;
	justify-content: space-between;
	width: 70vw;
	min-width: 1400px;
	margin: 0 auto;
}
footer #main-footer1 .center-box{
	display: flex;
}
footer #main-footer1 .center-box ul{
	margin: 0 30px;
}
footer #main-footer1 li a{
	color: #343131;
    line-height: 1.2;
    font-size: 1rem;
    letter-spacing: .17em;
    padding: 5px 0px 7px 17px;
	position: relative;
	margin: 17px 0;
	transition: all .3s ease;
}
footer #main-footer1 .left-box li:nth-child(2) a{
	margin-bottom: 7px;
}
footer #main-footer1 .left-box li:nth-child(3) a{
	margin-top: 7px;
}
footer #main-footer1 .center-box ul.left li:nth-child(2) a{
    margin: 35px 0 7px;
}
footer #main-footer1 .center-box ul.left li:nth-child(3) a,
footer #main-footer1 .center-box ul.left li:nth-child(4) a{
	margin: 0px 0 7px;
}
footer #main-footer1 .center-box ul.left li:nth-child(5) a{
	margin: 0 0 30px;
}
footer #main-footer1 li a:hover{
	opacity: .5;
}
footer #main-footer1 li a:after{
	content: "";
	position: absolute;
	background: #3a9cde;
	left: 0;
	top: 10px;
	transform: rotate(45deg);
	width: 7px;
	height: 7px
}
footer #main-footer1 li.disc a{
	font-size: .95rem;
}
footer #main-footer1 li.m-top a{
	margin-top: 35px;
}
footer #main-footer1 li.disc a:after{
	width: 3px;
	height: 3px;
	top: 12px;
}
footer #main-footer1 li.disc a span{
	margin-top: 8px;
    display: block;
    line-height: 1.5;
    color: #797979;
}
footer #main-footer2{
	margin-top: 80px;
    display: flex;
	align-items: center;
    font-size: .9em;
    letter-spacing: .1em;
    color: #7f7f7f;
}
footer #main-footer2 .logo{
	margin-left: auto;
}
footer #main-footer2 .logo img{
	width: 50px;
}


.down-up{
	opacity:0;
	transition: all 1.25s cubic-bezier(0.253, 0.85, 0.344, 1);
	transform:translate(0px,100px) scale(.9);
	filter: blur(5px);
}
.down-up-in{
	opacity:1;
	transform:none;
	filter: blur(0);
}
@media screen and (max-width: 1550px) {	
	footer #main-footer1{
		width: 1200px;
		min-width: 1200px;
	}
	footer #main-footer1 li a{
		font-size: .9rem;
	}
	footer #main-footer1 li.disc a{
		font-size: .85rem;
	}
}
@media screen and (max-width: 1450px) {
	header .main-nav ul {
		margin-left: 30px;
	}
	header.nav-in .main-nav ul {
		margin-left: 7px;
	}
	header.nav-in .main-nav .nav-header2{
		top: 12px;
	}
	header.nav-in .main-nav .logo img{
		width: 61px;
        height: 50px;
	}
	header .main-nav ul li{
		margin: 0 15px;
	}
	header .main-nav ul li.youtube {
		margin-left: 18px;
	}
	footer #main-footer1{
		width: 1000px;
		min-width: 1000px;
	}
	footer #main-footer1 .center-box ul{
		margin: 0;
	}
	footer #main-footer1 .center-box ul:nth-child(1){
		margin-right: 50px;
	}
	footer #main-footer1 .right-box ul{
		display: flex;
		flex-wrap: wrap;
		margin-top: 15px;
	}
	footer #main-footer1 .right-box ul li{
		width: 33.3333%;
	}
	footer #main-footer1 .right-box ul li a,
	footer #main-footer1 .right-box ul li.m-top a{
		margin: 17px 0 0;
	}
}
@media screen and (max-width: 1330px) {
	header .main-nav ul li {
        margin: 0 13px;
    }
	header .main-nav .nav-header2 li {
        margin: 0 12px;
    }
	header .main-nav ul li.youtube{
		margin-left: 12px;
	}
}
@media screen and (max-width: 1230px) {
	header .main-nav ul {
		margin-left: 20px;
	}
	header.nav-in .main-nav {
		padding: 12px 3vw;
	}
	header.nav-in .main-nav ul {
		margin-left: 7px;
	}
	header .main-nav ul li {
		margin: 0 11px;
	}
	header .main-nav .nav-header2 a {
		letter-spacing: .15em;
	}
	header .main-nav ul li.sns {
		margin-left: 18px;
	}
	header .main-nav .iso {
		margin-left: 20px;
		padding: 30px;
	}
	header .main-nav .nav-header2 li {
        margin: 0px 7px;
    }
}
@media screen and (max-width: 1150px) {
	header.in .nav-sp{
		display: block;
	}
	header .main-nav{
		padding: 30px 5vw;
	}
	header .main-nav ul,
	header .main-nav .nav-header2 ul{
		display: none;
	}
	#contents {
		padding-top: 141px;
	}
	header .main-nav .iso {
		margin-top: 70px;
        padding: 24px;
        font-size: 0.65em;
	}
	footer{
		margin: 90px auto 80px;
		padding-top: 70px;
	}
	footer #main-footer1{
		width: 90vw;
		min-width: 90vw;
	}
	footer #main-footer1 .left-box,
	footer #main-footer1 .center-box ul:nth-child(1){
		margin-right: 30px;
	}
	footer #main-footer1 li.m-top a{
		margin-top: 35px;
	}
	footer #main-footer2{
		padding: 0 50px;
	}
	footer #main-footer2 .logo img {
		width: 30px;
	}
}
@media screen and (max-width: 768px) {
	.sp{
		display: block;
	}
	header.nav-in .main-nav {
        padding: 2vw 5vw;
    }
	header .main-nav .logo img {
        width: 61px;
		height: 80px;
    }
	.nav-sp,
	header.nav-in .nav-sp {
		margin: 2vw 5vw 0 auto;
	}
	header .main-nav .iso {
		margin-top: 50px;
        padding: 17px;
        font-size: 0.55em;
        border-radius: 10px 0 0 10px;
    }
	#g-nav-s ul li.disc a {
		font-size: .82rem;
	}
	footer {
        width: 86vw;
        margin: 100px auto 60px;
        padding-top: 40px;
    }
	footer #main-footer1 {
        width: 100%;
        min-width: 100%;
		padding: 0 1.5vw;
		display: block;
    }
	footer #main-footer1 li a {
        font-size: .95rem;
        margin: 15px 0;
		display: table;
    }
	footer #main-footer1 li.m-top a {
        margin-top: 33px;
		margin-bottom: 1px;
    }
	footer #main-footer1 li.disc a {
        font-size: .9rem;
    }
	footer #main-footer1 .center-box{
		display: block;
	}
	footer #main-footer1 .left-box,
	footer #main-footer1 .center-box ul:nth-child(1){
		margin-right: 0;
	}
	footer #main-footer1 .center-box ul:nth-child(1){
		margin-top: 33px;
	}
	footer #main-footer1 .center-box ul.left li:nth-child(5) a {
		margin: 0 0 5px;
	}
	footer #main-footer1 .right-box ul li{
		width: 100%;
	}
	footer #main-footer1 .center-box ul.left li:nth-child(2) a {
		margin: 20px 0 5px;
	}
	footer #main-footer2 {
        padding: 0;
		font-size: .8rem;
		margin-top: 50px;
    }
	#contents {
        padding-top: 110px;
    }
	a.link{
		font-size: 1rem;
		letter-spacing: 0.05em;
	}
	a.link span.line-box,
    a.link span.line{
        width: 50px;
    }
	a.link:hover span.line{
		width: 40px;
		left: 10px;
	}
	a.link .line:before{
		right: 40px;
	}
	a.link.back span.icn{
		width: 24px;
		height: 12px;
    	margin-left: 12px;
	}
	a.link.back .icn:before{
		background-size: 24px;
		width: 24px;
		height: 12px;
	}
}
@media screen and (max-width: 375px) {
	#g-nav-s ul li a {
		font-size: .92rem;
	}
	#g-nav-s ul li.disc a {
        font-size: .82rem;
    }
	a.link {
        font-size: .9rem;
    }
	footer #main-footer1 li a {
        font-size: .9rem;
	}
	footer #main-footer1 li.disc a {
        font-size: .85rem;
    }
}