@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
.pagetop {position: fixed; bottom: 40px; right: 40px; width: 60px; z-index:400;}
@media screen and (max-width: 896px) {
	.pagetop {position: fixed; bottom: 5px; right: 5px; width: 50px; z-index:400;}
}

.tGothic {font-family: toppan-bunkyu-midashi-go-std,sans-serif; font-weight: 900; font-style: normal;}
.tGothicR {font-family: toppan-bunkyu-gothic-pr6n, serif; font-weight: 400; font-style: normal;}
/* 追加フォントarchivo */
.archivo{font-family: "Archivo", sans-serif; font-weight:900;}
/* フッター見出し変更用css */
footer .footerindex{font-family:"Archivo", sans-serif; font-weight:900; font-style: normal; font-size:32px; line-height:1; color:#FFF;}
@media screen and (max-width: 896px) {
  .tGothic,.tGothicR {font-family: "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;}
  .tGothic {font-weight: 700;}
  .tGothicR {font-weight: 400;}
}

#splash {position: fixed; width: 100%; height: 100%; background: url("../img/cmn/bg01.jpg") no-repeat center; background-size: cover;	z-index: 10;}
/*body {background: url("../img/cmn/bg01.jpg") no-repeat center; background-size: cover;}*/
body.appear{background:url("../img/cmn/bg01.jpg") no-repeat center;}
body.appear #wrapper{animation-name:PageAnimeAppear; animation-duration:.1s; animation-delay:0.2s; animation-fill-mode:forwards; opacity: 0;}
.splashbg{position: fixed; top: 0;right:0;bottom:0;left: 0;	border-width: 0px;border-style:solid; border-color: #50B4F6;animation-duration:.2s;animation-fill-mode:forwards;}
#topspl {position: fixed; width: 100%; height: 100%; background: #50B4F6;	z-index: 10;}
#topspl .iti {width: 100px; position: absolute; top: 50%; left: 0; right: 0; margin: 0 auto; transform: translateY(-50%);}
body.top {background: #FFF;}
body.top #wrapper{/*animation-name:PageAnimeAppear;*/ animation-duration: 2s; animation-delay: .2s; animation-fill-mode:forwards; opacity: 0;}
.topsplbg{position: fixed; top: 0; right:0; bottom:0; left: 0;	border-width: 0px; /*border-style:solid; border-color: #50B4F6;*/ animation-duration: .5s; animation-fill-mode:forwards;}
#wrapper.bgani {opacity: 0;}
body.top #wrapper {opacity: 1;}
@media screen and (max-width: 896px) {
  #topspl .iti {width: 65px;}
}
@keyframes backBoxAnime{
	99.9% {z-index: 2;border-width: 0px;}
  100%{z-index: -1; border-width: 0px;}
}
@keyframes PageAnimeAppear{
	0% {opacity: 0;}
	100% {opacity: 1;}
}

.bgWH {background-color: #FFF;}
.bgBL {background-color: #0F1419;}
.bgGR {background-color: #157437;}
.bgGRY {background-color: #EEEEEE;}
.txtWH {color: #FFF;}
.txtBL {color: #1B2B78;}
.txtGR {color: #157437;}
.txtLBL {color: #B6C2CD;}

.ratioBox {position: relative;width: 100%;height: auto;}
.ratio1-1:before {content: "";display: block;padding-top: 100%; /* 1:1 */}
.ratio2-1:before {content: "";display: block;padding-top: 50%; /* 2:1 */}
.ratio3-2:before {content: "";display: block;padding-top: 66%; /* 3:2 */}
.ratio4-3:before {content: "";display: block;padding-top: 75%; /* 4:3 */}
.ratioInner {position: absolute;top: 0; left: 0;width: 100%;height: 100%;}

.spOnly {display: none;}
.pcOnly {display: block;}

#wrapper {width: 100%; height: 100%; overflow-x: hidden;}
#wrapper.noover {overflow-x: inherit;}
header {padding: 0 6.25% 0 10%; position: fixed; top: 0; transition-delay: 0ms; transition-duration: 400ms; width: 100%; z-index: 12; max-width: 100%; background: #FFF;}
header .logo {width: 69px;}
#hamburger {display: none;}
.nav {margin-left: 65px;}
.child_menu {width: 100%;}
.menu:hover .child_menu {visibility: visible;}
#hanburger {display: none;}
.menu_button {width: 54px; height: 47px; position: fixed; top: 0; right: 0; z-index: 15; display: block; background: #50B4F6;}
#hanburger:checked ~ .menu_button {top: 0;}
#hanburger:checked ~ .span2 {display: none;}
#hanburger:checked ~ .span1 {width: 30px; transform: rotate(45deg); top: 22px; right: 13px;}
#hanburger:checked ~ .span3 {width: 30px; transform: rotate(-45deg); top: 22px; right: 13px;}
.global_menu {visibility: hidden; width: 100%; height: 100%; position: fixed; top: 0; left: 0; overflow-y: scroll;}
#hanburger:checked ~ .global_menu {visibility: visible;}
.global_menu li {margin: 0 35px 0 0;}
.global_menu li.navpc {margin: 0; padding: 0 35px 0 0;}
.global_menu li:nth-child(7) {margin: 0 35px 0 0;}
.global_menu a {display: block; width: 100%;}
.menu .pd {display: none;}
.menu:last-child {margin-right: 0px;}
.child_menu > li > a {padding: 10px 20px; text-align: left;}
footer .child_menu > li > a {padding: 0;}
.global_menu li.icon {margin: 0 15px 0 0;}
.global_menu li.icon img {vertical-align: middle;}
.global_menu li.icon i {font-size: 24px;}
.global_menu li.twitter {width: 18px;}
.global_menu li.youtube {width: 27px;}
.global_menu li.note {width: 45px; margin: 0 0 0 15px}
#hanburger,.spOnly {display: none;}
@media screen and (max-width: 1310px) {
  header {padding: 0 5% 0 5%;}
  .global_menu li {margin-right: 30px;}
  .global_menu li.navpc {margin: 0; padding: 0 30px;}
  .global_menu li:nth-child(7) {margin-right: 35px;}
}
@media screen and (max-width: 1150px) {
  header {padding: 0 20px 0 20px;}
  header .logo {width: 59px;}
  .global_menu li {margin-right: 20px;}
  .global_menu li.navpc {margin: 0; padding: 0 20px;}
  .global_menu li:nth-child(7) {margin-right: 10px;}
  .global_menu li.icon {margin: 0 5px;}
  .global_menu li.note {margin: 0 0 0 5px}
}
@media screen and (max-width: 930px) {
  .global_menu li {margin-right: 15px;}
  .global_menu li.navpc {margin: 0; padding: 0 15px;}
}
@media screen and (min-width: 896px) {
  .menu_button {display: none;}
  .global_menu {position: inherit; padding: 0; color: #fff; visibility: visible; overflow-y: visible; height: auto; width: auto;}
  .global_menu li a {color: #5D5D5D; font-size: 18px; padding: 22.5px 0;}
  .global_menu li a:hover {color: #55CFF5;}
  .global_menu li:nth-child(9) a:hover {color: #1d9bf0;}
  .global_menu li:nth-child(10) a:hover {color: rgb(255, 0, 0);}
  .global_menu li.icon a:hover .on,.global_menu li.icon a .off {display: block;}
  .global_menu li.icon a:hover .off,.global_menu li.icon a .on {display: none; opacity: 0.7;}
  .hamburger .material-icons {display: none; cursor: pointer;}
  .child_menu {display: none;}
  header .child_menu.pc {max-width: 1365px; width: 100%; /*height: 100vh;*/ position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; padding: 0; /*background: rgba(0,0,0,.5);*/ visibility: hidden; opacity: 0; transition: .5s top, .5s opacity; z-index: 5; display: block;}
  .menu.navpc:hover {cursor: pointer;}
  header .menu.navpc:hover .child_menu.pc {visibility: visible; top: 75px; opacity: 1;}
  .mainbg.hover {position: relative; transition: .3s;}
  .mainbg.hover::before {position: absolute; content: ''; width: 100%; height: 100vh; background: rgba(0,0,0,.5); top: 0; z-index: 3;}
  .child_menu.pc .childInner {background: #FFF; border-top: 2px solid #858585; display: flex; flex-wrap: wrap; justify-content: center; max-width: 1365px; width: 100%; margin: 0 auto;}
  .childInner li {color: #FFF; padding: 15px 7px; text-align: center; width: 20%; margin: 0;}
  .childInner li a {font-size: 20px; color: #858585; padding: 0;}
  footer .child_menu {display: block;}
  .childInner li.catTtl {font-size: 20px; background: url("../img/cmn/nav01.jpg") no-repeat; background-size: cover; text-align: center; width: 16%; margin: 0 2% 0 0; display: flex; align-items: center; justify-content: center;}
  .childInner li span {display: block; margin-bottom: 5px;}
  .childInner li:last-child {margin-right: 2%;}
  /* Missionのみフォント変更CSS */
  .childInner .fontchange{font-family: "Archivo", sans-serif;}
}
@media screen and (min-width: 1100px) {
  .childInner li {width: 18%;}
  .childInner li a {font-size: 23px;}
  .childInner li:last-child {margin-right: 4%;}
  .childInner li.catTtl {font-size: 23px; margin: 0 4% 0 0; width: 20%;}
    /* Missionのみフォント変更CSS */
  .childInner .fontchange{font-family: "Archivo", sans-serif;}
  .childInner .fontchange a{font-size:26px;}
}
@media screen and (max-width: 896px) {
  #wrapper.noover {overflow-x: hidden;}
  header {background: #FFF; height: 47px;}
  header .logo {width: 38px; position: fixed; top: 12px; left: 15px;}
  .global_menu .logo {position: relative; margin-bottom: 100px;}
  .pcOnly {display: none;}
  .spOnly {display: block;}
  span.span1,span.span2,span.span3 {width: 30px; height: 2px; background-color: #FFF; right: 12px; transition: .3s; z-index: 100; position: fixed;}
  .span1 {top: 13px;}
  .span2 {top: 23px;}
  .span3 {top: 33px;}
  .menu_wrap {display: none;}
  #hanburger:checked ~ * .menu_wrap {display: block; opacity: 1; min-height: 100vh; background: #6A7A8B; /*position: fixed;*/ top: 0; z-index: 5;}
  #hanburger:checked ~ * .menu {max-height: inherit; overflow-y: visible; padding: 0 30px 30px; margin-left: 0; position: relative;}
  #hanburger:checked ~ * .child_menu,#fnavi .child_menu {max-height: 0; overflow-y: hidden; visibility: hidden; text-align: left;}
  .menu,.child_menu {display: block;}
  .global_menu {z-index: 10;}
  .global_menu li,.global_menu li:nth-child(7) {margin-right: 0;}
  .child_menu {padding-top: 10px;}
  .child_menu > li > a,.child_menu > li > ul > li a,.child_menu.pc .childInner li a {padding: 2px 0; color: #FFF!important; text-align: left; font-size: 17px; font-family: 'Noto Sans JP', sans-serif; font-weight: 400;}
  .child_menu.pc .childInner .catTtl {display: none;}
  #fnavi .child_menu > li > a,#fnavi  .child_menu > li > ul > li a {padding: 0; display: block;}
  .child_menu > li > ul > li a {padding: 15px 20px 15px 35px; position: relative;}
  .child_menu > li > ul > li:last-child a {border-bottom: 1px solid #CCC;}
  .child_menu > li > ul > li a::before {border-top: solid 1px #222; content: ''; left: 20px; position: absolute; top: 50%; width: 10px;}
  .menu .pd {display: inline-block; width: 100%; position: absolute; top: 0; left: 0; height: 100%;}
  .menu .child_menu {position: relative; opacity: 1; top: 0; margin-left: auto; left: auto; width: auto;}
  .child_menu li {display: block;}
  .menu > label:hover {cursor: pointer; cursor: hand;}
  .menu input[type="checkbox"]:checked ~ .child_menu {max-height: inherit!important; overflow-y: visible; visibility: visible!important;}
  .pd::before {position: absolute; content: ''; width: 14px; height: 14px; border-top: 2px solid #FFF; border-right: 2px solid #FFF; transform: rotate(-225deg); top: 4px; right: 40px;}
  footer .pd::before {border-top: 2px solid #FFF; border-right: 2px solid #FFF;}
  .menu input[type="checkbox"]:checked ~ * .pd::before {transform: rotate(-45deg); top: 10px;}
  /* .global_menu li:nth-child(2) .spOnly,.fnavi01 > ul:first-child > li img {width: 106px;}
  .global_menu li:nth-child(3) .spOnly,.fnavi01 > ul:last-child > li img {width: 92.4px;}
  .global_menu li:nth-child(4) .spOnly,.fnavi02 > ul:first-child > li img {width: 98.5px;}
  .global_menu li:nth-child(5) .spOnly,.fnavi02 > ul:last-child > li img {width: 87.5px;}
  .global_menu li:nth-child(6) .spOnly,.fnavi03 > ul:first-child > li img {width: 85px;} */
/* 期間限定のものなので、あとで消します */
  .fnavi03 > ul:first-child > li img.limited {width: 62px!important;}
  .fnavi03.limited > ul:last-child > li img {width: 133px!important;}
/* //期間限定のものなので、あとで消します */
  /* .global_menu li:nth-child(7) .spOnly,.fnavi03 > ul:last-child > li img {width: 62px;}
  .global_menu li:nth-child(8) .spOnly,.fnavi03 > ul:last-child > li img {width: 133px;} */
  .global_menu li.icon {margin: 0 7px 0 0; display: inline-block; width: 45px; height: 45px; background: #FFF; border-radius: 50%; vertical-align: middle;}
  .global_menu li:nth-child(9) {margin-left: 30px;}
  .global_menu li.icon i {font-size: 26px;}
  .global_menu li.icon a {display: flex; align-items: center; justify-content: center; margin: 0; width: auto; line-height: inherit; color: #FFF;}
  .global_menu li.twitter a span {width: 18px; display: block; margin-top: 9px;}
  .global_menu li.youtube a span {width: 27px; display: block; margin-top: 10px;}
  .global_menu li.note a span {width: 32px; margin-top: 9px; display: block;}
  .global_menu li.note a span.off,.global_menu li.twitter a span.off,.global_menu li.youtube a span.off {display: none;}
  .global_menu li.me a span {width: 34px; margin-top: 5px; display: block;}
  .global_menu > ul > li:last-child {display: block; margin-top: 70px;}
  .global_menu > ul > li:last-child > ul {width: 100%; padding-bottom: 20px;}
  .global_menu > ul > li:last-child > ul > li {margin: 0 10px; display: inline-block; font-family: 'Noto Sans JP', sans-serif; font-weight: 400;}
  .global_menu > ul > li:last-child > ul> li > a {font-size: 12px; color: #FFF;}
  /* フッター見出し変更用css */
  footer .footerindex{font-family:"Archivo", sans-serif; font-weight:900; font-size:22px; line-height:1; color:#FFF;} 
}


footer {padding: 100px 0 45px; background: #6A7A8B; color: #FFF; position: relative;}
footer .inner {width: calc(100% - 60px); max-width: 1500px; margin: 0 auto;}
footer .logo {width: 138px; margin: 0 60px;}
footer #fnavi .fnavi01 > ul {margin: 0 130px 0 0;}
footer #fnavi .fnavi01 > ul:last-child {margin: 0 90px 0 0;}
footer #fnavi ul > li > ul {margin-top: 25px;}
footer #fnavi ul > li > ul > li {margin: 0 0 10px; font-size: 20px;}
footer #fnavi ul > li > ul > li:last-child {margin: 0;}
footer #fnavi ul > li > ul > li a {color: #FFF;}
footer #fnavi ul > li > ul > li a:hover,footer .flink li a:hover {color: #55CFF5;}
footer .fnavi02 > ul:first-child {margin: 0 130px 85px 0;}
footer .fnavi03 > ul:first-child {margin: 0 0 125px;}
footer .sns {margin-bottom: 80px;}
footer .sns li {border-radius: 28px; width: 56px; height: 56px; margin: 0 10px 0 0; display: flex; align-content: center; justify-content: center; background: #FFF;}
footer .sns li,footer .sns li i {font-size: 30px;}
footer .sns li a {display: flex; align-items: center; justify-content: center; margin: 0; width: auto; line-height: inherit; color: #6A7A8B;}
footer .sns li:first-child a:hover i {color: #1d9bf0; margin: 0 auto;}
footer .sns li:nth-child(2) a:hover i {color: rgb(255, 0, 0);}

footer .sns li:nth-child(1) a span.on{width: 21px; margin-top: -29px;}
footer .sns li:nth-child(1) a span.off{width: 21px; margin-top: -29px;}
/* footer .sns li:nth-child(2) a span.on{width: 32px; margin-top: -29px;}/* YouTube */
/* footer .sns li:nth-child(2) a span.off{width: 32px; margin-top: -29px;}/* YouTube */
/* footer .sns li:nth-child(3) a span.on{width: 40px; margin-top: -41px;}/* note */
/* footer .sns li:nth-child(3) a span.off{width: 40px; margin-top: -41px;}/* note */
footer .sns li:nth-child(2) a span.on{width: 40px; margin-top: -41px;}
footer .sns li:nth-child(2) a span.off{width: 40px; margin-top: -41px;}
footer .sns li:last-child a span.off {width: 42px; margin-top: -10px;}
footer .sns li:last-child a span.on {width: 42px; margin-top: -10px;}
footer .sns li:nth-child(1) a .on,footer .sns li:nth-child(2) a .on,footer .sns li:nth-child(3) a .on,footer .sns li:last-child a .on,footer .sns li:nth-child(3) a:hover .off,footer .sns li:last-child a:hover .off{display: block;}
footer .sns li:nth-child(1) a .on,footer .sns li:nth-child(2) a .on,footer .sns li:nth-child(3) a .on,footer .sns li:last-child a .on{display: none;}
/* ハンバーガーメニューフォント */
.spmenufont{font-family: "Archivo", sans-serif; font-weight:900; color:#fff; font-size:24px; line-height:1;}


footer .flink {width: 100%;}
footer .flink li a {color: #FFF; margin-left: 20px; font-size: 16px;}
.footCopy {position: absolute; bottom: 40px; left: 50%; transform: translateY(-50%);}
.footCopy small {font-size: 16px; line-height: 1.2;}
@media screen and (max-width: 1500px) {
  footer #fnavi .fnavi01 > ul {margin: 0 40px 0 0;}
  footer #fnavi .fnavi01 > ul:last-child {margin: 0 40px 0 0;}
  footer .fnavi02 > ul:first-child {margin: 0 40px 85px 0;}
}
@media screen and (max-width: 1210px) {
  footer .logo {margin: 0 40px 0 0;}
}
@media screen and (max-width: 1130px) {
  footer .logo {margin: 0 40px 30px 0;}
  footer #fnavi {margin-bottom: 20px;}
}
@media screen and (max-width: 896px) {
	footer {padding: 40px 0 20px;}
  footer .logo {width: 65px; margin: 0 0 40px;}
  footer #fnavi ul,footer #fnavi li,.fnavi01,.fnavi02,.fnavi03 {width: 100%}
  footer #fnavi .fnavi01 > ul,footer #fnavi .fnavi01 > ul:last-child,footer .fnavi02 > ul:first-child,footer .fnavi02 > ul:last-child,footer .fnavi03 > ul:first-child {margin: 0 0 30px;}
  footer .fnavi03 > ul:last-child {margin: 0 0 50px;}
  footer #fnavi ul > li > ul {margin-top: 10px;}
  footer #fnavi ul > li > ul > li {margin: 0 0 5px; font-size: 17px;}
  footer .pd::before {right: 0;}
  footer .sns li {border-radius: 23px; width: 45px; height: 45px; margin: 0 7px 0 0;}
  footer .sns li,footer .sns li i {font-size: 25px;}
  footer .sns li:first-child a i {color: #1d9bf0; margin: 0 auto;}
  footer .sns li:nth-child(2) a i {color: rgb(255, 0, 0);}
  footer .sns li:nth-child(3) a .on{width: 33px;}
  footer .sns li:nth-child(3) a .on,footer .sns li:last-child a .on {display: block;}
  footer .sns li:nth-child(3) a .off,footer .sns li:last-child a .off {display: none;}
  footer .sns {margin-bottom: 40px;}
  footer .flink {justify-content: center; margin-bottom: 20px;}
  footer .flink li a {margin-left: 10px; margin-right: 10px; font-size: 12px;}
  .footCopy {position: relative; bottom: 0; left: 0; transform: translateY(0); text-align: center;}
  .footCopy small {font-size: 12px;}
  footer .sns li:nth-child(1) a span.off, footer .sns li:nth-child(1) a span.on{width: 18px; margin-top: -24px;}
  /*footer .sns li:nth-child(2) a span.off, footer .sns li:nth-child(2) a span.on{width: 27px;margin-top: -23px;}*/
  footer .sns li:nth-child(2) a span.off, footer .sns li:nth-child(2) a span.on{width: 32px;margin-top: -35px;}
  footer .sns li:nth-child(3) a span.off, footer .sns li:nth-child(3) a span.on{width: 32px;margin-top: -35px;}
  footer .sns li:last-child a span.off, footer .sns li:last-child a span.on{width: 32px;margin-top: -10px;}
}

.bgwrap {background: url("../img/cmn/bg01.jpg") no-repeat center top; background-size: cover;}
.w1850 {width: calc(100% - 70px); max-width: 1850px;}
.w1330 {width: calc(100% - 70px); max-width: 1330px;}
.w1200 {width: calc(100% - 70px); max-width: 1200px;}
.w1000 {width: 100%; max-width: 1000px;}
.mlr,.w1850,.w1330,.w1200,.w1000 {margin-left: auto!important; margin-right: auto!important;}
.plr90 {padding: 0 90px;}
.mla {margin-left: auto;}
.pagepd01 {padding: 150px 0 100px;}
.pagepd02 {padding-top: 90px;}
.pagepd03 {padding-top: 180px;}
.w50 {width: 50%;}
@media screen and (max-width: 896px) {
  .w1850 {width: 100%;}
  .w1330 {width: calc(100% - 50px);}
  .w1200 {width: calc(100% - 50px);}
  .pagepd01 {padding: 0;}
  .pagepd03,.pagepd02 {padding-top: 0;}
  .plr90 {padding: 0;}
  .mla {margin-left: auto; margin-right: auto;}
}

ul.dot {list-style: disc; margin-left: 1.5em;}
ul.num {list-style: decimal; margin-left: 1.5em;}
dl.info {margin-bottom: 150px;}
dl.info dt {width: 270px; float: left; clear: left;}
dl.info dd {width: 100%; padding-left: 270px; margin-bottom: 80px;}
@media screen and (max-width: 896px) {
  dl.info {margin-bottom: 50px;}
  dl.info dt {width: 90px; float: left; clear: left;}
  dl.info dd {padding-left: 90px; margin-bottom: 30px;}
}

.w430 {position: relative; z-index: 1; max-width: 430px; width: 100%;}
.w350 {position: relative; z-index: 1; max-width: 350px; width: 100%;}
.cmnBtn {max-width: 430px; width: 100%; border: 2px solid #333333; background: #FFF; border-radius: 60px; box-shadow: 3px 3px 10px -2px rgba(0, 0, 0, 0.4); padding: 5px 0; position: relative; display:flex; flex-direction:column; align-items:center; text-decoration:none;}
/* .cmnBtn::after {position: absolute; content: ''; width: 100%; height: 60px; border: 2px solid #333333; background: #488FE6; border-radius: 30px; bottom: -7px; z-index: -1;}リニューアル前デザイン */
.cmnBtn span.btnEN {display:block; line-height: 1; text-align:center; margin: 0 auto 2px; font-family:'Archivo', sans-serif; font-size:28px; font-weight:900;}
.cmnBtn span.btntxt {font-size: 15px; line-height: 1.2; display: block; text-align: center; color: #333;}
.cmnBtn:hover {background: #55CFF5; color: #333;}
.cmnBtn:hover::after {background: #6A7A8B;}
.btnBL {display: block; padding: 10px; background: #50B2F8; color: #FFF!important; border-radius: 30px; text-align: center;}
.btnBL:hover {background: #55CFF5; border-radius: 30px;}
.btnBL01 {display: block; padding: 10px; background: #50B2F8; color: #FFF!important; border-radius: 30px; text-align: center;}
.btnBL01:hover {background: #55CFF5; border-radius: 30px;}
.btnBL02 {display: block; padding: 10px; background: #7dc178; color: #FFF!important; border-radius: 30px; text-align: center;}
.btnBL02:hover {background: #90e78b; border-radius: 30px;}
.btnBL03 {display: block; padding: 10px; background: #F55555; color: #FFF!important; border-radius: 30px; text-align: center;}
.btnBL03:hover {background: #ff7d7d; border-radius: 30px;}
.btnBL04 {display: block; padding: 10px; background: #508BF8; color: #FFF!important; border-radius: 30px; text-align: center;}
.btnBL04:hover {background: #6c9fff; border-radius: 30px;}
.ttlEN,.ttlENwh,.ttlENgry {padding: 8px 0 8px 25px; border-left: 2px solid #A4ACB3;}
.ttlENwh {border-left: 2px solid #FFF;}
.ttlENgry {border-left: 2px solid #B6C2CD;}
.ttlENbl {border-left: 40px solid #55CFF5; padding: 75px 0 0 30px}
.typeENsub {border-bottom: 2px solid #E2EDF8; padding-bottom: 10px;}
.ttlbdrBL40,
.ttlbdrBL40_01,
.ttlbdrBL40_02,
.ttlbdrBL40_03,
.ttlbdrBL40_04,
.typeENnobdr {padding-left: 30px; position: relative;}
.ttlbdrBL40::before {position: absolute; content: ''; width: 10px; height: 40px; background: #55CFF5; left: 0; top: 10px;}
.ttlbdrBL40_01::before {position: absolute; content: ''; width: 10px; height: 40px; background: #55CFF5; left: 0; top: 10px;}
.ttlbdrBL40_02::before {position: absolute; content: ''; width: 10px; height: 40px; background: #7dc178; left: 0; top: 10px;}
.ttlbdrBL40_03::before {position: absolute; content: ''; width: 10px; height: 40px; background: #f55555; left: 0; top: 10px;}
.ttlbdrBL40_04::before {position: absolute; content: ''; width: 10px; height: 40px; background: #508bf8; left: 0; top: 10px;}
.txt70.tGothic {margin-bottom: 120px;}
@media screen and (max-width: 896px) {
  .w430 {max-width: 210px;}
  .w350 {max-width: 250px;}
  .cmnBtn {border: 1px solid #333333;}
  .cmnBtn::after {height: 47px; bottom: -4px; border: 1px solid #333333;}
  .cmnBtn span.btnEN {width:fit-content; margin:auto 5px; font-size:18px;}
  .cmnBtn span.btntxt {font-size: 12px;}
  .ttlEN,
  .ttlENwh {display: none;}
  .ttlENgry {padding: 8px 0 8px 10px; border-left: 1px solid #B6C2CD;}
  .ttlENgry img {height: 23px;}
  .ttlENbl {border-left: 20px solid #55CFF5; padding: 32px 0 0 30px}
  .ttlENbl img {height: 22px;}l
  .typeEN {margin-top: 20px; margin-bottom: 10px;}
  .typeEN img {height: 10px;}
  .noover .typeENsub  {border-bottom: none; padding-bottom: 0;}
  .typeENnobdr img,.typeENsub img  {height: 8px;}
  .typeENsub.mb100 {margin-bottom: 40px;}
  .ttlbdrBL40,
  .ttlbdrBL40_01,
  .ttlbdrBL40_02,
  .ttlbdrBL40_03,
  .ttlbdrBL40_04,
  .typeENnobdr {padding-left: 15px;}
  .typeENnobdr {margin-bottom: 5px;}
  .division .typeENnobdr {margin-bottom: 0;}
  .ttlbdrBL40,
  .ttlbdrBL40_01,
  .ttlbdrBL40_02,
  .ttlbdrBL40_03,
  .ttlbdrBL40_04 {margin-bottom: 30px;}
  .ttlbdrBL40::before,
  .ttlbdrBL40_01::before,
  .ttlbdrBL40_02::before,
  .ttlbdrBL40_03::before,
  .ttlbdrBL40_04::before {width: 5px; height: 24px; top: 0;}
  .txt70.tGothic {margin-bottom: 50px;}
  .txt70.tGothic.spmb {margin-bottom: 25px;}
}

@keyframes rotation {
  0%{ transform:rotate(0);}
  100%{ transform:rotate(360deg); }
}
@keyframes loop {
  0% {transform: translateX(100%);}
  to {transform: translateX(-100%);}
}
@keyframes loop2 {
  0% {transform: translateX(0);}
  to {transform: translateX(-200%);}
}
@keyframes handwriting {
  0% {fill: transparent; stroke-dashoffset: 3000;}
  50% {fill: transparent;}
  100% {fill: #FFF; stroke-dashoffset: 0;}
}
@keyframes bgdown {
  0% {background-position: 0 100%;}
  100% {background-position: 0 0;}
}
@keyframes bgdown02 {
  0% {background-position: 0 100%;}
  10% {background-position: 0 100%;}
  100% {background-position: 0 0;}
}

.slideInup {opacity: 0; -webkit-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; -webkit-transform: translateY(40px); -ms-transform: translateY(40px); transform: translateY(40px);}
.slideInup.appear {opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0);}
.line.appear path {fill: none; stroke: #FFF; stroke-dasharray: 3000; stroke-dashoffset: 8000; stroke-width: 20; stroke-linecap: round; stroke-linejoin:round; stroke-miterlimit: 10; animation: handwriting 1500ms ease-in forwards;}
.line.effect,.line.load {opacity: 0;}
.line.appear {opacity: 1;}

.delay01 {transition-delay: .2s;}
.delay02 {transition-delay: .4s;}
.delay03 {transition-delay: .6s;}
.delay04 {transition-delay: .8s;}
.delay05 {transition-delay: 1s;}
.delay06 {transition-delay: 1.2s;}
.delay07 {transition-delay: 1.4s;}
.delay08 {transition-delay: 1.6s;}
.delay09 {transition-delay: 1.8s;}
.delay10 {transition-delay: 2s;}
.delay11 {transition-delay: 2.4s;}
.delay12 {transition-delay: 2.8s;}
.delay13 {transition-delay: 3.2s;}
.delay14 {transition-delay: 3.6s;}
.delay15 {transition-delay: 4s;}
.delay16 {transition-delay: 4.4s;}


#top01 {margin: 150px auto 70px; width: 100%; position: relative;}
#top01 .copy {width: 346px; height: calc(100% + 150px); background: #FFF; position: absolute; padding: 150px 38px 38px; color: #333; top: -150px; left: 51%; z-index: 1;}
#top01 .copy h1 {font-size: 88px; margin-bottom: 35px; text-align: center;}
#top01 .copy .txt18 {margin-left: 20px;}
#top01 .slider {width: 105%; transform: rotate(-5deg); margin-left: -2.5%;}
#top01 .slider li {width: 346px; margin: 0 22px; transform: rotate(5deg);}
#top01 .jcEnd {margin-top: -100px; position: relative; z-index: 2;}
#top01 .type01 {width: 190px; margin-right: 85px;}
#top01 .type02 {width: 165px; margin: 0 5% 0 0; position: relative;}
#top01 .type02 .type {animation: 6000ms linear infinite rotation; animation-direction: reverse; display: block;}
#top01 .type02 .box {position: absolute; display: block; width: 44px; left: 50%; margin: auto; top: 50%; transform: translate(-50%,-50%);}
#top02 {width: 100%; max-width: 1130px; margin: 0 auto 230px;}
#top02 h2 {margin-bottom: 100px; padding-top: 85px;}
#top02 h2::before {position: absolute; content: ''; top: 0; left: 50%; transform: translateX(-50%); width: 160px; height: 3px; background: url("../img/top/02-01.jpg") no-repeat; background-size: 160px auto;}
#top02 .line {width: 1341px; position: relative; z-index: 1;}
/*#top02 .line .st0{fill:none;stroke:#FFF;stroke-width:19.6719;stroke-linecap:round;stroke-linejoin:round;}*/
#top02 .panelNav {margin: -70px -7.5px 0;}
#top02 .panel {width: calc(25% - 15px); margin: 0 7.5px;}
.overlayeffect {display: none; width: 100%; height: 100%;}
.overlayeffect.appear {display: block; background: url("../img/top/02-11.jpg") no-repeat; background-size: cover; width: 100%; height: 100%; z-index: 10; top: 0; left: 0; position: absolute; animation: fullscreen .5s linear; -webkit-animation: fullscreen .5s linear;}
@keyframes fullscreen {
  0% {opacity: 0; transform: scale(0, 0);}
  100% {opacity: 1; transform: scale(1, 1);}
}
#top02 .panel a .overlay {display: none;}
#top02 .panel a:hover .overlay {display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url("../img/top/02-11.jpg") no-repeat; background-size: cover;}
#top02 .panel .overlay .txtWH {position: absolute; width: 100%; top: 50%; transform: translateY(-50%);}
#top02 .more {font-family: 'Archivo', sans-serif; line-height:1; font-size: 28px; font-weight: 900; text-align:center;}
#top02 .more02 {font-family: 'Archivo', sans-serif; line-height:1; font-size: 24px; font-weight: 900; color:#A1A7A8;}
#top03 .EN {display: flex; width: 100vw; height: 50px; overflow: hidden;}
#top03 .EN img {width: auto; height: 100%; max-width: none;}
#top03 .EN img:first-child {animation: loop 50s -25s linear infinite;}
#top03 .EN img:last-child {animation: loop2 50s linear infinite;}
#top03 ul {padding: 60px .5% 85px 2%; position: relative; width: 100%; max-width: 1920px; margin: 0 auto;}
#top03 ul::before {position: absolute; content: ''; width: 350px; height: 424px; background: url("../img/top/03-09.jpg") no-repeat; background-size: cover; z-index: -1; top: 10px; left: 27.65%;}
#top03 li {margin: 0 1.5%; width: calc(20% - 3%);}
#top03 .inner {width: calc(100% - 60px); max-width: 1375px; margin: 0 auto 200px;}
#top04 {padding: 80px 0 65px; margin-bottom: 160px;}
#top04::before {position: absolute; content: ''; width: 82.5%; height: calc(100% - 250px); background: url("../img/top/04-05.jpg") no-repeat; background-size: cover; background-position: left top; z-index: -1; top: 0;}
/*#top04 .inner {max-width: 1390px; width: calc(100% - 60px); margin: 0 auto;}*/
#top04 .inner {width: 74%; margin: 0 auto;}
#top04 .ttlENwh {width:114px; margin-bottom: 180px;}
#top04 .txt16 {width: 47%;}
#top04 .slide {position: absolute; right: 0; bottom: 0; width: 39.5%; overflow-x: hidden; padding-bottom: 40px;} 
#top04 .slide .serviceBox .slideBox {width: 510px; height: 630px; padding: 35px 30px; background: #e5fcef; margin-right: 40px;}
#top04 .slide .serviceBox .slideBox02 {width: 510px; height: 630px; padding: 35px 30px; background: #fce5e5; margin-right: 40px;}
#top04 .slide .serviceBox .slideBox03 {width: 510px; height: 630px; padding: 35px 30px; background: #E5F1FC; margin-right: 40px;}
#top04 .txt18::first-letter {padding-left: 1em; border-left: 6px solid #55CFF5;}
#top05 {/*max-width: 1920px;*/ width: 100%; margin-bottom: 100px; padding-top: 25px;}
#top05 .line {position: absolute; top: 0; left: 25px; width: 692px;}
/*#top05 .line .st0{fill:none;stroke:#FFF;stroke-width:19.0849;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}*/
/*#top05 .inner {border: 2px solid #333333; width: calc(100% - 245px); margin-left: 245px;}*/
#top05 .inner {border: 2px solid #333333; width: 87%; margin-left: 13%;}
#top05 .txt {border-right: 2px solid #333333; width: 49%; padding: 115px 90px 55px;}
#top05 .ttlEN {margin-bottom: 15%;}
#top05 .mainImg {width: 51%;}
#top06 .type,#news01 .type,#news02 .type {width: 346px; position: absolute; top: 25%; transform: translateY(-50%); left: -142px; animation: 10s linear infinite rotation; animation-direction: reverse; z-index: -1;}
#top06 .inner {max-width: 1100px; width: calc(100% - 60px); margin: 0 auto 255px;}
#top06 .ttlEN {float: right; margin-bottom: 130px;}
#top06 .news a,#news01 .news a {display: flex; flex-wrap: wrap; align-items: center; padding-bottom: 25px; margin-bottom: 50px; border-bottom: 2px solid #E2EDF8;}
#top06 .news .newsdate,#news01 .news .newsdate,.ttlNews .news .newsdate {font-size: 20px; width: 120px; margin-right: 95px;}
#news01 .news .newsdate,#news01 .news .newsCat,#news01 .news .newsttl {margin-right: 30px;}
.ttlNews .news .newsdate {margin-right: 0;}
.ttlNews .newsdate {font-size: 20px; width: 260px;}
#news01 .news .newsCat,.ttlNews .newsCat {font-size: 16px; width: 125px; color: #55CFF5;}
#top06 .news .newsttl,#news01 .news .newsttl,.ttlNews .newsttl  {font-size: 20px; width: calc(100% - 525px);}
.ttlNews .newsttl {width: calc(100% - 385px);}
.ttlNews {padding-bottom: 30px; margin-bottom: 40px; border-bottom: 2px solid #E2EDF8;}
#top06 .news .newsmore,#news01 .news .newsmore {width: 190px; padding: 10px 0 10px; border-radius: 24px; background: #50B4F6; margin-left: auto; display:flex; flex-direction:row; justify-content:center;}
#top06 .news a:hover .newsmore,#news01 .news a:hover .newsmore {background: #55CFF5;}
#top06 .news .newsmore span,#news01 .news .newsmore span {font-family: 'Archivo', sans-serif; line-height:1; font-size: 24px; font-weight: 900; color:#FFF;}
@media screen and (max-width: 1650px) {
  #top05 .txt {padding: 115px 60px 55px;}
  #top05 .txt56 {font-size: 50px;}
}
@media screen and (max-width: 1450px) {
  #top01 .copy {padding: 130px 38px 38px;}
  #top05 .txt {padding: 115px 40px 55px;}
  #top05 .txt56 {font-size: 45px;}
}
@media screen and (max-width: 1390px) {
  #top04 .inner {width: calc(100% - 60px); margin: 0 auto;}
  #top05 .inner {width: calc(100% - 30px); margin-left: 30px;}
  #top05 .line {left: 0;}
}
@media screen and (max-width: 1300px) {
  #top01 .copy {padding: 100px 38px 38px;}
  #top01 .jcEnd {margin-top: -50px;}
  #top04 .slide .serviceBox .slideBox {width: 410px;}
  #top04 .slide .serviceBox .slideBox02 {width: 410px;}
  #top04 .slide .serviceBox .slideBox03 {width: 410px;}
}
@media screen and (max-width: 1200px) {
  #top03 .w50 {width: 60%;}
}
@media screen and (max-width: 1130px) {
  #top02 .panelNav {margin: -70px 7.5px 0;}
  #top05 .txt {padding: 115px 30px 55px;}
  #top05 .txt56 {font-size: 37px;}
}
@media screen and (max-width: 1024px) {
  #top01 {margin: 150px auto 130px;}
  #top01 .copy {width: 22.8%; padding: 168px 2% 38px; top: -150px; height: calc(100% + 150px);}
  #top01 .copy h1 {font-size: 4em;}
}
@media screen and (max-width: 896px) {
  #top01 {margin: 100px auto 50px;}
  #top01 .copy {width: 100%; height: auto; background: none; position: relative; padding: 0 0 0 35px; top: 0; left: 0; display: flex; flex-wrap: wrap; align-items: center;}
  #top01 .copy h1 {font-size: 44px; margin-bottom: 0; text-align: center; margin-right: 35px; font-family: toppan-bunkyu-midashi-go-std,sans-serif; font-weight: 900; font-style: normal;}
  #top01 .copy .txt18 {font-size: 12px; margin-left: 0;}
  #top01 .slider {margin-left: -5.5%; width: 115%; margin-top: -40px; z-index: -2;}
  #top01 .slider li {margin: 0 7px;}
  #top01 .line {width: 670px; position: relative; z-index: -1; margin: -120px 0 0 40px;}
  #top01 .line .st0{fill:none;stroke:#FFF;stroke-width:19.6719;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
  #top01 .jcEnd {margin-top: 30px;}
  #top01 .type02 {width: 100px; margin: 0 auto;}
  #top01 .type02 .box {width: 28px;}
  #top02 {margin: 0 auto 50px;}
  #top02 h2 {margin-bottom: 25px; padding-top: 25px;}
  #top02 h2::before {width: 80px; background-size: 80px auto;}
  #top02 .txt26.tGothic {font-weight: 400; padding: 0 30px; margin-bottom: 60px;}
  #top02 .panelNav.flex {display: none;}
  #top02 .panelNav {margin: 0;}
  #top02 .panelNav {border-top: 2px solid #E2EDF8;}
  #top02 .panelNav li a {padding: 15px 50px; font-size: 17px; border-bottom: 2px solid #E2EDF8; display: block; position: relative;}
  #top02 .panelNav li a::before,#top06 .news .newsttl::before,#news01 .news .newsttl::before {position: absolute; content: ''; width: 14px; height: 14px; border-top: 2px solid #50B4F6; border-right: 2px solid #50B4F6; transform: rotate(45deg); top: calc(50% - 7px); right: 40px;}
  #top03 .EN {height: 25px; margin-bottom: 8px;}
  #top03 .inner {width: 100%; margin: 0 auto 40px; padding: 40px 30px 60px; background: #E5F1FC;}
  #top03 ul {display: none;}
  #top03 .spImg::before {position: absolute; content: ''; width: 100%; height: 77%; background: #E5F1FC; bottom: 0; z-index: -1;}
  #top03 .w50 {width: 100%;}
  #top03 .w430,#top04 .w430,#top05 .w430,#top06 .w430 {margin: 0 auto;}
  #top04 {padding: 0; margin-bottom: 50px;}
  #top04::before {background: none;}
  #top04 .slide {position: relative; width: 100%; padding-bottom: 60px;} 
  #top04 .slide .serviceBox .slideBox {width: auto; height: auto; padding: 0; background: #FFFF; margin-right: 10px; margin-left: 10px;}
  #top04 .slide .serviceBox .slideBox02 {width: auto; height: auto; padding: 0; background: #FFFF; margin-right: 10px; margin-left: 10px;}
  #top04 .slide .serviceBox .slideBox03 {width: auto; height: auto; padding: 0; background: #FFFF; margin-right: 10px; margin-left: 10px;}
  #top04 .slide .serviceBox .slideBox .mb50 {margin-bottom: 0;}
  #top04 .slide .serviceBox .slideBox02 .mb50 {margin-bottom: 0;}
  #top04 .slide .serviceBox .slideBox03 .mb50 {margin-bottom: 0;}
  #top04 .slide .serviceBox .slideBox .txt18 {display: none;}
  #top04 .slide .serviceBox .slideBox02 .txt18 {display: none;}
  #top04 .slide .serviceBox .slideBox03 .txt18 {display: none;}
  #top04 .inner {padding: 0 30px; width: 100%;}
  #top04 .txt16 {width: 100%;}
  #top05 {padding-top: 0; margin-bottom: 55px;}
  #top05 .inner {border: none; width: 100%; margin-left: 0; flex-direction: column-reverse;}
  #top05 .txt {border-right: none; width: 100%; padding: 40px 30px 0;}
  #top05 .txt56 {font-size: 22px;}
  #top05 h2.mb50 {margin-bottom: 20px;}
  #top05 .txt16.mb50 {margin-bottom: 35px;}
  #top05 .mainImg {width: 100%;}
  #top06 .typewrap {width: 173px ; height: 95px; overflow: hidden; margin: 0 auto 10px;}
  #top06 .type {width: 100%; position: relative; top: 0; transform: translateY(0); left: 0; animation: 6000ms linear infinite rotation; animation-direction: reverse; z-index: -1;}
  #top06 .inner {margin: 0 auto 60px; padding: 15px 15px 0; width: 100%; border-top: 2px solid #E2EDF8;}
  #top06 .news a,#news01 .news a {padding-bottom: 15px; margin-bottom: 15px; padding-left: 20px; padding-right: 20px;}
  #top06 .news .newsdate,#news01 .news .newsdate,#news01 .news .newsCat,#news02 .newsdate,#news02 .newsCat {font-size: 12px; width: 100%; margin-right: 0; margin-bottom: 10px;}
  #news01 .news .newsdate,#news01 .news .newsCat,#news02 .newsdate,#news02 .newsCat {width: auto; margin-right: 20px;}
  #news02 .jcSb {justify-content: flex-start;}
  #news02 .ttlNews .newsttl {text-align: left; margin: 0;}
  #top06 .news .newsttl,#news01 .news .newsttl,#news02 .newsttl {font-size: 14px; width: 100%; position: relative;}
  #top06 .news .newsmore,#news01 .news .newsmore {display: none;}
  #top06 .news .newsttl::before,#news01 .news .newsttl::before {right: -8px;}
  #news01 .news .newsttl {margin-right: 0; padding-right: 20px; font-weight: 400;}
}
/* addition */
#top07 {
	width: 100%;
    padding-top: 25px;
    min-height: 700px;
	height: auto;
}

#top07 .inner { width: 74%; margin: 0 auto; }
#top07::before {
    position: absolute;
    content: '';
    width: 1602px;
    height: 287px;
    background: url(../img/top/07-01.png) no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#top07 .ttlEN {
    margin-bottom: 10px;
}
#top07 .sns_block{
    /*width: calc(100% - 850px);*/
    margin: 0;
    float: left;
    height: 100%;
    min-height: 1px;
    position: absolute;
    top: 25px;
    right: 70px;
}
#top07 .sns_block .list_Twitter,
#top07 .sns_block .list_note{
	/*width: calc(100% - 800px);*/
	width: 400px;
    height: auto;
    min-height: 430px;
    padding: 50px 40px;
    background: #E5F1FC;
    float: left;
}
#top07 .sns_block .list_Twitter{ margin-right: 40px; }

#top07 .sns_block .list_Twitter .icon{ width: 45px; margin: 0 auto 70px; }
#top07 .sns_block .list_note .icon{ width: 120px; margin: 0 auto 82px; }

#top07 .sns_block .list_Twitter .text, #top07 .sns_block .list_note .text{ text-align: center; line-height: 1.9rem; }
#top07 .cmnBtn span.btnEN {
    width: 100%;
    display: block;
    margin: 10px auto;
    text-align: center;
    line-height: 1.2;
}
@media screen and (max-width: 1660px) {
	#top07 .inner {width: calc(100% - 300px); margin: 0 auto;}
	#top07 .sns_block .list_Twitter, #top07 .sns_block .list_note{width: 380px;}
}
@media screen and (max-width: 1500px) {
	#top07 .inner {width: calc(100% - 60px); margin: 0 auto;}
	#top07 .sns_block .list_Twitter, #top07 .sns_block .list_note{width: 380px;}
}
@media screen and (max-width: 1246px) {
	#top07 .inner {width: calc(100% - 30px); margin: 0 auto;}
	#top07 .sns_block .list_Twitter, #top07 .sns_block .list_note{width: 380px;}
}
@media screen and (max-width: 896px){
	#top07 .sns_block br{display: none;}
	#top07 .sns_block{
		width: 80%;
    	position: initial;
    	margin: auto;
		float: initial;
	}
	#top07::before{width: auto; height: auto; min-height: 150px;}
	#top07 .w430 {margin: 0 auto;}
	#top07 .sns_block .list_Twitter, #top07 .sns_block .list_note{
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
		padding: 30px;
		min-height: auto;
	}
	#top07 .sns_block .list_note{margin-bottom: 60px;}
	#top07 .sns_block .list_Twitter .text, #top07 .sns_block .list_note .text{text-align: left;}
	#top07 .sns_block .list_Twitter .icon{width: 35px; margin: 0 auto 20px;}
	#top07 .sns_block .list_note .icon{width: 90px; margin: 0 auto 30px;}
}

.w47 {width: 47%;}
.w45 {width: 45%;}
.w40 {width: 40%;}
.w52 {width: 52.5%;}
.bdrfl10::first-letter {border-left: 10px solid #55CFF5; padding-left: .5em;}
.typeEN {padding-top: 65px;}
.sticky {position: sticky; top: 75px;}
#message01 {padding-bottom: 50px;}
#mission01 {padding: 150px 0 200px;}
#mission01 h1.appear,#mission01 h1 {font-size: 144px; margin-bottom: 90px; }
#mission01 h1.appear {background: url("../img/company/01-02.jpg") no-repeat; background-size: cover; -webkit-background-clip: text; background-clip: text; color: transparent; width: 100%; animation-name: bgdown; animation-duration: .8s; animation-timing-function: cubic-bezier(0.5, 1, 0.5, 1);}
#mission01 p {z-index: 1; position: relative;}
#mission01 span.EN {display: inline-block; margin-right: 10px;}
#mission01 span.EN img {vertical-align: baseline;}
#mission01 .bg {position: absolute; width: 219px; height: 40px; transform: rotate(-3deg) translateX(-50%); left: calc(50% - 115px); bottom: 15px;}
#mission01 .bg.appear::before {position: absolute; content: ''; width: 219px; height: 40px; background: #55CFF5;  animation: border_anim .3s linear forwards;}
#mission02 {padding-bottom: 336px;}
#mission02 .line {width: 719px; position: absolute; right: -296px; bottom: 77px;}
#mission03 .txt {margin-top: 75px;}
#mission03 .txt:nth-of-type(2) {margin-top: -65px;}
#mission03 .line {width: 1107px; margin: 0 auto;}
#message01 .line {width: 760px;}
#message02 .line {width: 663px;}
#management01 .box {width: calc(100%/3 - 24px);}
#management01 .profile {position: relative;}
#management01 .profile::before {position: absolute; content: ''; width: 35px; height: 35px; border-radius: 50%; background: #50B4F6; right: 20px; bottom: 32px; z-index: 2; cursor: pointer;}
#management01 .profile::after {position: absolute; content: ''; width: 35px; height: 35px; right: 20px; bottom: 32px; background: url("../img/company/management/plus.svg") no-repeat; background-size: cover; z-index: 2; cursor: pointer;}
#management01 .profile.close::before {background: #55CFF5;}
#management01 .profile.close::after {content: ''; width: 35px; height: 35px; right: 20px; bottom: 32px; background: url("../img/company/management/minus.svg") no-repeat; background-size: cover;}
#management01 .thumb,#management01 .name {position: relative; cursor: pointer;}
#management01 .profile:hover .thumb::before {content: ''; position: absolute; left: 0;	bottom: -3px; width: 0;	border-bottom: solid 3px #55CFF5; animation: border_anim .6s linear forwards;}
#management01 .name:hover::before {border-top: solid 3px #55CFF5; border-bottom: none; top: 0; bottom: 0;}
@keyframes border_anim {
	0%{width: 0%;}
	100%{width: 100%;}
}
#management01 .name {padding: 20px 0 20px 20px; position: relative; cursor: pointer;}
#management01 .name p,#management01 .name h2 {line-height: 1.2;}
#management01 .profile.close .name {background: #E6F9FD;}
#management01 .profile.close .name::before {content: ''; position: absolute; left: 0;	top: 0; width: 0;	border-top: solid 3px #55CFF5; animation: border_anim .6s linear forwards;}
#management01 .name .inner {border-left: 8px solid #55CFF5; padding-left: 15px;}
#management01 .box:nth-child(2) .message,#management01 .box:nth-child(5) .message,#management01 .box:nth-child(8) .message {margin-left: calc(-100% - 40px);}
#management01 .box:nth-of-type(3n) .message {margin-left: calc(-200% - 76px);}
.message {background: #E6F9FD; padding: 40px; display: none; width: calc(100%*3 + 76px); position: relative; z-index: 3;}
.message .inner {background: #FFF; padding: 40px;}
.message .nameEN {margin-right: 40px;}
.message .sns li a,#service01 .sns li a,.share .sns li a {width: 35px; margin: 0 8px; font-size: 20px; color: #FFF; line-height: 35px; background: #FFF; /*border:solid 1px #c4c4c4;*/ border-radius: 40px; display: block; text-align: center;}
.message .sns li:nth-child(2) a {border: none; background: #000000;}
.message .sns li:nth-child(3) a {border: none; background: #1778f2;}
.message .sns li:nth-child(4) a {border: none; background: linear-gradient(50deg, #fdd91d, #bc00a8 100%, #dcf0fd 0%, #a43a94 100%, #ec1c24 51%); font-size: 26px;}
.message .sns li:nth-child(5) a,.message .sns li:nth-child(6) a {border: none; background: #ff0000; font-size: 18px;}
.share .sns li a {width: 31px; line-height: 31px;}
.share .sns li:last-child {margin: 0 8px;}
#service01,#service02,#division01,#division02,#division03,#division04,#division05,#division06,#division07 {padding-top: 80px; margin-top: -80px;}
#service01 .sns {margin-right: 30px;}
#service01 .sns li.twitter a,.share .sns li.twitter a {background: #000000; font-size: 20px;}
#service01 .sns li.facebook a,.share .sns li.facebook a {background: #1778f2; font-size: 20px;}
#service01 .sns li.instagram a {background: linear-gradient(50deg, #fdd91d, #bc00a8 100%, #dcf0fd 0%, #a43a94 100%, #ec1c24 51%); font-size: 24px;}
.fa-instagram:before {line-height: 35px;}
#service02 .btmImg {max-width: 1200px; width: 100%; margin: 0 auto;}
.share .sns li.line a {color: #2BC755; font-size: 38px; border-radius: 0; background: none;}
.share {border-bottom: 2px solid #E2EDF8; padding-bottom: 100px;}
#info02 .line {width: 958px; margin: 0 auto;}
#info03 {border-bottom: 2px solid #E2EDF8;}
.group .mark a {display: block; padding: 35px;}
.group .mark {width: 315px; border: 4px solid #000; margin-right: 110px; background: #FFF;}
.group .mark .on,.group.reach .mark:hover .off {display: none;}
.group .mark:hover {background: #FFC851;}
.group.clink .mark:hover {background: url("../img/company/info/03-04.jpg") no-repeat; background-size: cover;}
.group.reach .mark:hover {background: #000;}
.group.reach .mark:hover .on {display: block;}
.group .txt {width: calc(100% - 425px);}
.unchor,.sunchor {background: #E2EDF8; border-radius: 40px;}
.unchor li a {padding: 20px 0; display: block;}
.unchor li {text-align: center;}
.unchor li:first-child {width: 22%;}
.unchor li:first-child a {padding-left: 10%;}
.unchor li:first-child a:hover {border-bottom-left-radius: 40px; border-top-left-radius: 40px;}
.unchor li:nth-child(2) {width: 15%;}
.unchor li:nth-child(3) { width: 21%;}
.unchor li:nth-child(4) { width: 13%;}
.unchor li:nth-child(5) { width: 13%;}
.unchor li:nth-child(6) {width: 16%;}
.unchor li:nth-child(6) a {padding-right: 22.8%;}
.unchor li:nth-child(6) a:hover {border-bottom-right-radius: 40px; border-top-right-radius: 40px;}
.sunchor li {width: 50%; text-align: center;}
.sunchor li a {padding: 20px 30px; display: block;}
.unchor li a:hover,.sunchor li a:hover {background: #55CFF5; color: #FFF;}
.sunchor li:first-child a:hover {border-top-left-radius: 40px; border-bottom-left-radius: 40px;}
.sunchor li:last-child a:hover {border-top-right-radius: 40px; border-bottom-right-radius: 40px;}
.division {padding-top: 30px; border-top: 2px solid #E2EDF8;}
.division .mainImg,.division .subImg {width: calc(50% - 7.5px); position: relative;}
.division .mainImg {padding-left: 15px;}
.division .mainImg::before {position: absolute; content: ''; width: 257px; height: 312px; background: url("../img/division/bg01.jpg") no-repeat; background-size: cover; bottom: -12px; left: 0; z-index: -1;}
.division .flRev .mainImg {padding-right: 15px; padding-left: 0;}
.division .flRev .mainImg::before {background: url("../img/division/bg02.jpg") no-repeat; left: auto; right: 0;}
.division .box {width: calc(100%/3 - 40px);}
.bdrBL {border-bottom: 2px solid #E2EDF8;}
#service02 .works {position: relative; padding-bottom: 50px; margin-bottom: 50px;}
#service02 .works.flRev {margin-bottom: 30px;}
#service02 .works.bdrBL {padding-bottom: 60px; margin-bottom: 70px;}
#service02 .works::before {position: absolute; content: ''; width: 100vw; height: 85%; bottom: 0; background: #E5F1FC; z-index: -1; left: 50%; transform: translateX(-50%);}
#service02 .works.flRev::before {background: none;}
#service02 .date li {margin-right: 40px;}
#service02 .date li::first-letter {color: #55CFF5;}
#service02 .app li:first-child {width: 181px; margin-right: 10px;}
#service02 .app li:last-child {width: 225px;}
#service02 .line.abs {width: 677px; position: absolute; bottom: 0; left: 0; right: 0; margin: auto;}
#service02 .line {width: 637px; margin: 0 auto 100px;}
.post {margin: 0 260px 80px;}
.post p {margin-bottom: 20px; word-break: break-all;}
.post a {color: #50B4F6!important; text-decoration: underline;}
.newsNav .prev,.newsNav .next,.newspNav .prev,.newspNav .next {width: 117px;}
.newspNav .prev,.newspNav .next {margin: 0 60px;}
.newspNav::before {position: absolute; content: ''; width: 18px; height: 18px; left: 50%; top: 50%; transform: translate(-50%,-50%); background: #50B4F6;}
.newsNav .pageNum {margin: 0 60px;}
.newsNav .pageNum li {line-height: 35px; background: #FFF; margin: 0 5px;}
.newsNav .pageNum li a,.newsNav .pageNum li.active {display: block; padding: 0 8px;}
.newsNav .pageNum li a:hover,.newsNav .pageNum li.active {background: #50B4F6; color: #FFF;}
#privacy {border-top: 2px solid #E2EDF8; padding: 60px 90px 0;}
#contact01 {padding: 0 4.7% 50px;}
#contact01 h1 {margin-bottom: 80px;}
#contact02 {border-top: 2px solid #E2EDF8; padding: 30px 4.7% 0;}
@media screen and (max-width: 1400px) {
  .linewrap {width: calc(100% + 100px); overflow: hidden;}
}
@media screen and (max-width: 1350px) {
  .linewrap {width: calc(100% + 70px); overflow: hidden;}
}
@media screen and (max-width: 896px) {
  .w47,.w45,.w40,.w52 {width: 100%;}
  .sticky {position: relative; top: 0;}
  #message01 {padding-bottom: 0;}
  #mission01 {padding: 100px 0 60px; }
  #mission01 h1.appear,#mission01 h1 {font-size: 55px; margin-bottom: 40px; font-family: toppan-bunkyu-midashi-go-std,sans-serif;}
  #mission01 .bg.appear::before {height: 20px;}
  #mission01 .EN {width: 60px;}
  #mission01 .bg {width: 90px; height: 20px; transform: rotate(-3deg) translateX(-50%); left: calc(50% - 62px); bottom: 7px;}
  #mission02 {padding-bottom: 135px; margin-bottom: 30px}
  #mission02 .subImg,#mission03 .subImg {width: calc(100% + 50px); margin-left: -25px; margin-right: -25px;}
  #mission02 .line {width: 360px; right: inherit; bottom: 0; left: 25px;}
  #mission03 .mb70 {margin-bottom: 0;}
  #mission03 .txt {margin-top: 30px;}
  #mission03 .txt:nth-of-type(2) {margin-top: 0;}
  #mission03 .mb100 {margin-bottom: 40px;}
  #mission03 .subImg.w47 {margin-top: 50px;}
  #mission03 .line {width: 457px; margin: 0 auto;}
  #message01 .mainImg.w40,#message02 .mainImg.w40 {width: 60%; margin: 0 auto 25px;}
  #message01 .txt500,#message02 .txt500 {font-weight: 700;}
  #message01 .fr,#message02 .fr {width: 109px;}
  #message01 .line {width: 380px;}
  #message02 .line {width: 360px;}
  .linewrap {width: auto; overflow: inherit;}
  #management01 .box {width: calc(100% + 50px); margin-left: -25px; margin-right: -25px;}
  #management01 .box:nth-child(2) .message,#management01 .box:nth-child(5) .message,#management01 .box:nth-child(8) .message {margin-left: 0;}
  #management01 .box:nth-of-type(3n) .message {margin-left: 0;}
  #management01 .box .thumb img {width: 100%;}
  #management01 .name {padding: 10px 30px;}
  #management01 .name p {line-height: 1.7;}
  #management01 .name h2 {line-height: 1.5;}
  #management01 .profile::before {width: 28px; height: 28px; right: 30px; bottom: 24px;}
  #management01 .profile::after {right: 30px; bottom: 24px; width: 28px; height: 28px;}
  #management01 .profile.close .name {background: #E6F9FD;}
  #management01 .profile.close::after {right: 30px; bottom: 24px; width: 28px; height: 28px;}
  .message {padding: 10px 16px 20px; display: none; width: 100%;}
  .message .inner {background: #FFF; padding: 15px;}
  .message .inner .flex.alCent {flex-direction: column-reverse;}
  .message .nameEN {margin-right: 0; margin-right: auto;}
  .message .nameEN img {height: 15px;}
  .message .sns {margin-left: auto;}
  #info02 .line {width: 431px; margin: 0 auto;}
  #info03 .txtCent {text-align: left;}
  #info03 .mb100 {margin-bottom: 40px;}
  .group {justify-content: flex-start;}
  .group .mark a {display: block; padding: 20px;}
  .group .mark {width: 160px; border: 2px solid #000; margin-right: 0; margin-bottom: 20px;}
  .group.reach .mark .off {display: none;}
  .group .mark {background: #FFC851;}
  .group.clink .mark {background: url("../img/company/info/03-04.jpg") no-repeat; background-size: cover;}
  .group.reach .mark {background: #000;}
  .group.reach .mark .on {display: block;}
  .group .txt {width: 100%;}
  .group .txt40 {font-weight: 700;}
  .group .inlb img {width: 110px;}
  .division {padding-top: 15px;}
  .division .mainImg,.division .subImg {width: calc(100% + 25px);}
  .division .subImg {margin-left: -25px;}
  .division .mainImg {padding-left: 0; margin-bottom: 30px}
  .division .mainImg::before {width: 0; height: 0; background: none; bottom: 0; left: 0;}
  .division .flRev .mainImg {padding-right: 15px; padding-left: 0;}
  .division .flRev .mainImg::before {background: none; right: 0;}
  .division .box {width: 100%; margin-bottom: 35px;}
  .division .box .txt26.mb20 {margin-bottom: 14px;}
  .chart {margin-top: 30px;}
  #service01,#service02,#division01,#division02,#division03,#division04,#division05,#division06,#division07 {padding-top: 50px; margin-top: -50px;}
  #service01 .flex.alCent.jcEnd {justify-content: center; flex-direction: column-reverse;}
  #service01 .flex.alCent.jcEnd .w350 {margin-bottom: 25px;}
  #service01 .sns {margin-right: 0;}
  #service02 .works {margin-bottom: 30px; padding-bottom: 0;}
  #service02 .works.bdrBL {padding-bottom: 25px; margin-bottom: 15px;}
  #service02 .w40 {margin-bottom: 25px;}
  #service02 .w52 {margin-bottom: 25px;}
  #service02 .txt26.tGothic {font-weight: 400;}
  #service02 .line.abs {width: 338.5px;}
  #service02 .line {width: 318.5px; margin: 0 auto 50px;}
  #service02 .date li {font-size: 11px; margin-right: 20px;}
  #service02 .txt8 {margin-left: 18px;}
  #service02 .app {justify-content: center;}
  #service02 .app li:first-child {width: 133px; margin-right: 10px;}
  #service02 .app li:last-child {width: 164.5px;}
  #privacy {padding: 30px 0 0;}
  #contact01 {padding: 0 0 55px;}
  #contact01 h1 {margin-bottom: 20px; padding-bottom: 75px; border-bottom: 2px solid #E2EDF8;}
  #contact02 {border-top: none; padding: 0;}
  .post {margin: 0 auto 80px;}
  .newsNav .prev,.newsNav .next,.newspNav .prev,.newspNav .next {width: 75px;}
  .newsNav .pageNum {margin: 0 30px; font-size: 20px;}
  .newspNav .prev, .newspNav .next {margin: 0 30px;}
  .unchor,.sunchor {background: #50B4F6; border-radius: 0;}
  .unchor {justify-content: flex-start; background: none;}
  .unchor li a,.sunchor li a {padding: 6px; display: block; color: #FFF;}
  .unchor li,.sunchor li {width: 50%; text-align: center; border: 1px solid #FFF; background: #50B4F6;}
  .unchor li a:hover,.sunchor li a:hover {background: none;}
  .unchor li:first-child,.unchor li:nth-child(2),.unchor li:nth-child(3),.unchor li:nth-child(4),.unchor li:nth-child(5),.unchor li:nth-child(6),.unchor li:nth-child(7) {width: 50%;}
  .unchor li:first-child a {padding-left: 0;}
  .unchor li:first-child a:hover {border-bottom-left-radius: 0; border-top-left-radius: 0;}
  .unchor li:nth-child(7) a {padding-right: 0;}
  .unchor li:nth-child(7) a:hover {border-bottom-right-radius: 0; border-top-right-radius: 0;}
  .unchor li:nth-child(6) a{ padding-right: 8px;}
  .sunchor li:first-child a:hover {border-top-left-radius: 0; border-bottom-left-radius: 0;}
  .sunchor li:last-child a:hover {border-top-right-radius: 0; border-bottom-right-radius: 0;}
}

/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 75%; /* 比率を4:3に固定 */
}
 
/* Google Mapのiframe */
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}