@charset "utf-8";

/*

font-family: var(--number);

*/


@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

:root {
	--number: 'Crimson Text', 'Noto Serif JP', serif;
	--serif: 'Noto Serif JP', Garamond, 'Yu Mincho', 'YuMincho', 'Meiryo', sans-serif;
	--serif-en: 'Crimson Text', 'Noto Serif JP', Garamond, 'Yu Mincho', 'YuMincho', 'Meiryo', serif;
	--sansserif: 'Noto Sans JP', 'Yu Gothic', "游ゴシック", 'YuGothic', "游ゴシック体", Hiragino Kaku Gothic ProN, 'Meiryo', sans-serif;
}

body { color: #333; background: #ffffff; line-height: 2; font-size: 16px; font-weight: 300; font-family: var(--sansserif); position:relative; }
a { color: #47A2B4; }
a:hover { color: #10626b; text-decoration: none; }
a img { border: none; }
select::-ms-expand { display: none; }
select { -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; margin-bottom: 20px; padding: 10px; font-size: 15px; line-height: 1.1em; border: 1px solid #eee; border-radius: 5px; }
select:focus { outline: 3px solid #47A2B4; border-radius: 5px; /*overflow: hidden;*/ }
[type=button], [type=reset], [type=submit], button { -webkit-appearance: button; }
button, input[type=button], input[type=image], input[type=reset], input[type=submit], select { cursor: pointer; }
button, input:not([type=checkbox]):not([type=radio]):not([type=number]), select, textarea { font-family: var(--sansserif); -webkit-appearance: none; -moz-appearance: none; appearance: none; border-radius: 5px; border:1px solid #47A2B4; /*border-radius: 0; border: 0;*/ }
textarea,
input[type=password],
input[type=text],
input[type=tel],
input[type=email] { width:100%; max-width: 100%; }
::selection { background-color: rgba(241,237,231,0.88); }
::-moz-selection { background-color: rgba(241,237,231,0.88); }
@-webkit-keyframes zoomUp { 0% { -webkit-transform: scale(1.15); transform: scale(1.15); } 100% { -webkit-transform: scale(1); transform: scale(1); } }
@keyframes zoomUp { 0% { -webkit-transform: scale(1.15); transform: scale(1.15); } 100% { -webkit-transform: scale(1); transform: scale(1); } }
@-webkit-keyframes { 0%{ height: 0; top: 0; opacity: 0; } 30%{ height: 30px; opacity: 1; } 100%{ height: 0; top: 50px; opacity: 0; } }
@keyframes pathmove { 0%{ height: 0; top: 0; opacity: 0; } 30%{ height: 30px; opacity: 1; } 100%{ height: 0; top: 50px; opacity: 0; } }
@-webkit-keyframes scroll-point { 0% { bottom: 117px; opacity: 0; } 20% { opacity: 1; } 48% { bottom: 0; opacity: 1; } 70% { opacity: 0; } 100% { bottom: 0; opacity: 0; } }
@keyframes scroll-point { 0% { bottom: 117px; opacity: 0; } 20% { opacity: 1; } 48% { bottom: 0; opacity: 1; } 70% { opacity: 0; } 100% { bottom: 0; opacity: 0; } }
@-webkit-keyframes scroll-point-sp { 0% { bottom: 4.5em; opacity: 0; } 20% {  opacity: 1; } 40% {  bottom: 0; opacity: 1 ; } 70% { opacity: 0; } 100% {  bottom: 0; opacity: 0; } }
@keyframes scroll-point-sp { 0% { bottom: 4.5em; opacity: 0; } 20% {  opacity: 1; } 40% { bottom: 0; opacity: 1; } 70% {  opacity: 0; } 100% {  bottom: 0; opacity: 0; } }
@-webkit-keyframes scroll-point-zoom { 0% { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } 20% { opacity: 1; } 40%{ opacity: 0; -webkit-transform: scale(4); -moz-transform: scale(4); -ms-transform: scale(4); -o-transform: scale(4); transform: scale(4); } 70%{ opacity: 0; } 100%{ opacity: 0; -webkit-transform: scale(4); -moz-transform: scale(4); -ms-transform: scale(4); -o-transform: scale(4); transform: scale(4); } }
@keyframes scroll-point-zoom { 0% { opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } 20% { opacity: 1; } 40%{ opacity: 0; -webkit-transform: scale(4); -moz-transform: scale(4); -ms-transform: scale(4); -o-transform: scale(4); transform: scale(4); } 70%{ opacity: 0; } 100%{ opacity: 0; -webkit-transform: scale(4); -moz-transform: scale(4); -ms-transform: scale(4); -o-transform: scale(4); transform: scale(4); } }
@-webkit-keyframes scroll-point-zoom-sp { 0% { opacity: 0; -webkit-transform: scale(.2) translateY(-50%) translateX(-50%); -moz-transform: scale(.2) translateY(-50%) translateX(-50%); -ms-transform: scale(.2) translateY(-50%) translateX(-50%); -o-transform: scale(.2) translateY(-50%) translateX(-50%); transform: scale(.2) translateY(-50%) translateX(-50%); } 40% {  -webkit-transform: scale(1) translateY(-50%) translateX(-50%); -moz-transform: scale(1) translateY(-50%) translateX(-50%); -ms-transform: scale(1) translateY(-50%) translateX(-50%); -o-transform: scale(1) translateY(-50%) translateX(-50%); transform: scale(1) translateY(-50%) translateX(-50%); } 50% { opacity: 1; } 100% { opacity: 0; -webkit-transform: scale(1) translateY(-50%) translateX(-50%); -moz-transform: scale(1) translateY(-50%) translateX(-50%); -ms-transform: scale(1) translateY(-50%) translateX(-50%); -o-transform: scale(1) translateY(-50%) translateX(-50%); transform: scale(1) translateY(-50%) translateX(-50%); } }
@keyframes scroll-point-zoom-sp { 0% { opacity: 0; -webkit-transform: scale(.2) translateY(-50%) translateX(-50%); -moz-transform: scale(.2) translateY(-50%) translateX(-50%); -ms-transform: scale(.2) translateY(-50%) translateX(-50%); -o-transform: scale(.2) translateY(-50%) translateX(-50%); transform: scale(.2) translateY(-50%) translateX(-50%); } 40% { -webkit-transform: scale(1) translateY(-50%) translateX(-50%); -moz-transform: scale(1) translateY(-50%) translateX(-50%); -ms-transform: scale(1) translateY(-50%) translateX(-50%); -o-transform: scale(1) translateY(-50%) translateX(-50%); transform: scale(1) translateY(-50%) translateX(-50%); } 50% {  opacity: 1; } 100% { opacity: 0; -webkit-transform: scale(1) translateY(-50%) translateX(-50%); -moz-transform: scale(1) translateY(-50%) translateX(-50%); -ms-transform: scale(1) translateY(-50%) translateX(-50%); -o-transform: scale(1) translateY(-50%) translateX(-50%); transform: scale(1) translateY(-50%) translateX(-50%); } }
@-webkit-keyframes arrow { 0% { transform: translateX(0px); } 49% { transform: translateX(1.5em); } 50% { transform: translateX(-.5em); } 100% { transform: translateX(0); } }
@keyframes arrow { 0% { transform: translateX(0px); } 49% { transform: translateX(1.5em); } 50% { transform: translateX(-.5em); } 100% { transform: translateX(0); } }


@keyframes gnav-btn-hover { from { width: 22px; } to { width: 42px; } }
@keyframes gnav-btn-hover-sp { from { width: 13px; } to { width: 25px; } }


html, body,
.header, .main, .footer { min-width: 1200px; }


/*@keyframes slideOut { from { transform: translateX(0%); } to { transform: translateX(100%); } }*/

/*
.loader z-index: 9999
*/

/* 初回ホップアップ -----------------------------------------------------*/
.loader { display: block; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 9999; }
.loader .loader-inner { position: relative; width: 100%; height: 100%; background-color: #47A2B4; }
.loader .loader-inner img { position: absolute; top: 0; left: -.6em; right: 0; bottom: 0; margin: auto; width: 30vw; }
.loader .loader-inner.open { }


/* 初回ホップアップ -----------------------------------------------------*/
.fahopu { display: none; width: 100%; height: 100%; background: rgba(0,0,0,.3); position: fixed; z-index: 9998; }
.fahopu-box { position: absolute; top: 50%; left: 50%; padding: 50px 0; transform: translate(-50%,-50%); background: #fff; border-radius: 20px; z-index: 9999; }
.fahopu-box.container { width: 800px; }
.fahopu-box .titl { margin-bottom: 1.4rem; font-weight: 300; color: #f1828d; font-size: 1.4em; text-align: center; }
.fahopu-box .btn { text-align: center; }
.fahopu-box .btn a { height: 53px; border-radius: 8px; color: #ffffff; background: #f1828d; }
.fahopu-box .btn:nth-child(2) a { background: #7ebee8; }
.fahopu-box .btn + .btn { margin-left: 30px; }
.fahopu-box p {  }
.fahopu-box button { position: absolute; z-index: 999; top: 0; right: 0; height: 120px; width: calc(120px - 1px); padding: 0; background: 0 0; display: inline-block; color: inherit; font: inherit; line-height: inherit; vertical-align: bottom; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.fahopu-box button:focus { outline: none; }
.fahopu-box button > span { position: absolute; left: 39px; height: 1px; background: #47A2B4; -webkit-transition: all 200ms ease; transition: all 200ms ease; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; }
.fahopu-box button > span:nth-child(1) { top: 46px; width: 40px; -webkit-transform: translate(1px,8px) rotate(45deg); transform: translate(1px,8px) rotate(45deg); }
.fahopu-box button > span:nth-child(2) { opacity: 0; top: 59px; width: 30px; -webkit-transform: translateX(-10px); transform: translateX(-10px); }
.fahopu-box button > span:nth-child(3) { top: 72px; width: 40px; -webkit-transform: translate(1px,-18px) rotate(-45deg); transform: translate(1px,-18px) rotate(-45deg); }
.fahopu-box-inner { width: 90%; margin: 0 auto; }


/* ヘッダー -----------------------------------------------------*/
.header-logo,
.header-nav,
.header-login,
.global-nav { position: static; top: 0; -webkit-transition: -webkit-transform 500ms ease; transition: transform 500ms ease; transition: transform 500ms ease,-webkit-transform 500ms ease; }

.header-login .label-ja,
.header-login .label-en,
.header-nav-item a,
.global-nav .menu .label-ja,
.global-nav .menu .label-en { font-family: var(--serif); }

.header { position: static; background-color:#ffffff; z-index: 60; top: 0; left: 0; width: 100vw; display: block; -webkit-transition: all 500ms ease; transition: all 500ms ease; }
.header-logo { left: 119px; z-index:33; height: 120px; padding: 0 28px; border-left: 1px solid #eaeaea; background: #ffffff; }
/*.header-logo.fixed { position: fixed; }*/
.header-logo img { width: 304px; }
.header-logo .logo { display: block; }
.header-logo .logo_ { display: none; }
.header-login { right: 0; padding: 28px; width: 218px; height: 120px; }
.header-login a { width: 100%; height: 100%; color: #ffffff; background: #47A2B4; text-decoration: none; -webkit-transition: background 300ms ease; transition: background 300ms ease; }
.header-login a:hover { background: #00a4b7; }
.header-login .label-ja { font-size: 12px; letter-spacing: .02em; }
.header-login .label-en { font-size: 10px; letter-spacing: .08em; }
.header-nav { right: 218px; height: 120px; }
.header-nav-item { font-size: 10px; line-height: 1.6; letter-spacing: .02em; }
.header-nav-item + .header-nav-item { margin-left: 28px; }
.header-nav-item a { position: relative; display: inline-block; padding: 0 .5em; color: rgba(0,0,0,.8); font-weight: 300; text-decoration: none; border: 1px solid rgba(0,0,0,.5); -webkit-transition: all 300ms ease; transition: all 300ms ease; }
.header-nav-item a:hover { color: rgba(0,0,0,1); border: 1px solid rgba(0,0,0,1); }
.header-nav-item a.blank { padding-left: calc(18px + .5em); }
.header-nav-item a.blank::before { color: #ffffff; }
.header-nav-item a::before { position: absolute; top: 0; left: 0; padding-right: 4px; margin-left: 4px; border-right: 1px solid rgba(0,0,0,.5); -webkit-transition: all 300ms ease; transition: all 300ms ease; }
.header-nav-item:nth-child(2) a::before { content: "\f15c"; font-family: 'Font Awesome 5 Free'; color: rgba(0,0,0,.8); }
.header-nav-item:nth-child(3) a::before { content: "\f0e0"; font-family: 'Font Awesome 5 Free'; color: rgba(0,0,0,.8); }
.header-nav-item:nth-child(2):hover a::before,
.header-nav-item:nth-child(3):hover a::before { color: rgba(0,0,0,1); }

.global-nav { top: 0; left: 0; z-index:34; display: none; }
.global-nav .menu {  }
.global-nav .menu li {  }
.global-nav .menu li a { color: #ffffff; }
.global-nav .menu li a span{ color: #ffffff; }
.global-nav .menu > li { position: relative; }
.global-nav .menu > li:not(:last-child) { margin-bottom: 1rem; }
.global-nav .menu > li > a {  }
.global-nav .menu > li > a > span {  }
.global-nav .menu .label-ja { display: block; font-size: 24px; letter-spacing: .1em; }
.global-nav .menu .label-en { display: inline-block; margin-bottom: 8px; font-size: 12px; letter-spacing: .06em; opacity: .6; }
.global-nav .sub-menu { display: none; }
.global-nav .sub-menu > li {  }
.global-nav .sub-menu > li > a {  }
.global-nav .sub-menu > li > span {  }
.global-nav .sub-menu-btn { width: 2.1268em; height: 2.1268em; padding: 0; display: block; background: none; color: #ffffff; border-radius: 100%; border: 1px solid #ffffff; position: absolute; top: .152em; right: 0; z-index: 2; outline: none!important; }
.global-nav .sub-menu-btn::before,
.global-nav .sub-menu-btn::after { content: ''; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: .6em; height: 1px; background: #ffffff; display: block; }
.global-nav .sub-menu-btn::after { transform:rotate(90deg); }
.global-nav .sub-menu-btn.active::after { opacity: 0; }
.global-nav-btn { position: static; z-index: 999; height: 120px; width: calc(120px - 1px); padding: 0; background: #ffffff; display: none; color: inherit; font: inherit; line-height: inherit; vertical-align: bottom; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.global-nav-btn:focus { outline: 0; border: 0; }
.global-nav-btn > span { position: absolute; left: 39px; height: 1px; background: #47A2B4; -webkit-transition: all 200ms ease; transition: all 200ms ease; -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; }
.global-nav-btn > span:nth-child(1) { top: 46px; width: 42px; }
.global-nav-btn > span:nth-child(2) { top: 59px; width: 30px; }
.global-nav-btn > span:nth-child(3) { top: 72px; width: 22px; }
.global-nav-btn[aria-expanded="false"]:hover > span:nth-child(1) { animation: 500ms ease-in-out -500ms infinite alternate both gnav-btn-hover; }
.global-nav-btn[aria-expanded="false"]:hover > span:nth-child(2) { animation: 500ms ease-in-out -250ms infinite alternate both gnav-btn-hover; }
.global-nav-btn[aria-expanded="false"]:hover > span:nth-child(3) { animation: 500ms ease-in-out 0ms infinite alternate both gnav-btn-hover; }
.global-nav-btn[aria-expanded="true"] > span { background: #ffffff !important; }
.global-nav-btn[aria-expanded="true"],
.global-nav-btn[aria-expanded="true"]:hover { background: 0 0 !important; }
.global-nav-btn[aria-expanded="true"] > span:nth-child(1) { width: 40px; -webkit-transform: translate(1px,8px) rotate(45deg); transform: translate(1px,8px) rotate(45deg); }
.global-nav-btn[aria-expanded="true"] > span:nth-child(2) { opacity: 0; -webkit-transform: translateX(-10px); transform: translateX(-10px); }
.global-nav-btn[aria-expanded="true"] > span:nth-child(3) { width: 40px; -webkit-transform: translate(1px,-18px) rotate(-45deg); transform: translate(1px,-18px) rotate(-45deg); }
.global-nav-box { position: absolute; z-index: 998; top: 0; left: 0; width: 100vw; height: 100vh; opacity: 1; -webkit-transform: scale(1); transform: scale(1); -webkit-transform-origin: 50% 50%; transform-origin: 50% 50%; -webkit-transition: all 200ms ease; transition: all 200ms ease; pointer-events: auto; }
.global-nav-box[aria-hidden="false"] { opacity: 0; pointer-events: none; }
.global-nav-bg { position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; /*background: url(../images/slide/main_slide1.jpg) center / cover no-repeat;*/ }
.global-nav-bg video { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
.global-nav-content { position: relative; width: 100vw; height: 100%; background: rgba(129,216,208,.9); color: #fff; overflow-y: scroll; -webkit-overflow-scrolling: touch; overflow-x: hidden; }
.global-nav-inner { padding: 6.25vw 7.03125vw 6.25vw 12.5vw; }
.global-nav.fixed { position: fixed; }
.global-nav.fixed .global-nav-btn { background: #ffffff; }
.global-nav.fixed .global-nav-btn > span { background: #47A2B4; }

.home .header-logo { background: #FFFFFF; }
.home .header-logo .logo { display: none; }
.home .header-logo .logo_ { display: block; }
.home .header-logo.fixed { background: #ffffff; }
.home .header-logo.fixed .logo { display: block; }
.home .header-logo.fixed .logo_ { display: none; }
.home .global-nav-btn { background: #FFFFFF; }
.home .global-nav-btn > span { background: #47A2B4; }
.home .global-nav.fixed .global-nav-btn { background: #ffffff; }

/* メイン -----------------------------------------------------*/
.mainvisual, .mainvisual .container,
.mainvisual .main-slide { position: relative; }
.main-content, .main-catch, .main-pgbar,
.main-thumbnail, .main-snsbtn, .main-scroll,
.main-copyright { position: absolute; z-index: 11; }
.main-catch,
.main-scroll .scroll-label { color: #ffffff; font-family: var(--serif); text-shadow: #999 1px 1px 8px, #999 -1px 1px 8px; }
.mainvisual { /*color:#FFF; display: flex; justify-content: center; align-items: center;*/ max-height: 90vh; height: 300px; background: url(../images/main_bg.jpg) no-repeat 50% 50%; background-size: cover; }
/*.mainvisual span { background-color:rgba(0, 0, 0, 0.2); padding:0 2px; border-radius:2px; font-size:30px; line-height: 1.2; }*/
/*.mainvisual::after { content: ''; position: absolute; z-index: 10; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,.3); -webkit-transition: all 2500ms linear 500ms; transition: all 2500ms linear 500ms; }*/
.mainvisual .container { width: 100%; height: 100%; padding-left: 120px; }
.main-content { width: 100%; height: 100%; margin: auto; }

.full-h { height:100%; }
.full-w { width:100%; }
.home .mainvisual { max-height: none; height: auto; background-color: #f8f8f8; }
.home .mainvisual::after {  }

/*.main-pgbar { left: 0; bottom: 1.6em; width: 50%; height: 2px; max-width: 100%; background: #ffffff; }
.main-pgbar .pgbar-inner { position: relative; height: 100%; }
.main-pgbar .bar { position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background-color: #47A2B4; transform: scaleX(0); transform-origin: 0 0; transition: transform 8s linear; }
.main-thumbnail { display: table; right: 4em; bottom: -2.5em; padding: .38462em; background: #ffffff; }
.main-thumbnail .swiper-container { overflow: visible; }
.main-thumbnail .swiper-slide { width: 90px!important; }
.main-thumbnail .slide-img::before { content: ""; position: absolute; top: -.38462em; left: 50%; visibility: hidden; width: 1.38462em; height: .38462em; background: #47A2B4; opacity: 0; -webkit-transition: all .5s cubic-bezier(.215,.61,.355,1); transition: all .5s cubic-bezier(.215,.61,.355,1); -webkit-transition-property: opacity,-webkit-transform; transition-property: opacity,-webkit-transform; transition-property: opacity,transform; transition-property: opacity,transform,-webkit-transform; -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.main-thumbnail .swiper-slide-thumb-active .slide-img::before { visibility: visible; opacity: 1; }
.main-snsbtn { top: 0; right: 0; width: 5.38462em; height: 100%; }
.main-snsbtn ul { overflow: hidden; background: #fff; margin-bottom: -.76923em; border-radius: 20px; box-shadow: 0 0 3em rgb(0 0 0 / 8.25%); }
.main-snsbtn ul > li { width: 100%; }
.main-snsbtn ul > li > a { color: #47A2B4; margin: 0 auto; width: 2.30769em; height: 2.30769em; transition: background .2s cubic-bezier(.25,.46,.45,.94); cursor: pointer; }
.main-snsbtn ul > li .fb { width: 1.26308em; position: relative; left: -.06em; }
.main-snsbtn ul > li .yt { width: 1.12308em; }
.main-snsbtn ul > li .tw { width: .92308em; }
.main-snsbtn ul > li:not(:first-child) { border-top: 1px solid #f9eee4; }
.main-scroll { top: 0; right: 0; width: 5.38462em; height: 100%; }
.main-scroll .scroll-inner { position: relative; bottom: -66px; padding-bottom: 136px; margin: 0 auto; -ms-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -webkit-box-orient: vertical; -webkit-box-direction: normal; -moz-writing-mode: vertical-rl; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; }
.main-scroll .scroll-inner::before { content: ""; position: absolute; bottom: 0; left: -1px; right: 0; margin: 0 auto; width: 1px; height: 117px; background: #ffffff; }
.main-scroll .scroll-label { font-size: .8rem; }
.main-scroll .scroll-point { position: absolute; left: -1px; right: 0; width: 7px; height: 7px; bottom: 6.5rem; margin: auto; -webkit-animation: scroll-point 2.6s ease-out infinite; animation: scroll-point 2.6s ease-out infinite; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.main-scroll .scroll-point::after,
.main-scroll .scroll-point::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; backface-visibility: hidden; border-radius: 50%; background: #47A2B4; }
.main-scroll .scroll-point::before { z-index: 0; background: rgba(255,255,255,.2); -webkit-animation: scroll-point-zoom 2.6s ease-out infinite; animation: scroll-point-zoom 2.6s ease-out infinite; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
*/

.main-slide { position: relative; }
.main-slide .swiper-slide { overflow: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.main-slide .swiper-slide-active .slide-img,
.main-slide .swiper-slide-duplicate-active .slide-img,
.main-slide .swiper-slide-prev .slide-img { -webkit-animation: zoomUp 12s linear 0s; animation: zoomUp 12s linear 0s; -webkit-animation-fill-mode: both; animation-fill-mode: both; }
.main-slide .slide-img { background-size: cover;  background-position: center center; }
.main-slide .slide-img img { max-width: none; width: 100%; }
.main-slide .pc { overflow:hidden;background:white; }

.main-catch { margin-left: 10vw; line-height: 1.1; color: #ffffff; }
.main-catch span { font-weight: 400; letter-spacing: .08em; }
.main-catch .titl { font-size: 3.4rem; font-weight: 400; font-family: var(--serif); line-height: 1.46; }
.main-catch .titl span { margin-left: .3em; font-size: 1.6rem; }
.main-catch .subtitl { margin-top: 1.5em; font-size: 1rem; }
.main-copyright { content: ''; position: absolute; top: 120px; left: 0; width: 120px; height: calc(100% - 120px); background: #f8f8f8; opacity: 1; -webkit-transition: all 500ms ease; transition: all 500ms ease; z-index: 998;  -ms-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; -moz-writing-mode: vertical-rl; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; }
.main-copyright small { margin-top: 60px; font-family: var(--serif); letter-spacing: .08em; transform: scaleX(.8); }





/* トップページ -----------------------------------------------------*/
.top { position: relative; }
.top::before { content: ''; position: absolute; z-index: 0; top: 0; left: 0; bottom: 0; width: 120px; background: rgba(248, 248, 248, 0.5); }
.top img { width: 100%; max-width: none; }
.top-news { position: relative; z-index: 32; }
.top-video { position: relative; z-index: 31; }
.top-bnr { position: relative; z-index: 31; }
.top-point { position: relative; z-index: 31; }
.top-join { position: relative; z-index: 31; }
.top-greeting { position: relative; z-index: 31; }
.top-business { position: relative; z-index: 31; }
.top-gikoushi { position: relative; z-index: 31; }
.top-contact { position: relative; z-index: 31; }

.top-news { padding-top: 46px; padding-bottom:4em; }
.top-news .news-box { /*position: absolute; top: -100px; right: 0; width: 60%;*/ color: #ffffff; background: #47A2B4; padding: 1.6em 2em; z-index: 50; -webkit-transition: all 800ms ease 500ms; transition: all 800ms ease 500ms; }
.top-news .news-box.bg-2 { background: #1ABAB4; }
.top-news .news-right { padding-left: 3em; border-left: 1px solid #ffffff; }
.top-news .news-cat li > span { cursor: pointer; }
.top-news .news-cat li + li { margin-left: .6rem; }
.top-news .news-cat li.selected > span { color: #ffffff; background: #47A2B4; transition: all .4s; }
.top-news .news-cat li.selected > .acunderline::after { content: none; }
.top-news .news-list {  }
.top-news .news-list li::before { content: ''; display: block; width: 0; height: 0; border-top: .15em solid transparent; border-bottom: .15em solid transparent; border-left: 0.8em solid #ffffff; position: absolute; top: calc(50% - .1em); left: -1.25em; transition: .9s all cubic-bezier(0.19, 1, 0.22, 1); transform: translateX(-1em) scaleY(0); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.top-news .news-list li:not(:first-child) { margin-top: .6rem; }
.top-news .news-list li > a { color: #ffffff; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.top-news .news-list li > a > span { display: inline-block; }
.top-news .news-list li .date { width: 5.6em; flex-shrink: 0; align-self: flex-start; font-family: var(--number); }
.top-news .news-list li .cate { width: 5em; }
.top-news .news-list li .cate span { padding: 0.2em .8em .2em; border-radius: 1rem; border: 1px solid #ffffff; color: #ffffff; vertical-align: middle; line-height: 1.4; font-weight: 400; font-family: var(--serif); font-size: .8em; display: inline-block; }
.top-news .news-list li .cate span + span { margin-left: 1rem; }
.top-news .news-list li .titl { display: inline; line-height: 1.4; font-family: var(--serif); }
.top-news .news-list li .new { font-size: 0; position: relative; top: -6px; margin-left: 6px; display: inline-block; }
.top-news .news-list li .new img { width: 50px; height: 18px; }
.top-news .news-list li:hover { opacity: .8; }
.top-news .news-list li:hover::before { transform: none; }
.top-news .news-list li:hover > a img { opacity: 1; }
.top-news .news-head { font-family: var(--serif); }
.top-news .news-head p { margin-bottom: 0; }
.top-news .news-head .label-ja { display: none; }
.top-news .news-head .label-en { font-size: 1.2rem; }
.top-news .news-cat { margin-bottom: .6rem; }
.top-news .news-cat li { font-family: var(--serif); }
.top-news .news-cat li { position: relative; }
.top-news .news-cat li + li { margin-left: .8rem; }
.top-news .news-cat li .acunderline::after { background: #ffffff; }
.top-news .news-cat li.selected .acunderline::after { width: 100%; }
.top-news .news-btn { margin-top: 1rem; text-align: left; }
.top-news .news-btn a { padding-right: 2.5em; color: #ffffff; position: relative; }
.top-news .news-btn a::after { content: ''; position: absolute; top: 0; bottom: 0; right: 10px; margin: auto; width: 16px; height: 5px; margin-right: 2px; -webkit-transform: skew(45deg); transform: skew(45deg); -webkit-transition: all 400ms ease; transition: all 400ms ease; border-right: 1px solid #ffffff; border-bottom: 1px solid #ffffff; }
.top-news .news-btn a:hover::after { right: 0; }

.top-bnr { overflow-x: hidden; }
.top-bnr .slick { padding: 0 2.2em 5em; position: relative; }
.top-bnr .slick *:focus { outline: 0!important; }
.top-bnr .slick::before { content: ''; position: absolute; top: 0; bottom: auto; left: calc(0% + 206px); width: 1px; height: 100px; background: #cbccd1; z-index: 1; }
.top-bnr .slick p { margin-bottom: 0; }
.top-bnr .slick-list { overflow: visible; }
.top-bnr .slick-slide { margin: 0 1em; }
.top-bnr .slick-slide > a { color: #494645; }
.top-bnr .slick-slide > a:hover img { opacity: 1; box-shadow: 0 .3rem 1rem 0 rgba(0,0,0,.2); }
.top-bnr .slick-slide > a:hover .img { transform: scale(.96); box-shadow: 0 0 3em rgb(0 0 0 / 33%); }
.top-bnr .slick-slide > a:hover .img-inner { transform: scale(1.1); }
.top-bnr .slick-slide .img { width: 100%; padding-top: 66.667%; overflow: hidden; position: relative; transition: all .4s; }
.top-bnr .slick-slide .img-inner { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; display: block; transition: all .4s; }
.top-bnr .slick-slide .img-inner img { width: 100%; height: auto; }
.top-bnr .slick-slide .img-inner::before { position: absolute; top: 0; left: 0; z-index: 1; display: block; width: 100%; height: 100%; background: -webkit-gradient(linear,left top,left bottom,color-stop(33%,rgba(0,0,0,0)),to(#000)); background: -webkit-linear-gradient(top,rgba(0,0,0,0) 33%,#000); background: linear-gradient(180deg,rgba() 33%,#000); content: ""; opacity: .63; }
.top-bnr .slick-slide .img-txt { position: absolute; bottom: 0; left: 0; width: 100%; padding: 0 1.53846em 1.47692em; z-index: 2; }
.top-bnr .slick-slide .date { margin-bottom: 0.5rem; color: #494645; }
.top-bnr .slick-slide .titl { font-size: 1.2rem; font-family: var(--serif); line-height: 1.4; }
.top-bnr .slick-slide .txt { height: 76px; overflow: hidden; }
.top-bnr .slick-slide .info { padding: 1.84615em 1.53846em 0; }
.top-bnr .slick-slide .cate { margin-bottom: .5rem; }
.top-bnr .slick-slide .cate span { padding: .4rem .8rem .46rem; border-radius: 1rem; color: #ffffff; line-height: 1; font-weight: 400; font-size: .68rem; display: inline-block; background: #47A2B4; }
.top-bnr .slick-slide .member { display: inline-block; position: absolute; top: 0; left: 0; padding: .4rem .8rem .46rem; color: #ffffff; line-height: 1; font-weight: 400; font-size: .68rem; background: #47A2B4; z-index: 2; }
.top-bnr .slick-arrow { position: absolute; top: calc(100px - 72px); bottom: auto; left: 50%; padding: 25px 0; width: auto; height: auto; margin: 0; z-index: 10; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 0; background: 0; }
.top-bnr .slick-prev { left: 120px; }
.top-bnr .slick-next { left: 220px; }
.top-bnr .slick-arrow::after { content: ''; display: block; width: 72px; height: 12px; border-bottom: 1px solid #47A2B4; }
.top-bnr .slick-prev::after { -webkit-transform: skew(-45deg); transform: skew(-45deg); border-left: 1px solid #47A2B4; }
.top-bnr .slick-next::after { -webkit-transform: skew(45deg); transform: skew(45deg); border-right: 1px solid #47A2B4; }
.top-bnr .slick-dots {  }
.top-bnr .slick-dots li {  }
.top-bnr .slick-dots li { display: inline-block; width: 8px; height: 8px; margin: 0 6px; border-radius: 100%; background: #ccc; opacity: 1; }
.top-bnr .slick-dots li.slick-active { background: #47A2B4; }
.top-bnr .slick-dots li button { opacity: .2; font-size: 0; }
.top-bnr .slick-dots { display: none!important; margin-top: 60px; line-height: 0; text-align: center; }

.top-video { overflow-x: hidden; }
.top-video .video-box { position: relative; }
.top-video .video-cat { position: absolute; top: 48px; left: 420px; z-index: 11; }
.top-video .video-cat li { font-family: var(--serif); }
.top-video .video-cat li + li { margin-left: 2rem; }
.top-video .video-cat li.selected .acunderline::after { width: 100%; }
.top-video .button-4 { position: absolute; top: 0; right: 0; }
.top-video .tab-panel { opacity: 0; z-index: -1; position: absolute; top: 0; width: 100%; -webkit-transition: .3s; transition: .3s; }
.top-video .tab-panel.show { opacity: 1; z-index: 2; position: relative; }
.top-video .tab-content { position: relative; }
.top-video .slick-slider { position: static; }
.top-video .slick { padding: 10em 2.2em 5em; position: relative; }
.top-video .slick *:focus { outline: 0!important; }
.top-video .slick::before { content: ''; position: absolute; top: 0; bottom: auto; left: calc(0% + 206px); width: 1px; height: 100px; background: #cbccd1; z-index: 1; }
.top-video .slick p { margin-bottom: 0; line-height: 1.4; }
.top-video .slick-list { overflow: visible; }
.top-video .slick-slide { margin: 0 1em; }
.top-video .slick-slide > a { color: #494645; }
.video-panel a:hover,
.top-video .slick-slide > a:hover img { opacity: 1; box-shadow: 0 .3rem 1rem 0 rgba(0,0,0,.2); }
.video-panel a:hover,
.top-video .slick-slide > a:hover .img { transform: scale(.96); box-shadow: 0 0 3em rgb(0 0 0 / 33%); }
.top-video .slick-slide > a:hover .img-inner { transform: scale(1.1); }
.video-panel a { transition: all .4s; }
.top-video .slick-slide .img { width: 100%; padding-top: 66.667%; overflow: hidden; position: relative; transition: all .4s; }
.top-video .slick-slide .img-inner { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; display: block; transition: all .4s; }
.top-video .slick-slide .img-inner img { width: 100%; height: 100%; }
.top-video .slick-slide .img-inner::before { position: absolute; top: 0; left: 0; z-index: 1; display: block; width: 100%; height: 100%; background: -webkit-gradient(linear,left top,left bottom,color-stop(33%,rgba(0,0,0,0)),to(#000)); background: -webkit-linear-gradient(top,rgba(0,0,0,0) 33%,#000); background: linear-gradient(180deg,rgba() 33%,#000); content: ""; opacity: .63; }
.top-video .slick-slide .img-txt { position: absolute; bottom: 0; left: 0; width: 100%; padding: 0 1.53846em 1.47692em; z-index: 2; }
.top-video .slick-slide .date { margin-bottom: 0.5rem; color: #494645; font-family: var(--number); }
.top-video .slick-slide .titl { font-size: 1.2rem; font-family: var(--serif); line-height: 1.4; }
.top-video .slick-slide .txt { height: 76px; overflow: hidden; }
.top-video .slick-slide .info { padding: 1.84615em 1.53846em 0; }
.top-video .slick-slide .cate { margin-bottom: .5rem; }
.top-video .slick-slide .cate span { padding: .4rem .8rem .46rem; border-radius: 1rem; color: #ffffff; line-height: 1; font-weight: 400; font-size: .68rem; font-family: var(--serif); display: inline-block; background: #47A2B4; margin-right:4px; }
.top-video .slick-slide .member { display: inline-block; position: absolute; top: 0; left: 0; padding: .4rem .8rem .46rem; color: #ffffff; line-height: 1; font-weight: 400; font-size: .68rem; font-family: var(--serif); background: #47A2B4; z-index: 2; }
.top-video .slick-arrow { position: absolute; top: calc(100px - 72px); bottom: auto; left: 50%; padding: 25px 0; width: auto; height: auto; margin: 0; z-index: 10; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 0; background: 0; }
.top-video .slick-prev { left: 120px; }
.top-video .slick-next { left: 220px; }
.top-video .slick-arrow::after { content: ''; display: block; width: 72px; height: 12px; border-bottom: 1px solid #47A2B4; }
.top-video .slick-prev::after { -webkit-transform: skew(-45deg); transform: skew(-45deg); border-left: 1px solid #47A2B4; }
.top-video .slick-next::after { -webkit-transform: skew(45deg); transform: skew(45deg); border-right: 1px solid #47A2B4; }
.top-video .slick-dots {  }
.top-video .slick-dots li {  }
.top-video .slick-dots li { display: inline-block; width: 8px; height: 8px; margin: 0 6px; border-radius: 100%; background: #ccc; opacity: 1; }
.top-video .slick-dots li.slick-active { background: #47A2B4; }
.top-video .slick-dots li button { opacity: .2; font-size: 0; }
.top-video .slick-dots { display: none!important; margin-top: 60px; line-height: 0; text-align: center; }

.top-join { margin-top: 15.6em; }
.top-join .join-img { margin-right: 23.4375vw; }
.top-join .join-cat { position: absolute; top: -6.25vw; left: calc(120px + 8.98438vw); width: 156px; }
.top-join .join-txt { position: relative; margin: -12.5vw 0 0 auto; padding: 80px; width: 45.3125vw; background: #fff; }
.top-join .join-summary { margin-bottom: 42px; }

.top-greeting { margin-top: 40px; }
.top-greeting .greeting-box { margin-left: calc(15.625vw + 120px); }
.top-greeting .greeting-img {  }
.top-greeting .greeting-txt { position: relative; margin-top: -80px; padding: 50px 0; padding-right: 50px; width: 37.5vw; background: #fff; z-index: 3; }

.top-business { margin-top: 100px; }
.top-business .business-bg  { display: block; position: absolute; left: -120px; right: 0; top: 18.75vw; height: 31.25vw; background: #cbd8e6 center/cover url(../images/business_bg.png); z-index: 1; }
.top-business .business-img { position: relative; z-index: 2; margin: 0 6.25vw 0 calc(11.40625vw + 120px); }
.top-business .business-cat { position: absolute; z-index: 3; top: -4.6875vw; left: calc(12.8125vw + 120px); width: 156px; }
.top-business .business-txt { position: relative; z-index: 2; margin: -13.67188vw auto 0 120px; padding: 80px 80px 100px; width: 45.3125vw; background: #fff; }

.top-point { margin-top: 100px; }

.top-gikoushi {  }
.top-gikoushi .gikoushi-img { position: relative; margin: 100px 7.8125vw 0 calc(7.8125vw + 120px); }
.top-gikoushi .gikoushi-cat { position: absolute; z-index: 3; top: 10.625vw; left: calc(15.625vw + 120px); width: 156px; }
.top-gikoushi .gikoushi-txt { position: relative; margin: -12.9375vw 0 0 auto; padding: 80px 80px 180px; width: 45.3125vw; background: #fff; }

.top-contact { overflow: hidden; }
.top-contact .heading-1 .label-ja,
.top-contact .heading-1 .label-en { color: #ffffff; }
.top-contact .heading-1 .label-ja { font-size: 1.6rem; }
.top-contact .heading-1 .label-en { font-size: .8rem; }
.top-contact .contact-box { overflow: hidden; }
.top-contact .contact-img { position: absolute; z-index: 1; top: 0; width: 100%; }
.top-contact .contact-txt { position: relative; z-index: 2; margin-left: 120px; padding: 120px 80px 200px; color: #fff; font-size: 16px; letter-spacing: .04em; line-height: 2.5; }
.top-contact .contact-btn { position: relative; z-index: 3; background: #fff; border-left: 120px solid #f8f8f8; }
.top-contact .contact-btn-inner { margin-left: 28.125vw; }
.top-contact .contact-btn-inner a { position: relative; top: -100px; display: block; margin-bottom: -60px; padding: 40px 60px; color: #fff; background: #47A2B4; text-decoration: none; -webkit-transition: background 300ms ease; transition: background 300ms ease; }
.top-contact .contact-btn-inner a::before { content: ''; position: absolute; top: calc(50% - 2px); right: 40px; width: 16px; height: 5px; -webkit-transform: skew(45deg); transform: skew(45deg); border-right: 1px solid #fff; border-bottom: 1px solid #fff; }
.top-contact .contact-btn-inner a:hover { background: #00a4b7; }
.top-contact .contact-summary { font-size: .8rem; letter-spacing: .02em; }
.top-contact .contact-cat { font-size: 2.4rem; font-weight: 300; font-family: var(--serif); }
.top-contact .contact-add { position: relative; }
.top-contact .contact-add::before { content: ""; display: block; margin: 30px 0 40px; width: 80px; height: 1px; background: rgba(255,255,255,.4); }

.heading-1 { letter-spacing: .08em; }
.heading-1 .label-ja { font-size: 2.0rem; line-height: 1.5; font-weight: 300; font-family: var(--serif); border-bottom:1px solid #ccc; display: inline-block; color:#425998; }
.heading-1 .label-en { margin-bottom: 0; color: #47A2B4; font-size: 1rem; font-family: var(--serif); }

.button-1 {  }
.button-1 a { position: relative; display: block; color: #ffffff; letter-spacing: .08em; max-width: 360px; margin: 0 auto; padding: 26px; background: #47A2B4; text-align: center; font-weight: 400; font-family: var(--serif); -webkit-transition: background 300ms ease; transition: background 300ms ease; }
.button-1 a::after { content: ''; position: absolute; top: 0; bottom: 0; right: 40px; margin: auto; width: 16px; height: 5px; margin-right: 2px; -webkit-transform: skew(45deg); transform: skew(45deg); -webkit-transition: all 400ms ease; transition: all 400ms ease; border-right: 1px solid #ffffff; border-bottom: 1px solid #ffffff; }
.button-1 a:hover { background: #00a4b7; }
.button-1 a:hover::after { right: 26px; }
.button-1 span {  }
.button-1 .label-ja {  }

.button-2 {  }
.button-2 a { position: relative; display: block; color: #47A2B4; letter-spacing: .08em; max-width: 240px; padding-top: 23px; padding-bottom: 18px; border-top: 1px solid #e6e6e6; border-bottom: none; position: relative; }
.button-2 a::after { content: ''; position: absolute; top: 28px; right: 15px; width: 16px; height: 5px; margin-right: 2px; -webkit-transform: skew(45deg); transform: skew(45deg); -webkit-transition: all 400ms ease; transition: all 400ms ease; border-right: 1px solid #47A2B4; border-bottom: 1px solid #47A2B4; }
.button-2 a:hover::after { right: 0; }
.button-2 a:hover .label-ja::before { width: 100%; left: 0; right: auto; }
.button-2 span { display: block; line-height: 1; }
.button-2 .label-ja { margin-bottom: 20px; font-weight: 400; font-family: var(--serif); }
.button-2 .label-ja::before { content: ''; position: absolute; top: -1px; bottom: auto;  right: 0; width: 0%; height: 1px; background: currentColor; -webkit-transition: all 500ms ease; transition: all 500ms ease; }
.button-2 .label-en { font-size: .8em; font-family: var(--serif); }

.button-3 {  }
.button-3 a { position: relative; display: block; color: #ffffff; letter-spacing: .08em; max-width: 360px; margin: 0 auto; padding: 26px; background: #47A2B4; text-align: center; font-weight: 400; font-family: var(--serif); -webkit-transition: background 300ms ease; transition: background 300ms ease; }
.button-3 a::after { content: ''; position: absolute; top: 0; bottom: 0; right: 40px; margin: auto; width: 16px; height: 5px; margin-right: 2px; -webkit-transform: skew(45deg); transform: skew(45deg); -webkit-transition: all 400ms ease; transition: all 400ms ease; border-right: 1px solid #ffffff; border-bottom: 1px solid #ffffff; }
.button-3 a:hover { background: #00a4b7; }
.button-3 a:hover::after { right: 26px; }
.button-3 span {  }
.button-3 .label-ja {  }
.button-4 { display:inline-block; padding:4px 10px; width:100%; max-width:300px; color:#FFF; text-align:center; background-color:#5FA0B2; }
.button-4:hover { color:#333; }
.button-5 { display:inline-block; padding:4px 10px; width:100%; max-width:300px; color:#333; text-align:center; background-color:#47A2B4 }
.button-6 { color:#425998; background-color:#fff; max-width:240px; width:100%; padding:0 0 0 20px; display:inline-block; font-size:1.2em; }
.button-7 { width:220px; padding:6px 10px; text-align:center; border:1px solid #47A2B4; color:#FFF; display: inline-block; background-color:#47A2B4; margin-right:30px; font-size:16px; }
.button-8 { display:inline-block; padding:20px 10px; width:100%; max-width:300px; color:#FFF; text-align:center; background-color:#5FA0B2; font-size:20px; }
.button-9 { width:220px; padding:6px 10px; text-align:center; border:1px solid #47A2B4; color:#FFF; display: inline-block; background-color:#47A2B4; font-size:16px; }
.button-10 { padding:6px 10px; text-align:center; border:1px solid #47A2B4; color:#FFF; display: inline-block; background-color:#47A2B4; font-size:16px; }
.button-11 { display:flex; justify-content: center; align-items: center; height: 100%; padding:20px 10px; width:100%; color:#FFF; text-align:center; background-color:#5FA0B2; font-size:20px; }
.button-12 { border:1px solid #5FA0B2; border-radius:30px; padding:10px 20px; display: inline-block; color:#333; background: white; width: 100%; max-width: 280px; text-align: center; font-size:17px; }
.arrow-1 { position:relative; }
.arrow-1:after { position:absolute; top:3px; right: 10px; content: "\f054"; font-family: 'Font Awesome 5 Free'; font-weight: 600; margin-left: 6px; font-size:14px; }


/* フッター -----------------------------------------------------*/
.footer { position: relative; padding: 60px 80px 40px 120px; background: #f8f8f8; z-index: 50; }
.footer-top { margin-bottom: 3em; }
.footer-bottom {  }

.footer-logo { margin-right: 50px; padding-right: 50px; border-right: 1px solid #dfdfdf; }
.footer-logo img { width: 280px; }
.footer-nav {  }
.footer-nav .menu {  }
.footer-nav .menu > li { display: inline-block; margin-right: 30px; }
.footer-nav .menu > li > a { display: block; padding: .25em 0; color: #333; font-size: .9em; font-family: var(--serif); letter-spacing: .08em; }
.footer-nav .menu > li > a[target="_blank"]::after { content: "\f24d"; font-family: 'Font Awesome 5 Free'; color: #47A2B4; font-size: .8em; font-weight: 300; vertical-align: middle; position: relative; top: -2px; margin-left: 2px; }
.footer-nav .menu > li > a > span {  }
.footer-nav .sub-menu {  }
.footer-nav .sub-menu > li {  }
.footer-nav .sub-menu > li > {  }
.footer-nav .sub-menu > li > a {  }
.footer-nav .sub-menu > li > a > span {  }
.footer-copyright { font-family: var(--serif); letter-spacing: .08em; }


/* サイドバー -----------------------------------------------------*/
.content-bottom select { margin-bottom: 0; }
.content-bottom .widget-titl { margin-bottom: 30px; padding: 12px 24px; font-weight: normal; font-size: 20px; letter-spacing: .04em; color: #fff; background: #47A2B4; border-radius: 6px; }
.content-bottom .widget-item { margin-bottom: 46px; }
.content-bottom .widget-item li:not(:last-child) { margin-bottom: 16px; }
.content-bottom .widget-item li { padding: 0 16px 10px; border-bottom: 1px solid #CCC; font-family: var(--number); }
.content-bottom .widget-item li a { color: #494645; }
.content-bottom .widget-item .cate { display: none; }
.content-bottom .widget-item .titl { display: inline; margin-left: 30px;overflow: hidden; text-overflow: ellipsis; }
.content-bottom .widget-recent li a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.content-bottom .widget-category li a::before { top: 12px; bottom: auto; }
.content-bottom .widget-category .children { margin-bottom: 0; padding-left: 15px; }
.content-bottom .widget-category .children > li { margin-bottom: 0; border-bottom: none; }
.content-bottom .widget-category .children > li:last-child { margin-bottom: 0; }
.content-bottom .widget-category .children > li > a { padding-left: 20px; }
.content-bottom .widget-category .children > li > a::before { display: inline-block; width: 7px; height: 2px; background: #eee; border: none; transform: none; }
.content-bottom .screen-reader-text { font-size: 0; display: none; }

/* アーカイブ -----------------------------------------------------*/
.archive-content .post,
.single-content  .post {  }
.archive-content .date,
.single-content  .date { font-size: 13px; color: #b5b5b5; font-family: var(--number); }
.archive-content .titl,
.single-content  .titl { line-height: 1.4; }
.archive-content .cate span,
.single-content  .cate span { font-size: 13px; padding: 6px 12px; background-color: #47A2B4; color: #fff; line-height: 1; border-radius: 16px; display: inline-block; vertical-align: middle; white-space: nowrap; margin-right: 2px; }
.archive-content .cate a,
.single-content  .cate a { color:#FFF; }
.archive-content .cate a:hover,
.single-content  .cate a:hover { color:#00a4b7; }
.archive-content .titl a { font-size: 1.3em; color: #494645; letter-spacing: .08em; text-decoration: none; transition: all .4s ease; }
.archive-content .titl a:hover { color: #47A2B4; }
.single-content .titl { font-size: 26px; color: #494645; letter-spacing: .08em; }
.single-content .thumbnail { text-align: center; margin-bottom: 100px; }
.single-content .thumbnail img { margin: 0 auto; }
.archive-content .font-9 a { font-size:1.2em; }
.title-wrap .titl {
	font-size:1rem;
	line-height: 1.5;
	font-weight: normal;
	max-height: 4rem;
	overflow: hidden;
	display: block;
	-webkit-line-clamp: 2;
	display: box;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	white-space: normal;
}

/*パンくず*/
.breadcrumb { font-size: .9em; }
.breadcrumb i { color: #47A2B4; }
.breadcrumb li { margin-bottom: 6px; line-height: 1.4; }
.breadcrumb li::after { margin-right: 10px; margin-left: 10px; content: '>'; position: relative; top: -1px; }
.breadcrumb li:last-child::after { content: none; }

/*ページネーション*/
.pagination { margin: 45px auto; font-size: 1.2em; font-family: var(--number); }
.pagination > a,
.pagination > span { margin-bottom: 15px; margin-right: 20px; padding: 0 15px; line-height: 43px; border: 1px solid #47A2B4; }
.pagination .dots { padding: 0; border: none; }
.pagination .prev { margin-right: 20px; }
.pagination .prev,
.pagination .next { font-size: .8em; width: auto; padding: 0 10px; margin-bottom: 13px; border: 1px solid; display: block; text-align: center; }
.pagination .current { color: #47A2B4; border-color: #47A2B4; }
.pagination .prev-link,
.pagination .next-link,
.pagination .list-link { position: relative; width: auto; margin-bottom: 15px; margin-right: 20px; border: 1px solid #47A2B4; line-height: 43px; }
.pagination .next-link { margin-right: 0; }
.pagination .prev-link a,
.pagination .next-link a,
.pagination .list-link a { font-size: .8em; padding: 0 15px; margin: 0; border: none; display: block; text-align: center; }
.pagination .prev-link a::before,
.pagination .next-link a::after { font-family: 'Font Awesome 5 Free'; font-weight: 900; }
.pagination .prev-link a::before { content: '\f104'; margin-right: 6px; }
.pagination .next-link a::after { content: '\f105'; margin-left: 6px; }


/* その他 -----------------------------------------------------*/

/*animation*/
.acunderline { position: relative; cursor:pointer; }
.acunderline::after { content: ''; display: block; width: 0; height: 1px; background: #47A2B4; position: absolute; bottom: 0; left: 0; transition: .9s all cubic-bezier(0.19, 1, 0.22, 1); }
.acunderline:hover::after { width: 100%; }
.lpunderline { position: relative; display: inline-block; overflow: hidden; vertical-align: middle; }
.lpunderline:before { -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0); transform: translateX(0); }
.lpunderline:after, .lpunderline:before { position: absolute; right: 0; bottom: 0; width: 100%; height: 1px; background: rgba(26,26,26,.7); content: ""; }
.hvboxshadow:hover { box-shadow: 0 0 10px rgb(241 169 128 / 20%); transform: scale(1.025); transition: ease .4s; }

/*lightbox[js]*/
.lightbox .lb-dataContainer { padding-top: 1rem; }
.lightbox .lb-data .lb-caption { font-size: 1.4rem; font-weight: 400; font-family: var(--sansserif); letter-spacing: .08em; }

/*readmore[js]*/
.read-box { position: relative; }
.read-box + .read-box { margin-top: 40px; }
.read-btn { position: absolute; bottom: 0; left: 0; right: 0; margin: auto; z-index: 3; min-width: 21.429em; padding: 1.25em 1.8em 1.25em 2em; color: #47A2B4; background: #FFF9F4; border: 1px solid #47A2B4; border-radius: 26px; line-height: 1.4; display: inline-block; width: auto; }
.read-btn:focus { outline: none; }
.read-btn::after,
.read-btn::before { transition: ease .4s; }
.read-btn::after { content: "\f0e2"; font-family: 'Font Awesome 5 Free'; font-weight: 900; margin-left: 6px; }
.read-btn::before { content: "Show All"; }
.read-btn .fa { margin-right: .5em; }
.read-item { position: relative; overflow: hidden; }
.read-item::before { content: ""; display: block; position: absolute; bottom: 0; left: 0; z-index: 2; width: 100%; height: 200px; background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%); background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%); }
.read-item.close { height: 80px; }
.read-btn.open { overflow: hidden; }
.read-btn.open { bottom: -2em; }
.read-btn.open::after { content: "\f00d"; font-family: 'Font Awesome 5 Free'; font-weight: 900; margin-left: 6px; }
.read-btn.open::before { content: "Close" }
.read-btn.open + .read-item::before { display: none; }

/*ページトップ*/
.scrolltop-navi { margin: 0; padding: 7.5rem 0 2.5rem; }
.scrolltop { font-weight: 400; cursor: pointer; }

/*検索*/
.search-1 .form-search { display: flex; width: 100%; margin: 0; max-width: 20rem; border: 1px solid #e9e9e9; background: #fff; }
.search-1 .txt { width: 100%; padding: .5rem 1rem; background: #fff; line-height: 1.5; font-size: .8rem; }
.search-1 .txt::-webkit-input-placeholder,
.search-1 .txt:-ms-input-placeholder,
.search-1 .txt::placeholder { font-size: .8rem; color: #999; }
.search-1 .btn { width: 2.8rem; flex-shrink: 0; background: #fff; border-left: 1px solid #e9e9e9; }
.search-1 .btn img { width: 1rem; height: 1rem; margin: 0 auto; }
.search-1 .txt:focus,
.search-1 .btn:focus { outline: none; }


/* ページ -----------------------------------------------------*/

/*サイトマップ*/
.sitemap-box .menu { width: auto; margin: 0 auto; padding-left:3%; }
.sitemap-box .menu li { margin-bottom: 16px; font-weight: bold; }
.sitemap-box .menu li a { position: relative; display: block; padding-left: 30px; text-decoration: none; color: #494645; font-size: 16px; font-weight: 600; transition: all .4s ease-out; outline: none; }
.sitemap-box .menu li a::before { content: ''; position: absolute; top: 5px; bottom: 0; left: 0; margin: auto; display: inline-block; width: 7px; height: 7px; border-top: solid 2px #47A2B4; border-right: solid 2px #47A2B4; transform: translateY(-3px) rotate(45deg); }
.sitemap-box .sub-menu { margin: 20px 0 10px; padding-left: 30px; }
.sitemap-box .sub-menu li a { padding-left: 20px; font-size: 14px; }
.sitemap-box .sub-menu li a::before { top: 0; width: 7px; height: 2px; background: #eee; border: none; transform: none; }

/*lightbox[js]*/
/*.gallery .gallery-item { position: relative; margin-left: 2%;transition: all .2s; }
.gallery .gallery-item:nth-child(3n+1) {margin-left: 0;}
.gallery .gallery-item:hover { opacity: .8; }
.gallery .gallery-item img:hover { opacity: 1; }
.gallery .gallery-titl { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; padding: 10px; background: rgba(0,0,0,0.8); color: #ffffff; }
*/

.e_learning_thumb { cursor:pointer; }
.scroll-x-wrap { width:100%; overflow:hidden; }
.scroll-x { overflow-x:auto; width:100%; -webkit-overflow-scrolling:touch; }
.font-1 { background-image:url(../../common/images/heading-1.png); }
.font-2 { background-image:url(../../common/images/heading-2.png); }
.font-1 { font-size:38px; font-weight:bold; padding:0 0 124px 120px; background-size: 60%; background-repeat: no-repeat; background-position:left bottom; line-height: 1.5; }
.font-2 { font-size:38px; font-weight:bold; padding:0 0 60px 0; background-size: 100%; background-repeat: no-repeat; background-position:center bottom; text-align: center; line-height: 1.5; }
.font-3 { color:red; white-space: nowrap; }
.table-1 th.font-4,
.table-1 td.font-4,
.font-4 { font-size:13px; }
.font-5 { font-size:13px; }
.top img.img-1,.top video.img-1 { width: 600px; }
.top img.img-2 { width: 800px; }
.b-1 { border:30px solid #5FA0B2; }
.b-4 { border:1px solid #5FA0B2; }
.heading-2 { color:#FFFFFF; font-weight: bold; background-color:#5FA0B2; }
.heading-3 { color:#FFFFFF; font-weight: bold; background-color:#5FA0B2; display: inline-block; max-width:332px; text-align:center; width:100%; border-radius: 30px; font-size:24px; }
.heading-4 { color:#494645; font-weight: bold; background-color:#71D0C2; display: inline-block; max-width:332px; text-align:center; width:100%; border-radius: 30px; font-size:24px; }
.heading-5 { font-size: 1.0rem; }
.heading-6 { font-size:26px; text-align:center; background-color:#425998; padding:0 10px; border-radius:30px; color:#FFF; }
.heading-7 { color:#FFFFFF; font-weight: bold; background-color:#5FA0B2; display: inline-block; }
.heading-8 { padding-left:20px; border-left:6px solid #47A2B4; font-size:1.4rem; }
.heading-9 { padding-left:20px; border-left:6px solid #47A2B4; color:#47A2B4; font-size:1rem; }
.heading-10 { font-weight: bold;font-size:30px;text-align:center;color:#df0e5f;line-height: 1.5; }
.heading-11 { padding-left:20px; border-left:6px solid #47A2B4; color:#47A2B4; font-size:1.2rem; }

.top img.plus { width:80px; }
.box-1 {
    padding:60px 0 0 0;
    min-height:400px;
    max-width: none;
    margin-left:0;
    margin-right:0;
}
.box-2 {
    position: absolute;
    z-index: -1;
}
.adjust-1 {
    margin-top:64px;
}
.adjust-2 {
    top:-64px;
}
.adjust-3 {
    margin-top:204px;
}
.adjust-4 {
    top:-204px;
}
.box-img-l {
    right:80%;
}
.box-img-r {
    left:40%;
}
.box-3 {
    font-size:18px;
}
.box-4 {
	background-color: rgba(255,255,255,0.9);
}
.box-5 {
	background-color:#425998;
	padding:40px;
	border-top-right-radius: 40px;
}
.box-6 {
	padding-bottom:20px; margin-bottom:40px;
}
.box-7 {
	border:1px solid #ccc;
	width:100%;
}
.box-8-wrap { margin-bottom:100px; }
.box-8 { margin-bottom:100px; }
.box-8-1 { position: relative; -ms-flex:0 0 90%; flex:0 0 90%; max-width:90%; }
.box-8-1::after { content:''; background:linear-gradient(135deg,#1887cd,#19cbac); width:100%; height:100%; position:absolute; right:-10%; bottom:-22%; z-index:-1; }
.box-8-2 { position:absolute; z-index:1; background-color:rgba(255, 255, 255, 0.9); top:58%; right:-4%; padding:40px; }

.b-2 {
    border:6px solid rgba(95,160,178,0.9);
}
.b-3 {
	border:1px solid #F4F3F3;
}
.header-left { width:100%; }
.box-text-r {
    padding:20px 20px 20px 160px;
}
.box-text-l {
    padding:20px 160px 20px 20px;
}
.pc-menu { 
}
.pc-menu li {
    text-align: center;
    padding:4px 0;
}
.pc-menu li:first-child a {
    border-left:1px solid #7b7b7b;
}
.pc-menu a {
    border-right:1px solid #7b7b7b;
    display: block;
    padding:2px 19px;
    color:#333;
}
.pc-menu a:hover {
    color:#47A2B4;
}
.pc-menu span {
    display: block;
    line-height: 1.2;
    margin-bottom:6px;
}
.pc-menu .label-en {
    font-size: 10px;
}
.bg-1 {
	background-image:url(../images/back_haikei_g.png);
}
.table-1 {
	width:100%;
}
.table-1 th,
.table-1 td {
	border:1px solid #000;
	padding:0px 4px;
	font-size:15px;
	white-space: nowrap;
}
.table-1 th {
	text-align:center;
	font-weight: normal;
}
.table-1 thead th {
	background-color: #e40e7f;
	color:#FFF;
	font-size:24px;
	text-align: left;
	font-weight: bold;
}
.nowrap { white-space: nowrap; }
.w-1 { width:2.7em; }
.bg-2 {
	background-color: #def2fc;
}
.bg-3 {
	background-color: #fbe6ef;
}
.bg-4 {
	background-color: #e9f3e2;
}
.bg-5 {
	background-color: #feffda;
}
.bg-6 {
	background-color: #5FA0B2;
	color:white;
	text-align: center;
}
.new {
	font-weight: bold;
	color:red;
}
.publish-button,
.play-video {
	color:#47A2B4;
	border:2px solid #47A2B4;
	display: block;
	text-align:center;
	padding:1em;
	font-size:1.2rem;

}
.teature-image {

}
.main_col {
	-ms-flex: 0 0 72%;
	flex: 0 0 72%;
	max-width: 72%;
}
.sidebar {
	-ms-flex: 0 0 28%;
	flex: 0 0 28%;
	max-width: 28%;
}
.teature-name { font-size:18px; font-weight:bold; }
.teature-name-thumb { font-size:13px; color:#807f7f; }
.bb-1 { border-bottom:1px solid #98ebe2; padding-bottom:20px; margin-bottom:40px; }
.bb-2 { border-bottom:1px solid #98ebe2; padding-bottom:20px; margin-bottom:40px; }
.bb-3 { padding-bottom:20px; }
.bb-4 { border-bottom: 3px solid #5FA0B2; }
.p_1 { padding:0 10px; }
.thumbnail-1 { border-radius:12px; object-fit: cover; object-position: center; width:284px; height:160px; display: block; margin-right: auto; margin-left: auto; }
a.color-1,
.block-1 { color:#333; width:284px; }
.block-1:hover { opacity:0.8; }
.label { width:100px; text-align:center; border:1px solid #47A2B4; display: inline-block; color:#47A2B4; font-size:14px; }
.video-wrap { position: relative; }
.enquete-button { position: absolute; display: none; width:168px; height:44px; left:calc(50% - 84px); top:calc(50% - 22px); background-color:#47A2B4; color:#FFF; padding:6px 12px; border-radius:20px; }
.wp-block-video { width:100%; }

.image { max-width:800px; width:100%; }
.text { max-width:100%; margin-left:-50%; position:absolute; bottom:30%; right:50%; text-align:center; max-width:480px; margin-right:-240px; background-color:rgba(0,0,0,0.5); color:#FFFFFF; border-radius:6px; padding: 0 6px; }
.sp { display:none; }
#searchform { margin-bottom:30px; }
#s { padding:10px; border-left:1px solid #CCC; border-top:1px solid #CCC; border-bottom:1px solid #CCC; width:80%; display:inline-block; float:left; height:54px; }
button.btn { width:20%; display:inline-block; height: 54px; border-right:1px solid #CCC; border-top:1px solid #CCC; border-bottom:1px solid #CCC; }
.table-2 { width:100%; }
.table-2 th { width:4em; }
.table-2 th, 
.table-2 td { padding:20px 10px; border-bottom:1px solid #47A2B4; font-weight: normal; vertical-align: top; }
.table-5,
.table-3 { width:100%; }
.table-5 th,
.table-5 td,
.table-3 th,
.table-3 td { padding:10px; border:1px solid #CCC; font-weight:normal; vertical-align: top; }
.table-5 th { background-color:#47A2B4; color:#FFF; border:1px solid #FFF; text-align: center; width:4em; }
.table-3 th { background-color:#47A2B4; color:#FFF; border:1px solid #FFF; width:8em; }
table.table-2 td.noborder { border-bottom:none; padding:30px 0 0 0; }
.table-4 { width:100%; max-width:100%; }
.table-4 th,
.table-4 td { padding:10px; font-weight:normal; word-break: break-all; }
.table-4 th { color:#47A2B4; text-align:center; vertical-align: top; }
.table-4 td { vertical-align: middle; }
.link-1::before { content: "\f35d"; font-family: 'Font Awesome 5 Free'; font-weight: 600; margin-right:10px; }
.list-1 li::before { content: "\f111"; font-family: 'Font Awesome 5 Free'; font-weight: 400; margin-right:10px; font-size:6px; vertical-align: middle; }
.list-2 li::before { content: "\f0c8"; font-family: 'Font Awesome 5 Free'; font-weight: 400; margin-right:10px; font-size:10px; vertical-align: text-bottom; }
.indent-1 { padding-left:1em; text-indent:-1em; }
.font-6 { font-size:30px; font-weight: bold; line-height:1.5; }
.font-8,
.font-7 { font-size:22px; font-weight: bold; line-height:1.5; }
.font-10 { font-size:22px; font-weight: bold; line-height:1.5; }
.font-11 { font-size:17px; line-height: 1.5; } 

.font-ss { font-size:14px; line-height:1.5; }
.sidebar img { width:100%; }
input#user_pass,
input#user_login { width: auto; }
input#user_login,
input#user_pass { border:1px solid #CCC; }
.mokuji a { color:#5B5B5B; }
.mokuji a:hover { color:#47A2B4; text-decoration:underline; }
.mokuji li { border-bottom:1px solid #CCC; text-indent:-1em; padding-left:1em; }

textarea { resize: none; padding:10px; line-height: 1.5; }
label { cursor: pointer; }
.wpcf7-submit { background-color:#47A2B4; color:#FFF; width:200px; text-align: center; display: inline-block; }
.modal { background-color:rgba(0,0,0,0.5); width: 100%; height: 100%; position:fixed; display: flex; justify-content: center; align-items: center; top:0; left:0; }
.modal_inner { background-color:#FFF; padding:40px; height: 100%; overflow: scroll; max-height: 90%; position: relative; }
.modal::before { content: "\f057"; font-family: 'Font Awesome 5 Free'; color:#FFF; position: absolute; right: 0; top:0; font-size:40px; z-index:2; cursor: pointer; }
.your-date { font-size:24px; font-weight:bold; }
.block-list .wpcf7-list-item { display: block; }
.video-panel > a { border-radius:10px; border:1px solid #f0f0f0; display: block; height: 100%; width: 100%; box-shadow: 0px 4px 6px #CCC; }
.video-panel .titl { padding:10px; }
.video-panel img { border-top-left-radius: 10px; border-top-right-radius: 10px; }
.fixed-h { height: 200px; width: 100%; overflow: hidden; }
.fixed-h img { object-fit: cover; width: 100%; height: 100%; }

.font-l { font-size:30px; }
.mx-auto { margin-left:auto; margin-right:auto; }

.container-1 { max-width:460px; width:100%; margin-left:auto; margin-right: auto; }
input.container-2 { max-width:400px; width:100%; }
input.container-3 { max-width:100px; width:100%; }
.youtube iframe { min-height: 434px; }
.youtube-01 { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; }

.inline-block { display: inline-block; }
.width-01 {
	max-width: 150px;
	width: 100%;
}

/* iphone5-5s-se */
@media screen and (max-width:320px) {

/*body { font-size: 15px; }*/

}


@media screen and (max-width: 575px) {
	.header { position: fixed; height:60px; }
	.main { padding-top:60px; }
}


/* pc-ipad */
@media screen and (max-width: 575px) {
	.font-6 { font-size:22px; }
	.font-7 { font-size:19px; }
	.font-8 { font-size:16px; }
	
	body { font-size: 14px; }
	html, body,
	.header, .main, .footer { min-width: auto!important; }
	.header { /*position:absolute;*/ background-color:transparent; }

	.main_col,
	.sidebar { 
		position: relative;
		width: 100%;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	
	}

/* 初回ホップアップ -----------------------------------------------------*/
	.loader .loader-inner img { top: -4.6em; left: -1.6em; width: 70vw; }


/* 初回ホップアップ -----------------------------------------------------*/
	.fahopu-box { padding: 50px 0; border-radius: 16px; }
	.fahopu-box.container { width: 88%; margin: auto; }
	.fahopu-box .titl { margin-bottom: 1rem; font-size: 1.2em; }
	.fahopu-box .btn + .btn { margin-left: 0; margin-top: .6rem; }
	.fahopu-box button { width: 50px; height: 60px; }
	.fahopu-box button > span { left: 10px; }
	.fahopu-box button > span:nth-child(1) { top: 20px; width: 25px; }
	.fahopu-box button > span:nth-child(2) { top: 28px; width: 18px; }
	.fahopu-box button > span:nth-child(3) { top: 36px; width: 13px; }
	.fahopu-box button > span:nth-child(1) { width: 25px; -webkit-transform: translate(3px,10px) rotate(45deg); transform: translate(3px,10px) rotate(45deg); }
	.fahopu-box button > span:nth-child(2) { opacity: 0; -webkit-transform: translateX(-10px); transform: translateX(-10px); }
	.fahopu-box button > span:nth-child(3) { width: 25px; -webkit-transform: translate(3px,-6px) rotate(-45deg); transform: translate(3px,-6px) rotate(-45deg); }
	.fahopu-box-inner { width: 86%; margin: 0 auto; }


/* ヘッダー -----------------------------------------------------*/

	.header-login,
	.header-nav { display: none; }
	.header-logo.fixed { position: fixed; }
	.header-logo { left: 50px; height: 60px; padding: 0 20px 0 15px; position: absolute; width:100%; }
	.header-logo img { width: 200px; }
    .global-nav { display: block; }
	.global-nav .menu {  }
	.global-nav .menu li { line-height: 1.4; }
	.global-nav .menu span {  }
	.global-nav .menu .label-ja { font-size: 18px; }
	.global-nav .menu .label-en { font-size: 10px; margin-bottom: 0; }
	.global-nav .sub-menu { padding-left: 45px; margin-top: 12px; position: relative; }
	.global-nav .sub-menu::before { content: ''; position: absolute; top: 8px; left: 0; width: 32px; height: 1px; background: #ffffff; }
	.global-nav .sub-menu > li { margin-bottom: 10px; }
	.global-nav-inner { padding: 60px 40px 20px 50px; }
	.global-nav-btn { height: 60px; width: 50px; display: inline-block; position: absolute; }
	.global-nav-btn > span { left: 12px; }
	.global-nav-btn > span:nth-child(1) { top: 20px; width: 25px; }
	.global-nav-btn > span:nth-child(2) { top: 28px; width: 18px; }
	.global-nav-btn > span:nth-child(3) { top: 36px; width: 13px; }
	.global-nav-btn[aria-expanded="false"]:hover > span:nth-child(1) { animation: 500ms ease-in-out -500ms infinite alternate both gnav-btn-hover-sp; }
	.global-nav-btn[aria-expanded="false"]:hover > span:nth-child(2) { animation: 500ms ease-in-out -250ms infinite alternate both gnav-btn-hover-sp; }
	.global-nav-btn[aria-expanded="false"]:hover > span:nth-child(3) { animation: 500ms ease-in-out 0ms infinite alternate both gnav-btn-hover-sp; }
	.global-nav-btn[aria-expanded="true"] > span:nth-child(1) { width: 25px; -webkit-transform: translate(3px,10px) rotate(45deg); transform: translate(3px,10px) rotate(45deg); }
	.global-nav-btn[aria-expanded="true"] > span:nth-child(2) { opacity: 0; -webkit-transform: translateX(-10px); transform: translateX(-10px); }
	.global-nav-btn[aria-expanded="true"] > span:nth-child(3) { width: 25px; -webkit-transform: translate(3px,-6px) rotate(-45deg); transform: translate(3px,-6px) rotate(-45deg); }


/* メイン -----------------------------------------------------*/

	.mainvisual .container { height: 100%; margin: 0; padding: 0; }
	.main-catch { margin: 0; left: 0; }
	.main-catch h1 { padding: 10.66667vw; }
	.main-catch .titl { font-size: 7.26667vw; line-height: 1.6; }
	.main-catch .titl span { font-size: 4.26667vw; margin-left: .2em; }
	.main-catch .subtitl { font-size: 2.66667vw; }
	.main-copyright { display: none; }


/* トップページ -----------------------------------------------------*/
	.top::before { width: 20px; }

	.top-news { padding-top: 100px; }
	.top-news .news-right { padding: 0; border: 0; }
	.top-news .news-head { margin-bottom: .3em; padding-bottom: .3em; border-bottom: 1px solid #ffffff; }
	.top-news .news-head .label-en { font-size: 1.1rem; font-weight: 300; }
	.top-news .news-box { /*width: calc(100% - 20px);*/ padding: .8em 1.8em 1.2em; }
	.top-news .news-cat { position: absolute; top: -40px; right: 0; margin: 0; }
	.top-news .news-list li:not(:first-child) { margin-top: .2em; }
	.top-news .news-list li .titl { margin-top: .1em; display: block; }
	.top-news .news-list li .date { width: 5em; }
	.top-news .news-list li .cate { width: 10em; }
	.top-news .news-list li .cate span { padding: 0.15em .8em .2em; line-height: 1; }
	.top-news .news-list li > a { overflow: initial; text-overflow: initial; white-space: initial; }
	.top-news .news-btn { margin-top: .8em; padding-top: .6em; border-top: 1px solid #ffffff; text-align: center; }

	.top-bnr .slick { padding: 8em 2.2em 3em; }
	.top-bnr .slick::before { left: 75px; height: 85px; }
	.top-bnr .slick-arrow { top: calc(100px - 60px); padding: 18px 0; }
	.top-bnr .slick-arrow::after { width: 30px; height: 5px; }
	.top-bnr .slick-prev { left: 35px; }
	.top-bnr .slick-next { left: 85px; }
	.top-bnr .slick-dots { display: block!important; margin: 0; position: absolute; top: 60px; right: 15px; }

	.top-video .video-cat { top: 116px; left: auto; right: 15px; width: calc(100% - 50px); }
	.top-video .video-cat ul { justify-content: flex-end; }
	.top-video .video-cat li + li { margin-left: .8rem; }
	.top-video .slick { padding: 12em 2.2em 3em; }
	.top-video .slick::before { left: 75px; height: 85px; }
	.top-video .slick-arrow { top: calc(100px - 60px); padding: 18px 0; }
	.top-video .slick-arrow::after { width: 30px; height: 5px; }
	.top-video .slick-prev { left: 35px; }
	.top-video .slick-next { left: 85px; }
	.top-video .slick-dots { display: block!important; margin: 0; position: absolute; top: 60px; right: 15px; }
	.top-video .slick-slide .info { padding: 1em .3em 0; }
	.top-video .slick-slide .titl { font-size: 1rem; }

	.top-join { margin-top: 5.6em; }
	.top-join .join-img { margin-right: 0; }
	.top-join .join-cat { top: -8.26667vw; left: calc(20px + 2.03125vw); width: 24.8vw; }
	.top-join .join-txt { margin: 0 0 0 20px; padding: 20px 15px 46px 30px; width: auto; }

	.top-greeting { margin-top: 0; }
	.top-greeting .greeting-box { margin-left: 20px; }
	.top-greeting .greeting-img { margin-left: 40px; margin-bottom: 20px; }
	.top-greeting .greeting-txt { margin-top: 0; padding: 0; width: auto; padding-left: 30px; padding-right: 15px;  }

	.top-business { margin-top: 5.6em; }
	.top-business .business-bg { top: 18.13333vw; height: 37.33333vw; }
	.top-business .business-img { margin: 0 0 0 calc(10.66667vw + 20px); }
	.top-business .business-cat { top: -12.8vw; left: calc(3.73333vw + 20px); width: 24.8vw; }
	.top-business .business-txt { margin: 0 0 0 20px; width: auto; padding: 30px 15px 46px 30px; }

	.top-gikoushi .gikoushi-img { margin: 35px 8vw 20px calc(8vw + 20px); }
	.top-gikoushi .gikoushi-cat { top: -12.46667vw; left: auto; right: 11.73333vw; width: 24.8vw; }
	.top-gikoushi .gikoushi-txt { margin: 0 0 0 20px; padding: 0 20px 46px 30px; width: auto; }

	.top-contact {}
	.top-contact .heading-1 { margin-bottom: 1em; }
	.top-contact .heading-1 .label-ja { font-size: 1.2rem; }
	.top-contact .heading-1 .label-en { font-size: .6rem; }
	.top-contact .contact-img {  }
	.top-contact .contact-img img { width: auto; height: 100%; }
	.top-contact .contact-cat { font-size: 6.13333vw; }
	.top-contact .contact-txt { margin-left: 30px; margin-right: 30px; padding: 60px 0 170px; font-size: .9em; letter-spacing: .02em; }
	.top-contact .contact-add::before { margin: 20px 0 25px; width: 32vw; }
	.top-contact .contact-btn { border-left-width: 20px; }
	.top-contact .contact-btn-inner { margin-left: 12vw; }
	.top-contact .contact-btn-inner a { top: -84px; margin-bottom: calc(-84px + 12vw - 20px); padding: 25px 60px 25px 40px; }
	.top-contact .contact-btn-inner a::before { right: 20px; }
	.top-contact .contact-summary { margin-bottom: 0; }

/* フッター -----------------------------------------------------*/
	.footer { padding: 45px 20px 20px; }
	.footer-top { margin-bottom: 2.5em; }
	.footer-logo { margin-bottom: 30px; padding-right: 50px; border: 0; }
	.footer-logo img { width: 100%; }
	.footer-copyright { font-size: .8em; line-height: 1.8; }
	.footer-nav .menu > li > a[target="_blank"]::after { margin-left: 4px; }



/* アーカイブ -----------------------------------------------------*/
.content-bottom .widget-item li span { display: block; }
.content-bottom .widget-item .titl { margin-left: 0; }

.pagination > a,
.pagination > span { border: none; padding: 0; margin-right: 10px; }
.pagination .prev,
.pagination .next { padding: 0 10px; width: 100%; }
.pagination .prev-link,
.pagination .next-link,
.pagination .list-link { width: 100%; }

/* ページ -----------------------------------------------------*/
/*lightbox[js]*/
.gallery .gallery-item { -ms-flex: 0 0 48%; flex: 0 0 48%; max-width: 48%; margin-left: 4%; }
.gallery .gallery-item:nth-child(3n+1) { margin-left: 4%; }
.gallery .gallery-item:nth-child(2n+1) { margin-left: 0; }
.gallery .gallery-titl { padding: 6px; font-size: 14px; }

/* その他 -----------------------------------------------------*/

	.heading-1 {  }
	.heading-1 .label-ja { font-size: 1.6rem; }
	.heading-1 .label-en { font-size: .8rem; }

	.button-1 a { max-width: 240px; padding: 15px; }


.read-btn { min-width: auto; padding: 1.157em 1.8em 1.157em 2em; }
.read-item::before { height: 13.2em; }


/*検索*/
.search-1 .form-search { max-width: none; }
.search-1 .txt { padding: 0.66rem ​1rem; }


    .font-1 { font-size:18px; background-size: 300px; padding:10px 0 50px 60px; }
    .font-2 { font-size:18px; padding:0 0 24px 0; }
    .box-1 { padding:0; margin-top:0; }
    .box-2 { position: static; }
    .top img.img-1,.top video.img-1 { width:100%; }
	.top img.img-2 { width:100%; }
	.b-1 { border:10px solid #5FA0B2; }
    .box-4 { padding: 20px; }
	.button-6 { text-align:left; }
	.heading-6 { text-align:center; }
    .header-left { width:calc(100% - 50px); }
    .pc-menu { display: none; }

	.table-1 thead th {
		font-size:20px;
	}

	.image { max-width:none; width:100%; }
	.text { font-size:16px; max-width:100%; margin-left:0; position:absolute; bottom:30%; right:0; text-align:center; width:100%; margin-right:0; background-color:rgba(0,0,0,0.5); color:#FFFFFF; border-radius:6px; }
	.sp { display:block; }
    .table-5 th,
	.table-5 td,
    .table-4 th,
	.table-4 td,
    .table-3 th,
    .table-3 td { padding:10px 4px; }

	.box-8-wrap { margin-bottom:0px; }
	.box-8 { margin-bottom:148px; }
	.box-8-1 { -ms-flex:0 0 100%; flex:0 0 100%; max-width:100%; }
	.box-8-1::after { right:-5%; bottom:-100%; width:110%; bottom:-128%; height:150%; }
	.box-8-2 { right:0; padding:10px 6px; width:94%; right:3%; top:86%; }
	
}
