@charset "UTF-8";
@import "https://fonts.googleapis.com/css?family=Courgette";
.courgette {
 font-family: "Courgette", cursive;
 font-weight: 400;
}
.headerArea .row00 > .in:after, .headerArea .row01 > .in:after, .headerArea .mainNav .navWrap:after {
 content: '';
 display: block;
 clear: both;
}
html {
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 -ms-text-size-adjust: 100%;
 -webkit-text-size-adjust: 100%;
 font-size: 62.5%;
 color: #181818;
}
@media screen and (max-width: 640px) {
 html {
  letter-spacing: 0;
 }
}
html.safari {
 -webkit-font-smoothing: antialiased;
}
@media screen and (min-width: 641px) {
 html {
  font-feature-settings: "palt";
 }
 html.safari {
  font-feature-settings: "pkna";
 }
}
@media screen and (max-width: 640px) {
 html {
  font-size: 3.0vw;
 }
}
.touchevents * {
 -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.chrome body {
 image-rendering: -webkit-optimize-contrast;
}
body, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ol, ul, li, td, th, figure, input, select, button, textarea {
 margin: 0;
 padding: 0;
}
article, aside, footer, header, main, nav, section, figcaption, figure {
 display: block;
}
img {
 -ms-interpolation-mode: bicubic;
 border-style: none;
}
svg:not(:root) {
 overflow: hidden;
}
hr {
 height: 0;
 overflow: visible;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
b, strong {
 font-weight: inherit;
 font-weight: bolder;
}
a {
 outline: 0;
 text-decoration: none;
 color: inherit;
 background-color: transparent;
 -webkit-text-decoration-skip: objects;
}
li {
 list-style: none;
}
sub, sup {
 position: relative;
 vertical-align: baseline;
 line-height: 0;
}
sub {
 bottom: -.25em;
}
sup {
 top: -.5em;
}
audio, video {
 display: inline-block;
}
summary {
 display: list-item;
}
audio:not([controls]) {
 display: none;
 height: 0;
}
canvas {
 display: inline-block;
}
input, select, button, textarea {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 background: none;
 border: none;
 outline: 0;
 font: inherit;
 box-shadow: none;
}
button, input {
 overflow: visible;
}
button::-moz-focus-inner, input::-moz-focus-inner {
 border: 0;
 padding: 0;
}
button:-moz-focusring, input:-moz-focusring {
 outline: 1px dotted ButtonText;
}
button, select {
 cursor: pointer;
 text-transform: none;
}
[type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner, button::-moz-focus-inner {
 border: none;
}
select::-ms-expand {
 display: none;
}
/* 641px以上 */
@media (min-width: 641px) {
 [data-sc-sp] {
  display: none !important;
 }
}
/* 640px以下 */
@media (max-width: 640px) {
 [data-sc-pc] {
  display: none !important;
 }
}
[data-autoheight], [data-pc-autoheight], [data-sp-autoheight] {
 -webkit-transition: none !important;
 transition: none !important;
}
[data-loadfile] {
 opacity: 0;
 background-repeat: no-repeat;
 background-position: center center;
 -webkit-background-size: cover;
 background-size: cover;
 -webkit-transition: 1s;
 transition: 1s;
}
[data-loadfile][src], [data-loadfile][style*="background-image"] {
 opacity: 1;
}
body.grandtop {
 padding-top: 148px;
}
@media screen and (max-width: 640px) {
 body.grandtop {
  padding-top: 90px;
 }
}
body.grandtop.type01 {
 padding-top: 0;
}
@media screen and (min-width: 641px) {
 body {
  min-width: 1000px;
  overflow-x: auto;
  padding-top: 190px;
 }
}
@media screen and (max-width: 640px) {
 body {
  padding-top: 90px;
 }
}
/*--共通エレメント--*/
.langOpen .mainArea {
 overflow: hidden;
 height: 100%;
 position: fixed;
}
.langOpen .footerArea {
 opacity: 0;
 position: fixed;
 z-index: -1;
}
.mainArea {
 overflow: hidden;
}
@media screen and (min-width: 641px) {
 .headerMenuFix .headerArea:before {
  content: '';
  position: fixed;
  top: 0;
  z-index: 1000;
  background-color: #fff;
  display: block;
  width: 100%;
  height: 150px;
  transition: transform 0.6s;
 }
 .headerMenuFix.grandtop .headerArea:before {
  height: 112px;
 }
 .scrollDown.headerMenuFix .headerArea:before {
  transform: translateY(-42px);
 }
}
.headerArea .row00 {
 width: 100%;
 height: 42px;
 background-color: #ebebeb;
 padding: 0 30px;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 z-index: 1000;
 transition: transform 0.6s;
 position: fixed;
 top: 0;
}
.scrollDown.headerMenuFix .headerArea .row00 {
 transform: translateY(-42px);
}
@media screen and (max-width: 640px) {
 .headerArea .row00 {
  min-width: 0;
  height: 40px;
  padding: 0;
  top: -40px;
  position: fixed;
  z-index: 1001;
  transition: 1s;
 }
 .endline .headerArea .row00, .headerMenuOn .headerArea .row00 {
  top: 0px;
 }
}
.headerArea .row00 > .in {
 max-width: 1100px;
 width: 100%;
 margin: auto;
}
.headerArea .row00 > .in .txt {
 float: left;
 display: inline-block;
 height: 42px;
 vertical-align: middle;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .txt {
  display: none;
 }
}
.headerArea .row00 > .in .txt span {
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 1rem;
 letter-spacing: 0.05em;
 color: #8b8b8b;
}
.headerArea .row00 > .in .langSet {
 float: right;
 display: table;
 height: 42px;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet {
  display: block;
  position: relative;
 }
 .langOpen .headerArea .row00 > .in .langSet > dd {
  height: 100vh;
 }
 .langOpen .headerArea .row00 > .in .langSet > dd > .wrap {
  height: auto;
 }
}
.headerArea .row00 > .in .langSet > * {
 display: table-cell;
 height: 100%;
 vertical-align: middle;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > * {
  display: block;
  height: auto;
 }
}
.headerArea .row00 > .in .langSet > dt {
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 1.1rem;
 letter-spacing: 0.07em;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > dt {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 40px;
 }
}
.headerArea .row00 > .in .langSet > dd {
 letter-spacing: 0;
 font-size: 0;
 background-color: #ebebeb;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > dd {
  position: relative;
  width: 14rem;
  text-align: left;
  padding-top: 40px;
  height: 40px;
  box-sizing: border-box;
  overflow: hidden;
  transition: 0.3s;
  /*.langOpen &:before{
            	content: '';
            	position: fixed;
            	height: 100vh;
            	width: 100vw;
            	right: 0;
            	background-color: #c00;
            	overflow:hidden;
            	z-index: -1;
            	pointer-events: none;
            }*/
 }
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > dd > .wrap {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: -webkit-calc(100vh - 90px);
  max-height: calc(100vh - 90px);
 }
 .os-iOS .headerArea .row00 > .in .langSet > dd > .wrap {
  max-height: -webkit-calc(100vh - 160px);
  max-height: calc(100vh - 160px);
 }
 .os-android .headerArea .row00 > .in .langSet > dd > .wrap {
  max-height: -webkit-calc(100vh - 90px);
  max-height: calc(100vh - 90px);
 }
}
.headerArea .row00 > .in .langSet > dd > .wrap > span {
 padding-left: 12px;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > dd > .wrap > span {
  position: relative;
  display: table;
  width: 100%;
  height: 40px;
  border-bottom: 1px solid #ccc;
 }
}
.headerArea .row00 > .in .langSet > dd > .wrap > span > a {
 opacity: 0.5;
 transition: 0.3s;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > dd > .wrap > span > a {
  display: table-cell;
  vertical-align: middle;
  height: 40px;
 }
}
.headerArea .row00 > .in .langSet > dd > .wrap > span > a .cap {
 display: none;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > dd > .wrap > span > a .cap {
  display: inline-block;
  position: relative;
  top: -0.3rem;
  font-size: 1.1rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  padding-left: 1em;
 }
}
.headerArea .row00 > .in .langSet > dd > .wrap > span.current > a, .no-touchevents .headerArea .row00 > .in .langSet > dd > .wrap > span[href]:hover > a {
 opacity: 1;
}
@media screen and (max-width: 640px) {
 .headerArea .row00 > .in .langSet > dd > .wrap > span.current, .no-touchevents .headerArea .row00 > .in .langSet > dd > .wrap > span[href]:hover {
  position: absolute;
  top: 0;
  width: 100%;
 }
 .headerArea .row00 > .in .langSet > dd > .wrap > span.current:after, .no-touchevents .headerArea .row00 > .in .langSet > dd > .wrap > span[href]:hover:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #181818;
  border-right: 2px solid #181818;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 32px;
  margin-top: -10px;
 }
}
.headerArea .row01 {
 position: fixed;
 top: 42px;
 left: 0;
 width: 100%;
 height: 70px;
 z-index: 1000;
 padding: 0 30px;
 background-color: #fff;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 transition: transform 0.6s;
}
.grandtop .headerArea .row01 {
 box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
}
.scrollDown.headerMenuFix .headerArea .row01 {
 transform: translateY(-42px);
}
@media (max-width: 640px) {
 .headerMenuSPUp .headerArea .row01 {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
 }
}
@media (max-width: 640px) {
 .headerMenuOn .headerArea .row01 {
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
 }
}
@media screen and (max-width: 640px) {
 .headerArea .row01 {
  height: 50px;
  min-width: 0;
  padding: 0;
  -webkit-transition: 1.0s;
  transition: 1.0s;
  position: fixed;
  top: 0;
  background-color: #19216b;
 }
 .headerArea .row01:before {
  content: '';
  position: absolute;
  display: block;
  z-index: 1;
  top: 50px;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(rgba(0, 0, 0, 0.2) 0%, transparent 100%);
 }
 .endline .headerArea .row01, .headerMenuOn .headerArea .row01 {
  top: 40px;
 }
 .endline .headerArea .row01:before, .headerMenuOn .headerArea .row01:before {
  top: 50px;
 }
}
@media screen and (min-width: 641px) {
 .headerMenuFix .headerArea .row01 {
  position: fixed;
  top: 42px;
 }
}
.headerArea .row01 > .in {
 max-width: 1100px;
 width: 100%;
 height: 70px;
 margin: auto;
}
@media (max-width: 640px) {
 .headerArea .row01 > .in {
  padding-left: 0;
  height: 50px;
 }
}
.headerArea .row01 > .in > .wrap {
 float: left;
 display: table;
 margin-top: 14px;
}
@media screen and (max-width: 640px) {
 .headerArea .row01 > .in > .wrap {
  margin-top: 0;
 }
}
.headerArea .row01 > .in > .wrap .logo {
 display: table-cell;
 vertical-align: middle;
 padding-left: 6px;
}
.headerArea .row01 > .in > .wrap .logo > a {
 transition: 0.3s;
}
.no-touchevents .headerArea .row01 > .in > .wrap .logo > a:hover {
 opacity: 0.5;
}
@media screen and (max-width: 640px) {
 .headerArea .row01 > .in > .wrap .logo {
  height: 50px;
 }
 .headerArea .row01 > .in > .wrap .logo a {
  display: block;
  height: 36px;
  width: 121px;
  line-height: 0;
  background-image: url(../img/osaka_jals_w.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: center center;
 }
 .headerArea .row01 > .in > .wrap .logo a.sp_home_link {
  background-image: none;
  top: 0;
  position: absolute;
  left: 0;
  width: 40%;
  height: 100%;
  z-index: 10;
 }
 .headerArea .row01 > .in > .wrap .logo img {
  display: none;
 }
}
.headerArea .row01 > .in > .wrap .awardLogo {
 padding-left: 40px;
 display: table-cell;
 vertical-align: middle;
 padding-bottom: 3px;
}
@media (max-width: 1250px) {
 .headerArea .row01 > .in > .wrap .awardLogo {
  padding-left: 0;
  transform: scale(0.8);
 }
}
.headerArea .row01 > .in > .wrap .awardLogo > * {
 display: inline-block;
 vertical-align: middle;
 padding-right: 10px;
}
.headerArea .row01 > .in .subNav {
 margin-top: 23px;
 float: right;
 text-align: right;
}
.headerArea .row02 {
 position: fixed;
 top: 112px;
 width: 100%;
 height: 42px;
 margin: auto;
 z-index: 1000;
 background-color: #19216b;
 padding: 0 30px;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 transition: transform 0.6s;
}
.scrollDown.headerMenuFix .headerArea .row02 {
 transform: translateY(-42px);
}
@media (min-width: 641px) {
 .headerMenuFix .headerArea .row02 {
  position: fixed;
  top: 112px;
 }
}
@media screen and (max-width: 640px) {
 .headerArea .row02 {
  min-width: 0;
  position: fixed;
  top: 0;
 }
}
.headerArea .row02:before {
 content: '';
 display: block;
 position: absolute;
 z-index: 2;
 top: 0;
 left: 0;
 right: 0;
 height: 5px;
 background: linear-gradient(rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
}
.headerArea .row02 > .in {
 max-width: 1070px;
 width: 100%;
 margin: auto;
 position: relative;
}
.headerArea .row02 > .in:before {
 content: '';
 position: absolute;
 z-index: -1;
 display: block;
 max-width: calc(1070px - 2%);
 left: 1%;
 right: 1%;
 top: 0;
 bottom: 0;
 margin: 0 auto;
 background-color: #ffc600;
}
.headerArea .row03 {
 position: fixed;
 z-index: 1000;
 top: 90px;
 left: 0;
 width: 100%;
 pointer-events: none;
 text-align: center;
 transition: transform 1s;
 /*.endline & {
  	//top: 90px;
  	transform: translateY(40px);
  }*/
}
.headerArea .row03:before {
 transition: 0.5s;
 opacity: 0;
}
.headerMenuOn .headerArea .row03 {
 top: 90px;
 pointer-events: auto;
}
.headerMenuOn .headerArea .row03:before {
 opacity: 1;
 content: '';
 position: absolute;
 display: block;
 z-index: 1;
 top: 0;
 left: 0;
 right: 0;
 height: 5px;
 background: linear-gradient(rgba(0, 0, 0, 0.2) 0%, transparent 100%);
}
.ie10 .headerArea .row03, .ie9 .headerArea .row03 {
 display: none;
}
.headerMenuOn .ie9 .headerArea .row03, .headerMenuOn .ie10 .headerArea .row03 {
 display: block;
}
.headerArea .row03 > .in {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100vh;
 -webkit-overflow-scrolling: touch;
 overflow-y: auto;
 background-color: #fff;
 -webkit-transition: 0.6s;
 transition: 0.6s;
 -webkit-transform: translateX(50%);
 -ms-transform: translateX(50%);
 transform: translateX(50%);
 opacity: 0;
}
.headerMenuOn .headerArea .row03 > .in {
 -webkit-transform: translateX(0);
 -ms-transform: translateX(0);
 transform: translateX(0);
 opacity: 1;
}
@media screen and (max-width: 640px) {
 .headerArea .row03 .linkSet > li {
  display: block;
  padding: 0;
  text-align: left;
 }
 .headerArea .row03 .linkSet > li > a {
  position: relative;
  display: block;
  padding: 1rem 2.5rem;
  background-color: #ffc600;
 }
 .headerArea .row03 .linkSet > li > a span {
  font-size: 1.5rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 700;
  color: #0e226a;
  letter-spacing: 0.07em;
 }
 .headerArea .row03 .linkSet > li.current > a span {
  color: #f05050;
 }
 .headerArea .row03 .linkSet > li + li > a {
  border-top: 1px solid #fff;
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion {
  border-top: 1px solid #fff;
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion > dt {
  position: relative;
  display: block;
  padding: 1rem 2.5rem;
  background-color: #ffc600;
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion > dt:before, .headerArea .row03 .linkSet > .inDrawer .accordion > dt:after {
  content: '';
  position: absolute;
  background: #0e226a;
  width: 0.2rem;
  height: 1.2rem;
  padding: 0;
  top: 50%;
  right: 2.5rem;
  margin-top: -0.6rem;
  transform: rotate(0);
  transition: 0.3s;
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion > dt:before {
  transform: rotate(-90deg);
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion > dt.active span {
  color: #f05050;
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion > dt.open:after {
  transform: rotate(-90deg);
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion > dt span {
  font-size: 1.5rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 700;
  color: #0e226a;
  letter-spacing: 0.07em;
 }
 .headerArea .row03 .linkSet > .inDrawer .accordion > dd {
  display: none;
 }
 .headerArea .row03 .linkSet > .inDrawer .drawerSet {
  display: block;
  position: static;
  opacity: 1;
  width: 100%;
  padding: 0;
  background-color: #ebebeb;
  pointer-events: auto;
 }
 .headerArea .row03 .linkSet > .inDrawer .drawerSet > li {
  border-top: 1px solid #fff;
 }
 .headerArea .row03 .linkSet > .inDrawer .drawerSet > li .drawerSet {
  box-sizing: border-box;
  padding-left: 1.5rem;
 }
 .headerArea .row03 .linkSet > .inDrawer .drawerSet > li .drawerSet > li > a {
  font-size: 1.1rem;
 }
 .headerArea .row03 .linkSet > .inDrawer .drawerSet > li > a {
  padding: 1rem 3.5rem;
 }
 .headerArea .row03 .linkSet > .inDrawer .drawerSet > li > a span {
  font-size: 1.25rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  color: #19216b;
  letter-spacing: 0.07em;
 }
 .headerArea .row03 .mainNav .mod_btn01 {
  width: 28.5rem;
  height: 5.6rem;
 }
 .headerArea .row03 .mainNav .mod_btn01:before, .headerArea .row03 .mainNav .mod_btn01:after {
  width: 28.5rem;
  height: 5.6rem;
 }
 .headerArea .row03 .mainNav .mod_btn01 + .mod_btn01 {
  margin-top: 1rem;
 }
 .headerArea .row03 .mainNav .link {
  margin-top: 2rem;
 }
 .headerArea .row03 .mainNav .inq_link {
  margin-top: 2.5rem;
  margin-bottom: 3.5rem;
 }
 .headerArea .row03 .mainNav .telSet {
  margin-top: 1.5rem;
 }
 .headerArea .row03 .mainNav .telSet > dt {
  font-size: 1.15rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
 }
 .headerArea .row03 .mainNav .telSet .date {
  margin-top: 0.5rem;
  font-size: 1rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 400;
  letter-spacing: 0.03em;
 }
 .headerArea .row03 .subNav {
  padding-bottom: 15rem;
  /*.os-iOS & {
      	padding-bottom: 10rem;
      }*/
 }
 .headerArea .row03 .subNav .linkSet {
  background-color: #fff;
 }
 .headerArea .row03 .subNav .linkSet > li > a {
  position: relative;
  display: block;
  padding: 1rem 2.5rem;
  background-color: #ebebeb;
 }
 .headerArea .row03 .subNav .linkSet > li > a span {
  font-size: 1.4rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  letter-spacing: 0.07em;
  color: #0e226a;
 }
 .headerArea .row03 .subNav .linkSet > li.current > a span {
  color: #f05050;
 }
 .headerArea .row03 .subNav .grouplink_box {
  border-top: 1px solid #ebebeb;
 }
 .headerArea .row03 .subNav .grouplink_box .logo {
  padding: 2rem 0;
  text-align: center;
 }
 .headerArea .row03 .subNav .grouplink_box .logo img {
  height: 3.7rem;
  width: auto;
 }
 .headerArea .row03 .subNav .grouplink_box .link {
  margin: 1.5rem 0;
 }
 .headerArea .row03 .subNav .grouplink_box .award_box {
  margin: 1rem 0;
  font-size: 0;
  letter-spacing: 0;
 }
 .headerArea .row03 .subNav .grouplink_box .award_box > li {
  display: inline-block;
  vertical-align: middle;
  margin: 0 1rem;
 }
 .headerArea .row03 .subNav .grouplink_box .award_box > li img {
  height: 3.5rem;
  width: auto;
 }
 .headerArea .row03 .subNav .grouplink_box .award_box > li:nth-child(4) img {
  height: 1.75rem;
 }
 .headerArea .row03 .close {
  margin: 3rem 0;
  font-size: 1.2rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  text-align: center;
 }
 .headerArea .row03 .close > span {
  position: relative;
  padding-left: 1.4rem;
 }
 .headerArea .row03 .close > span:before, .headerArea .row03 .close > span:after {
  content: '';
  position: absolute;
  background: #19216b;
  width: 0.2rem;
  height: 1.6rem;
  padding: 0;
  top: 50%;
  left: 0;
  margin-top: -0.7rem;
 }
 .headerArea .row03 .close > span:before {
  transform: rotate(-45deg);
 }
 .headerArea .row03 .close > span:after {
  transform: rotate(45deg);
 }
}
.headerArea .row04 {
 position: fixed;
 z-index: 999;
 top: 152px;
 left: 0;
 width: 100%;
 box-sizing: border-box;
 padding: 0 30px;
 transition: 0.6s;
}
.grandtop .headerArea .row04 {
 top: 110px;
}
.grandtop.type01 .headerArea .row04 {
 top: calc(100vh + 110px);
}
.scrollDown.headerMenuFix .headerArea .row04 {
 transform: translateY(-42px);
}
.headerMenuFix .headerArea .row04 {
 pointer-events: none;
 opacity: 0;
}
.headerArea .row04 > .in {
 max-width: 1100px;
 width: 100%;
 margin: auto;
 text-align: left;
}
.headerArea .row04 > .in .link {
 display: inline-block;
 position: relative;
}
.headerArea .row04 > .in .link .linkin {
 display: block;
 padding: 11px 6px 11px 0;
 font-size: 1.2rem;
 opacity: 0.5;
}
.headerArea .row04 > .in .link .linkin[href] {
 opacity: 1;
}
.no-touchevents .headerArea .row04 > .in .link .linkin[href]:hover {
 text-decoration: underline;
}
.headerArea .row04 > .in .link + .link {
 margin-left: 10px;
}
.headerArea .row04 > .in .link + .link:before {
 content: "";
 display: block;
 width: 6px;
 height: 6px;
 border-top: 1px solid #000;
 border-right: 1px solid #000;
 margin: auto;
 position: absolute;
 top: 0;
 bottom: 0;
 left: -10px;
 transform: rotate(45deg);
}
.headerArea .row04 > .in .link + .link .linkin {
 padding-left: 6px;
}
.headerArea .linkSet {
 font-size: 0;
 letter-spacing: 0;
}
.headerArea .linkSet > * {
 display: inline-block;
 height: 100%;
 vertical-align: middle;
 color: #181818;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 1.3rem;
 letter-spacing: 0.07em;
 line-height: 1.75;
}
.headerArea .linkSet.type01 > li > a:after {
 display: none !important;
}
.headerArea .linkSet > li {
 padding: 0 0.4rem;
 position: relative;
}
.no-touchevents .headerArea .linkSet > li:hover > a {
 color: #f05050;
}
@media (max-width: 1250px) {
 .headerArea .linkSet > li {
  padding: 0 0.4rem;
  font-size: 1.2rem;
 }
}
.headerArea .linkSet > li.active a > span {
 color: #f05050;
}
.no-touchevents .headerArea .linkSet > li[href]:hover > a {
 color: #f05050;
}
.no-touchevents .headerArea .linkSet > li[href]:hover > a:after {
 content: '';
 position: absolute;
 display: block;
 height: 0.4rem;
 left: 0;
 right: 0;
 bottom: 0;
 background-color: #f05050;
}
.headerArea .linkSet > li > a {
 position: relative;
 display: inline-block;
 height: 100%;
 vertical-align: middle;
 transition: color 0.2s;
 opacity: 0.2;
}
.headerArea .linkSet > li > a[href] {
 opacity: 1;
}
.headerArea .linkSet > li > a.active {
 color: #f05050;
}
.headerArea .linkSet > li > a > span:before {
 content: '';
 display: inline-block;
 vertical-align: middle;
 height: 100%;
}
.headerArea .linkSet.tp01 {
 background-color: #19216b;
}
.headerArea .linkSet.tp01 > * {
 color: #fff;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 700;
 font-size: 1.3rem;
 line-height: 3.1;
}
.headerArea .linkSet.tp01 > li > a:before {
 position: relative;
 top: -0.1rem;
 content: '';
 display: inline-block;
 vertical-align: middle;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 0.32rem 0 0.32rem 0.46rem;
 border-color: transparent transparent transparent #fff;
 margin-right: 0.5rem;
}
.headerArea .linkSet.sns {
 margin-left: 0;
}
.headerArea .linkSet.sns > li.fb a {
 line-height: 1;
}
.headerArea .linkSet.sns > li.fb a svg .icon_bg {
 transition: fill 0.3s;
 fill: #717171;
}
.no-touchevents .headerArea .linkSet.sns > li.fb a:hover svg .icon_bg {
 fill: #3b5999;
}
.headerArea .mainNav .navWrap > * {
 height: 42px;
 font-size: 0;
 letter-spacing: 0;
}
.headerArea .mainNav .navWrap .home {
 float: left;
 position: relative;
 background-color: #19216b;
 padding-right: 15px;
}
.headerArea .mainNav .navWrap .home:after {
 content: '';
 display: block;
 position: absolute;
 z-index: 1;
 top: 0;
 right: -2.4rem;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 4.2rem 2.4rem 0 0;
 border-color: #19216b transparent transparent transparent;
}
.headerArea .mainNav .navWrap .home > a {
 display: table;
 height: 100%;
 transition: 0.3s;
}
.headerArea .mainNav .navWrap .home > a span {
 height: 100%;
 line-height: 0;
 display: table-cell;
 vertical-align: middle;
}
.headerArea .mainNav .navWrap .home > a span img {
 width: 66px;
 height: auto;
}
.no-touchevents .headerArea .mainNav .navWrap .home > a:hover {
 opacity: 0.5;
}
.headerArea .mainNav .navWrap .contents {
 float: right;
}
.headerArea .mainNav .navWrap .contents > .linkSet {
 display: inline-block;
 height: 100%;
 vertical-align: middle;
 text-align: right;
}
.headerArea .mainNav .navWrap .contents > .linkSet.main {
 background-color: #ffc600;
 position: relative;
}
.headerArea .mainNav .navWrap .contents > .linkSet.main > * {
 color: #0e226a;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 700;
 font-size: 1.2rem;
 line-height: 3.4;
}
.headerArea .mainNav .navWrap .contents > .linkSet.main > li {
 padding: 0 1rem;
}
@media (max-width: 1250px) {
 .headerArea .mainNav .navWrap .contents > .linkSet.main > li {
  padding: 0 0.5rem;
 }
}
.headerArea .mainNav .navWrap .contents > .linkSet.main > li > .drawerSet {
 pointer-events: none;
 opacity: 0;
}
.no-touchevents .headerArea .mainNav .navWrap .contents > .linkSet.main > li:hover > .drawerSet {
 pointer-events: auto;
 opacity: 1;
 animation: drawerFade 0.3s linear 0s;
}
@keyframes drawerFade {
 from {
  opacity: 0;
  margin-top: -0.3rem;
 }
 to {
  opacity: 1;
  margin-top: 0;
 }
}
.headerArea .mainNav .navWrap .contents > .linkSet.main:after {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 right: -2.3rem;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 4.2rem 2.4rem 0 0;
 border-color: #ffc600 transparent transparent transparent;
}
.headerArea .mainNav .navWrap .contents > .linkSet.main + .linkSet {
 padding-left: 2.5rem;
}
.headerArea .mainNav .navWrap .contents > .linkSet.main + .linkSet > li:last-child {
 padding-right: 0;
}
.headerArea .subNav {
 font-size: 0;
 letter-spacing: 0;
}
.headerArea .subNav > .linkSet {
 display: inline-block;
 vertical-align: middle;
}
.headerArea .subNav > .linkSet.sns li:last-child {
 padding-right: 0;
}
.headerArea .menu {
 position: fixed;
 display: block;
 top: 0;
 right: 0;
 width: 50px;
 height: 50px;
 z-index: 1000;
 transition: 1s;
}
.headerArea .menu:before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 bottom: 0;
 left: 10px;
 right: 0;
 width: 40px;
 height: 50px;
 background-color: #ffc600;
}
.headerArea .menu:after {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 right: 40px;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 0 0 50px 30px;
 border-color: transparent transparent #ffc600 transparent;
}
.endline .headerArea .menu, .headerMenuOn .headerArea .menu {
 top: 40px;
}
.headerArea .menu .open .bar {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
 width: 18px;
 height: 3px;
 background-color: #21273C;
 -webkit-transform-origin: right center;
 transform-origin: right center;
 -webkit-transition: 0.4s;
 transition: 0.4s;
}
.headerMenuOn .headerArea .menu .open .bar {
 opacity: 0;
}
.headerMenuOn .headerArea .menu .open .bar.bar01 {
 -webkit-transform: translateY(10px);
 -ms-transform: translateY(10px);
 transform: translateY(10px);
 -webkit-transition-delay: 0.0s;
 transition-delay: 0.0s;
}
.headerMenuOn .headerArea .menu .open .bar.bar02 {
 -webkit-transition-delay: 0.0s;
 transition-delay: 0.0s;
}
.headerMenuOn .headerArea .menu .open .bar.bar03 {
 -webkit-transform: translateY(-10px);
 -ms-transform: translateY(-10px);
 transform: translateY(-10px);
 -webkit-transition-delay: 0.0s;
 transition-delay: 0.0s;
}
.headerArea .menu .open .bar.bar01 {
 top: -16px;
 -webkit-transition-delay: 0.3s;
 transition-delay: 0.3s;
}
.headerArea .menu .open .bar.bar02 {
 top: -1px;
 -webkit-transition-delay: 0.3s;
 transition-delay: 0.3s;
}
.headerArea .menu .open .bar.bar03 {
 top: 13px;
 -webkit-transition-delay: 0.3s;
 transition-delay: 0.3s;
}
.headerArea .menu .close .bar {
 position: absolute;
 top: -2px;
 bottom: 0;
 left: 4px;
 right: 0;
 margin: auto;
 width: 20px;
 height: 3px;
 background-color: #21273C;
 -webkit-transition: 0.4s;
 transition: 0.4s;
}
.headerArea .menu .close .bar.bar01 {
 opacity: 0;
 -webkit-transform: rotate(45deg) translateX(10px);
 -ms-transform: rotate(45deg) translateX(10px);
 transform: rotate(45deg) translateX(10px);
 -webkit-transition-delay: 0.0s;
 transition-delay: 0.0s;
}
.headerMenuOn .headerArea .menu .close .bar.bar01 {
 opacity: 1;
 -webkit-transform: rotate(45deg) translateX(0px);
 -ms-transform: rotate(45deg) translateX(0px);
 transform: rotate(45deg) translateX(0px);
 -webkit-transition-delay: 0.3s;
 transition-delay: 0.3s;
}
.headerArea .menu .close .bar.bar02 {
 opacity: 0;
 -webkit-transform: rotate(-45deg) translateX(10px);
 -ms-transform: rotate(-45deg) translateX(10px);
 transform: rotate(-45deg) translateX(10px);
 -webkit-transition-delay: 0.0s;
 transition-delay: 0.0s;
}
.headerMenuOn .headerArea .menu .close .bar.bar02 {
 opacity: 1;
 -webkit-transform: rotate(-45deg) translateX(0px);
 -ms-transform: rotate(-45deg) translateX(0px);
 transform: rotate(-45deg) translateX(0px);
 -webkit-transition-delay: 0.3s;
 transition-delay: 0.3s;
}
@media screen and (max-width: 640px) {
 .headerArea .langOpen {
  position: fixed;
  overflow: hidden;
 }
}
.headerArea .drawerSet {
 position: absolute;
 transition: 0.1s;
 padding: 1.5rem 0;
 min-width: 26rem;
 background-color: rgba(25, 33, 107, 0.9);
 text-align: left;
 transition: 0.1s;
}
.headerArea .drawerSet > * {
 color: #fff;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 1.3rem;
 letter-spacing: 0.05em;
}
.headerArea .drawerSet > li {
 display: block;
 border-bottom: 0.1rem solid rgba(255, 255, 255, 0.1);
 position: relative;
}
.headerArea .drawerSet > li:first-child {
 border-top: 0.1rem solid rgba(255, 255, 255, 0.1);
}
.headerArea .drawerSet > li.submenuin > a {
 position: relative;
}
.headerArea .drawerSet > li.submenuin > a:after {
 content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 right: 1rem;
 margin: auto;
 width: 0;
 height: 0;
 display: inline-block;
 vertical-align: middle;
 border-style: solid;
 border-width: 0.32rem 0 0.32rem 0.46rem;
 border-color: transparent transparent transparent #fff;
 transition: 0.2s;
}
.no-touchevents .headerArea .drawerSet > li.submenuin:hover > a:after {
 border-color: transparent transparent transparent #0e226a;
}
.no-touchevents .headerArea .drawerSet > li.submenuin:hover .drawerSet {
 opacity: 1;
 pointer-events: auto;
}
.no-touchevents .headerArea .drawerSet > li:hover > a {
 color: #0e226a;
 background-color: #ffc600;
}
.headerArea .drawerSet > li .drawerSet {
 position: absolute;
 top: 0;
 left: 100%;
 opacity: 0;
 pointer-events: none;
 transition: 0.2s;
}
.headerArea .drawerSet > li .drawerSet.type02 {
 min-width: 50rem;
}
.headerArea .drawerSet > li .drawerSet.type02 > li {
 display: inline-block;
 width: 48%;
}
.headerArea .drawerSet > li > a {
 display: block;
 padding: 0.0rem 1.5rem;
 transition: color 0.3s, background 0.3s;
}
.footerArea {
 text-align: center;
}
@media (max-width: 640px) {
 .footerArea {
  padding-bottom: 50px;
 }
}
.footerArea.type01 {
 padding-bottom: 0;
}
.footerArea .row01 {
 background-color: #19216b;
}
.footerArea .row01 > .in {
 max-width: 1100px;
 margin: 0 auto;
 text-align: center;
 padding: 50px 0;
}
.footerArea .row01 > .in > .navWrap {
 display: inline-block;
 vertical-align: top;
 height: 100%;
 padding-right: 35px;
 border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.footerArea .row01 > .in > .navWrap + .navWrap {
 margin-left: 70px;
 padding-right: 0;
 border-right: none;
}
.footerArea .row01 .navWrap > dt, .footerArea .row01 .navWrap > dd {
 color: #fff;
 text-align: left;
}
.footerArea .row01 .navWrap > dt {
 font-size: 1.4rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 margin-bottom: 20px;
 letter-spacing: 0.1em;
 font-weight: 400;
}
.footerArea .row01 .linkSet {
 display: inline-block;
 vertical-align: top;
 margin-right: 40px;
}
.footerArea .row01 .linkSet > li {
 line-height: 1;
}
.footerArea .row01 .linkSet > li > a {
 display: inline-block;
 padding-top: 3px;
 padding-bottom: 3px;
 position: relative;
 padding-left: 1.3rem;
 transition: opacity 0.2s;
 opacity: 0.5;
}
.footerArea .row01 .linkSet > li > a:before {
 content: '';
 display: block;
 width: 4px;
 height: 4px;
 border-top: 1px solid #FFF;
 border-right: 1px solid #FFF;
 transform: rotate(45deg);
 position: absolute;
 left: 0;
 top: 50%;
 margin-top: -2px;
}
.footerArea .row01 .linkSet > li > a[href] {
 opacity: 1;
}
.no-touchevents .footerArea .row01 .linkSet > li > a[href]:hover {
 opacity: 0.5;
}
.footerArea .row01 .linkSet > li span {
 font-size: 1.2rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 line-height: 2.1;
 letter-spacing: 0.15rem;
 font-weight: 400;
}
@media screen and (max-width: 640px) {
 .footerArea .row01 .linkSet {
  display: block;
  text-align: center;
  font-size: 0;
  letter-spacing: 0;
  margin-right: 0;
 }
 .footerArea .row01 .linkSet > li {
  display: inline-block;
  width: 50%;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  background-color: #19216b;
 }
 .footerArea .row01 .linkSet > li:last-child {
  width: 100%;
 }
 .footerArea .row01 .linkSet > li.type01 {
  width: 100%;
 }
 .footerArea .row01 .linkSet > li.type02 {
  border-left: 1px solid rgba(255, 255, 255, 0.5);
 }
 .footerArea .row01 .linkSet > li > a {
  position: static;
  display: block;
  height: 5rem;
  padding: 0;
 }
 .footerArea .row01 .linkSet > li > a:before {
  content: none;
 }
 .footerArea .row01 .linkSet > li span {
  color: #fff;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  font-size: 1.15rem;
  line-height: 2;
  display: inline;
 }
 .footerArea .row01 .linkSet > li span:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
 }
}
.footerArea .row01 .snsbox {
 text-indent: -10px;
}
@media (max-width: 640px) {
 .footerArea .row01 .snsbox {
  text-indent: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
 }
}
.footerArea .row01 .snsbox a {
 display: inline-block;
 padding: 10px;
}
.no-touchevents .footerArea .row01 .snsbox a:hover circle {
 fill: rgba(255, 255, 255, 1);
}
.no-touchevents .footerArea .row01 .snsbox a:hover path {
 fill: rgba(13, 22, 99, 1);
}
.footerArea .row01 .snsbox svg {}
.footerArea .row01 .snsbox circle {
 fill: rgba(255, 255, 255, 0);
 -webkit-transition: 0.2s;
 -o-transition: 0.2s;
 transition: 0.2s;
}
.footerArea .row01 .snsbox path {
 fill: rgba(255, 255, 255, 1);
 -webkit-transition: 0.2s;
 -o-transition: 0.2s;
 transition: 0.2s;
}
.footerArea .row01 .inLink .inLinkSet {
 display: inline-block;
 vertical-align: middle;
 padding-left: 24px;
}
.footerArea .row01 .inLink .inLinkSet > li {
 line-height: 1;
}
.footerArea .row01 .inLink .inLinkSet > li > a {
 display: inline-block;
 position: relative;
 padding-left: 13px;
 transition: opacity 0.2s;
 padding-top: 3px;
 padding-bottom: 3px;
}
.footerArea .row01 .inLink .inLinkSet > li > a:before {
 content: '';
 position: absolute;
 top: 0;
 bottom: 0;
 margin: auto;
 left: 3px;
 display: block;
 width: 3px;
 height: 3px;
 border-radius: 50%;
 background-color: #fff;
}
.no-touchevents .footerArea .row01 .inLink .inLinkSet > li > a:hover {
 opacity: 0.5;
}
.footerArea .row01 .inLink .inLinkSet > li span {
 color: #fff;
 font-size: 1.2rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 line-height: 1.9;
 letter-spacing: 0.1em;
}
.footerArea .row02 {
 position: relative;
 background-color: #0d1663;
 height: 276px;
}
@media (max-width: 640px) {
 .footerArea .row02 {
  height: 15rem;
 }
}
.footerArea .row02 .link {
 display: block;
 position: absolute;
 top: 68px;
 left: 50%;
 margin-left: -123px;
 opacity: 1;
 -webkit-transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
 transition: 0.2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.no-touchevents .footerArea .row02 .link:hover {
 opacity: 0.6;
}
@media (max-width: 640px) {
 .footerArea .row02 .link {
  top: 4rem;
  margin-left: -7.5rem;
  width: auto;
  height: 4rem;
 }
}
.footerArea .row02 .link > img {
 display: block;
}
@media (max-width: 640px) {
 .footerArea .row02 .link > img {
  width: auto;
  height: 7.5rem;
 }
}
.footerArea .row03 {
 border-top: 1px solid rgba(255, 255, 255, 0.1);
 background-color: #0d1663;
 padding: 10px 0;
 font-size: 1.0rem;
 color: #FFF;
}
@media (max-width: 640px) {
 .footerArea .row03 {
  padding: 0.8rem 0;
  font-size: 0.55rem;
 }
}
.footerArea .pagetop {
 display: block;
 position: fixed;
 width: 40px;
 height: 40px;
 right: 20px;
 bottom: 20px;
 background-color: #000;
 z-index: 999;
 opacity: 0;
 pointer-events: none;
 -webkit-transition: 1.0s;
 transition: 1.0s;
 z-index: 999;
 right: 10px;
 bottom: 60px;
}
@media screen and (max-width: 640px) {
 .footerArea .pagetop {
  bottom: 60px;
 }
}
.footerPagetopView .footerArea .pagetop {
 opacity: 1;
 pointer-events: auto;
}
.footerArea .pagetop:after {
 content: "";
 display: block;
 width: 8px;
 height: 8px;
 border-top: 1px solid #FFF;
 border-right: 1px solid #FFF;
 -webkit-transform: rotate(-45deg);
 -ms-transform: rotate(-45deg);
 transform: rotate(-45deg);
 position: absolute;
 top: 6px;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
}
.footerArea .footer_fix_link {
 position: fixed;
 /*top: 17vh;*/
 top: calc(50vh - 315px);
 left: 100%;
 transform-origin: left top;
 transform: rotate(90deg);
 display: table;
 z-index: 1000;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link {
  top: auto;
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  width: 100%;
  transition: 1.0s;
 }
}
@media screen and (max-width: 640px) {
 .footerPagetopView .footerArea .footer_fix_link {
  transform: translateY(0);
 }
}
@media screen and (max-width: 640px) {
 .headerMenuOn .footerArea .footer_fix_link {
  transform: translateY(100%) !important;
 }
}
.footerArea .footer_fix_link .one {
 height: 50px;
 display: table-cell;
 background-color: #fff;
 vertical-align: middle;
 background-color: #19216B;
 padding: 0 10px;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one {
  height: 40px;
  padding: 5px 5px;
 }
}
.footerArea .footer_fix_link .one + .one {
 border-left: 1px solid #2E3588;
}
.footerArea .footer_fix_link .one.type01 {
 transition: 0.2s;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type01 {
  width: 27%;
 }
}
.no-touchevents .footerArea .footer_fix_link .one.type01:hover {
 background-color: #ffc600;
}
.no-touchevents .footerArea .footer_fix_link .one.type01:hover + .one {
 border-left: 1px solid #ffc600;
}
.footerArea .footer_fix_link .one.type01.tel {
 display: none;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type01.tel {
  display: table-cell;
 }
}
.footerArea .footer_fix_link .one.type01.tel[href] {
 display: table-cell;
}
.footerArea .footer_fix_link .one.type01 > .in {
 display: block;
 white-space: pre;
}
.footerArea .footer_fix_link .one.type01 > .in > img {
 display: inline-block;
 vertical-align: middle;
 transform: rotate(-90deg);
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type01 > .in > img {
  display: block;
  margin: auto;
  width: auto;
  height: 21px;
  transform: none;
 }
}
.footerArea .footer_fix_link .one.type01 > .in > span {
 display: inline-block;
 vertical-align: middle;
 font-size: 1.5rem;
 line-height: 1;
 color: #FFF;
 font-weight: 400;
 margin-left: 10px;
 transition: 0.2s;
 letter-spacing: 0.1rem;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type01 > .in > span {
  display: block;
  font-size: 11px;
  margin-left: 0;
  font-weight: lighter;
  letter-spacing: 1px;
  margin-top: 5px;
 }
}
.footerArea .footer_fix_link .one.type02 {
 padding: 0;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type02 {
  width: 19%;
 }
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .fb, .no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta {
 clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
 -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta .instaarea a {
 transform: none;
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta .instaarea a:nth-child(1) {
 transition-delay: 0.00s;
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta .instaarea a:nth-child(2) {
 transition-delay: 0.05s;
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta .instaarea a:nth-child(3) {
 transition-delay: 0.10s;
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta .instaarea a:nth-child(4) {
 transition-delay: 0.15s;
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta .instaarea a:nth-child(5) {
 transition-delay: 0.20s;
}
.no-touchevents .footerArea .footer_fix_link .one.type02:hover .insta .instaarea a:nth-child(6) {
 transition-delay: 0.25s;
}
.no-touchevents .footerArea .footer_fix_link .one.type02 .insta .instaarea a:hover {
 opacity: 0.6;
}
.fbhoverForIE .footerArea .footer_fix_link .one.type02 .fb, .fbhoverForIE .footerArea .footer_fix_link .one.type02 .insta {
 opacity: 1 !important;
 pointer-events: auto !important;
}
.footerArea .footer_fix_link .one.type02 .link {
 display: block;
 width: 50px;
 height: 50px;
 box-sizing: border-box;
 padding-top: 11px;
 transition: 0.2s;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type02 .link {
  width: 100%;
 }
}
.no-touchevents .footerArea .footer_fix_link .one.type02 .link:hover {
 background-color: #ffc600;
}
.no-touchevents .footerArea .footer_fix_link .one.type02 .link:hover > svg path {
 fill: #ffc600;
}
.footerArea .footer_fix_link .one.type02 .link > svg {
 display: inline-block;
 transform: rotate(-90deg);
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type02 .link > svg {
  transform: none;
  width: 30px;
  height: 30px;
 }
}
.footerArea .footer_fix_link .one.type02 .link > svg circle {
 fill: #FFF;
 transition: 0.2s;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type02 .link > svg circle {
  fill: transparent;
 }
}
.footerArea .footer_fix_link .one.type02 .link > svg path {
 fill: #19216B;
 transition: 0.2s;
}
@media screen and (max-width: 640px) {
 .footerArea .footer_fix_link .one.type02 .link > svg path {
  fill: #FFF;
 }
}
.footerArea .footer_fix_link .one.type02 .fb, .footerArea .footer_fix_link .one.type02 .insta {
 position: absolute;
 width: 100%;
 height: 500px;
 top: 50px;
 left: 0;
 overflow: hidden;
 background-color: #FFF;
 clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
 -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
 transition: 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.footerArea .footer_fix_link .one.type02 .insta {
 width: 85%;
 left: 15%;
}
.ie .footerArea .footer_fix_link .one.type02 .fb, .ie .footerArea .footer_fix_link .one.type02 .insta {
 opacity: 0;
 pointer-events: none;
}
.footerArea .footer_fix_link .one.type02 .fb > *, .footerArea .footer_fix_link .one.type02 .insta > * {
 position: absolute;
 transform-origin: left top;
 transform: rotate(-90deg);
 top: 100%;
 left: 0;
}
.footerArea .footer_fix_link .one.type02 .insta .instaTit {
 display: block;
 left: 40px;
 top: 460px;
}
.footerArea .footer_fix_link .one.type02 .insta .instaarea {
 width: 500px;
 height: 430px;
 left: 136px;
}
.footerArea .footer_fix_link .one.type02 .insta .instaarea a {
 width: 140px;
 height: 140px;
 display: inline-block;
 margin: 4px;
 -webkit-background-size: cover;
 background-size: cover;
 background-position: center center;
}
.no-touchevents .footerArea .footer_fix_link .one.type02 .insta .instaarea a {
 -webkit-transition: opacity 0.2s, transform 1.0s;
 -o-transition: opacity 0.2s, transform 1.0s;
 transition: opacity 0.2s, transform 1.0s;
 transform: translateX(600px);
}
.spinstaabox {
 background-color: #FFF;
 padding: 30px 0 30px;
}
.spinstaabox .instaTit {
 width: 90%;
 height: auto;
 display: block;
 margin: auto;
}
.spinstaabox .instaarea {
 margin-top: 30px;
 text-align: center;
}
.spinstaabox .instaarea a {
 width: 27vw;
 height: 27vw;
 display: inline-block;
 margin: 1px 2px;
 -webkit-background-size: cover;
 background-size: cover;
 background-position: center center;
 transform: scale(0);
}
.spinstaabox .instaarea a.active {
 transform: none;
 -webkit-transition: 1.0s cubic-bezier(0.160, 1.650, 0.300, 0.930);
 -o-transition: 1.0s cubic-bezier(0.160, 1.650, 0.300, 0.930);
 transition: 1.0s cubic-bezier(0.160, 1.650, 0.300, 0.930);
}
/*--contactパート--*/
.sec_contact > .wrap {
 text-align: center;
 height: 49.6rem;
 background-size: cover;
 background-position: center top;
 background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
 .sec_contact > .wrap {
  height: 37rem;
 }
}
.sec_contact .contact_box {
 position: relative;
 top: 50%;
 margin: 0 auto;
 transform: translateY(-50%);
 max-width: 62rem;
 padding: 5.5rem 0;
 background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 640px) {
 .sec_contact .contact_box {
  width: calc(100% - 3rem);
  padding: 3rem 0;
 }
}
.sec_contact .title {
 font-size: 4.1rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 color: #19216b;
 letter-spacing: 0.08em;
 line-height: 1.0;
}
.sec_contact .title + .read {
 font-size: 1.3rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 letter-spacing: 0.1em;
 line-height: 1.96;
 margin-top: 10px;
}
@media screen and (max-width: 640px) {
 .sec_contact .title {
  font-size: 3rem;
 }
 .sec_contact .title + .read {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 1rem;
 }
}
.sec_contact .link {
 margin: 2rem 0;
}
@media screen and (max-width: 640px) {
 .sec_contact .link {
  margin: 1rem 0;
 }
 .sec_contact .link + .read {
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  font-size: 1.15rem;
  letter-spacing: 0.05em;
 }
 .sec_contact .link.tel {
  margin: 0 0 0.5rem;
 }
}
.sec_contact .mod_btn01 {
 width: 28.3rem;
 height: 6.4rem;
}
.sec_contact .mod_btn01:before, .sec_contact .mod_btn01:after {
 width: 28.3rem;
 height: 6.4rem;
}
.sec_contact .mod_btn01 span {
 font-size: 1.8rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 color: #0e226a;
}
@media screen and (max-width: 640px) {
 .sec_contact .mod_btn01 {
  width: 24.5rem;
  height: 5.2rem;
 }
 .sec_contact .mod_btn01:before, .sec_contact .mod_btn01:after {
  width: 24.5rem;
  height: 5.2rem;
 }
 .sec_contact .mod_btn01 span {
  font-size: 1.3rem;
  line-height: 4;
 }
}
.sec_contact .mod_btn01.tel span {
 font-size: 1.75rem;
 line-height: 3.0;
}
.sec_contact .mod_btn01.tel span:after {
 width: 2.5rem;
 height: 2.5rem;
 margin-top: -1.25rem;
}
@media screen and (min-width: 641px) {
 .sec_contact .tel {
  font-size: 3.3rem;
  font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #19216b;
 }
 .sec_contact .tel > span {
  font-size: 2.8rem;
  margin-right: 1rem;
 }
}
.sec_contact .date > * {
 font-size: 1.1rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
 .sec_contact .date > * {
  font-size: 1rem;
  letter-spacing: 0.03em;
 }
}
.sec_contact .inline {
 display: inline-block;
}
.sec_contact .inline dt {
 float: left;
}
.sec_contact .inline dd {
 float: left;
}
.sec_contact .inline:after {
 content: '';
 display: block;
 clear: both;
}
/*--共用ボタン--*/
.mod_btn01 {
 position: relative;
 display: inline-block;
 width: 18.6rem;
 height: 4.0rem;
 padding: 0.3rem;
 transition: 0.2s;
 text-align: center;
}
.mod_btn01.disabled {
 pointer-events: none;
 opacity: 0.3;
 filter: saturate(0);
}
.mod_btn01 > span {
 position: relative;
 margin: 0 auto;
 display: inline;
 font-size: 1.3rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 color: #0e226a;
}
.mod_btn01 > span:before {
 content: '';
 display: inline-block;
 height: 100%;
 vertical-align: middle;
}
@media screen and (max-width: 640px) {
 .mod_btn01 > span {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
 }
}
.mod_btn01:before {
 content: '';
 display: block;
 background-color: #ffc600;
 position: absolute;
 z-index: 0;
 width: 18.6rem;
 height: 4.0rem;
 top: 0.3rem;
 left: 0.3rem;
 transition: 0.2s;
}
.mod_btn01:after {
 content: '';
 display: block;
 position: absolute;
 bottom: 0;
 right: 0;
 width: 18.6rem;
 height: 4.0rem;
 box-sizing: border-box;
 border-bottom: 0.1rem solid #ffc600;
 border-right: 0.1rem solid #ffc600;
}
.no-touchevents .mod_btn01:hover {
 padding-top: 0.6rem;
 padding-left: 0.6rem;
 padding-bottom: 0;
 padding-right: 0;
}
.no-touchevents .mod_btn01:hover:before {
 margin-top: 0.2rem;
 margin-left: 0.3rem;
}
.mod_btn01.tp01 > span {
 font-size: 1.4rem;
 line-height: 2.2;
 letter-spacing: 0.05em;
 color: #fff;
}
@media screen and (max-width: 640px) {
 .mod_btn01.tp01 > span {
  line-height: 2.6;
 }
}
.mod_btn01.tp01:before {
 background-color: #19216b;
}
.mod_btn01.tp01:after {
 border-color: #19216b;
}
.mod_btn01.tp02 > span {
 font-size: 1.4rem;
 line-height: 2.2;
 letter-spacing: 0.05em;
 color: #19216b;
}
@media screen and (max-width: 640px) {
 .mod_btn01.tp02 > span {
  line-height: 3.6;
 }
}
.mod_btn01.tp02:before {
 background-color: #fff;
 border: 1px solid #19216b;
 box-sizing: border-box;
}
.mod_btn01.tp02:after {
 border-color: #19216b;
}
.mod_btn01.tel > span {
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 1.5rem;
 line-height: 3.6;
 letter-spacing: 0.05em;
 color: #fff;
 position: relative;
 padding-left: 3.2rem;
}
@media screen and (max-width: 640px) {
 .mod_btn01.tel > span {
  font-size: 1.85rem;
  letter-spacing: 0.03em;
  line-height: 3.0;
 }
}
.mod_btn01.tel > span:after {
 content: '';
 position: absolute;
 left: 0;
 top: 50%;
 margin-top: -1.35rem;
 display: inline-block;
 width: 2.9rem;
 height: 2.9rem;
 background-image: url(../img/icon_tel.png);
 background-size: auto 100%;
 background-repeat: no-repeat;
}
.mod_btn01.tel:before {
 background-color: #19216b;
}
.mod_btn01.tel:after {
 border-color: #19216b;
}
.mod_btn02 {
 position: relative;
 display: inline-block;
 width: 29rem;
 height: 5.0rem;
 transition: 0.2s;
 text-align: center;
 box-sizing: border-box;
 border: 0.1rem solid #19216b;
}
.mod_btn02 > span {
 position: relative;
 margin: 0 auto;
 display: inline;
 font-size: 1.3rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 color: #0e226a;
}
.mod_btn02 > span:before {
 content: '';
 display: inline-block;
 height: 100%;
 vertical-align: middle;
}
.mod_btn02 > span:after {
 content: '';
 position: absolute;
 left: 0;
 top: 50%;
 display: block;
 background-size: auto 100%;
 background-position: center center;
 background-repeat: no-repeat;
}
.mod_btn02.fb, .mod_btn02.insta {
 width: 13rem;
 margin: 0 2px;
}
.mod_btn02.fb > span {
 font-size: 1.4rem;
 line-height: 2.2;
 letter-spacing: 0.05em;
 padding-left: 2.5rem;
}
@media screen and (max-width: 640px) {
 .mod_btn02.fb > span {
  font-size: 1.3rem;
  letter-spacing: 0.07em;
  line-height: 3.8;
 }
}
.mod_btn02.fb > span:after {
 width: 2rem;
 height: 2rem;
 margin-top: -1rem;
 background-image: url(../img/sns_fb_icon.svg);
}
.mod_btn02.insta > span {
 font-size: 1.4rem;
 line-height: 2.2;
 letter-spacing: 0.05em;
 padding-left: 2.5rem;
}
@media screen and (max-width: 640px) {
 .mod_btn02.insta > span {
  font-size: 1.3rem;
  letter-spacing: 0.07em;
  color: #232328;
  line-height: 3.8;
 }
}
.mod_btn02.insta > span:after {
 width: 2rem;
 height: 2rem;
 margin-top: -1rem;
 -webkit-background-size: 100% 100%;
 background-size: 100% 100%;
 background-image: url(../img/sns_insta_icon_sp.png);
}
.mod_btn03 {
 position: relative;
 display: inline-block;
 width: 100%;
 height: 5.0rem;
 padding: 0;
 transition: 0.2s;
 text-align: center;
 top: 0;
 left: 0;
 max-width: 200px;
}
.mod_btn03 > span {
 position: relative;
 margin: 0 auto;
 display: inline;
 font-size: 1.3rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 color: #0e226a;
 transition: 0.2s;
}
.mod_btn03 > span:before {
 content: '';
 display: inline-block;
 height: 100%;
 vertical-align: middle;
}
@media screen and (max-width: 640px) {
 .mod_btn03 > span {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
 }
}
.mod_btn03:before {
 content: '';
 display: block;
 background-color: #ffc600;
 position: absolute;
 z-index: 0;
 width: 100%;
 height: 5.0rem;
 top: 0;
 left: 0;
 transition: 0.2s;
}
.mod_btn03:after {
 content: '';
 display: block;
 position: absolute;
 bottom: -0.3rem;
 right: -0.3rem;
 width: 100%;
 height: 5.0rem;
 box-sizing: border-box;
 border-bottom: 0.1rem solid #ffc600;
 border-right: 0.1rem solid #ffc600;
 transition: 0.2s;
}
.no-touchevents .mod_btn03:hover {
 top: 0.3rem;
 left: 0.3rem;
}
.no-touchevents .mod_btn03:hover:after {
 bottom: 0.0rem;
 right: 0.0rem;
}
.mod_btn03.tp01 > span {
 font-size: 1.4rem;
 line-height: 2.2;
 letter-spacing: 0.05em;
 color: #fff;
}
@media screen and (max-width: 640px) {
 .mod_btn03.tp01 > span {
  line-height: 3.6;
 }
}
.mod_btn03.tp01:before {
 background-color: #19216b;
}
.mod_btn03.tp01:after {
 border-color: #19216b;
}
.mod_btn03.tp02 > span {
 font-size: 1.4rem;
 line-height: 2.2;
 letter-spacing: 0.05em;
 color: #19216b;
}
@media screen and (max-width: 640px) {
 .mod_btn03.tp02 > span {
  line-height: 3.6;
 }
}
.mod_btn03.tp02:before {
 background-color: #fff;
 border: 1px solid #19216b;
 box-sizing: border-box;
}
.mod_btn03.tp02:after {
 border-color: #19216b;
}
.mod_btn03.tp03 > span {
 font-size: 1.4rem;
 line-height: 2.2;
 letter-spacing: 0.05em;
 color: #171C61;
}
@media screen and (max-width: 640px) {
 .mod_btn03.tp03 > span {
  line-height: 3.6;
 }
}
.mod_btn03.tp03:before {
 background-color: #F5C828;
}
.mod_btn03.tp03:after {
 border-color: #F5C828;
}
.mod_btn03.tel > span {
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 1.5rem;
 line-height: 3.6;
 letter-spacing: 0.05em;
 color: #fff;
 position: relative;
 padding-left: 3.2rem;
}
@media screen and (max-width: 640px) {
 .mod_btn03.tel > span {
  font-size: 1.85rem;
  letter-spacing: 0.03em;
  line-height: 3.0;
 }
}
.mod_btn03.tel > span:after {
 content: '';
 position: absolute;
 left: 0;
 top: 50%;
 margin-top: -1.35rem;
 display: inline-block;
 width: 2.9rem;
 height: 2.9rem;
 background-image: url(../img/icon_tel.png);
 background-size: auto 100%;
 background-repeat: no-repeat;
}
.mod_btn03.tel:before {
 background-color: #19216b;
}
.mod_btn03.tel:after {
 border-color: #19216b;
}
/*--sec_tit--*/
.sec_tit {
 display: block;
 text-align: center;
 margin-top: 4.5rem;
 margin-bottom: 3rem;
}
@media screen and (max-width: 640px) {
 .sec_tit {
  margin-top: 4rem;
 }
}
.sec_tit.type01 > .title {
 background-image: none !important;
}
.sec_tit > .title {
 display: inline-block;
 min-width: 37.2rem;
 min-height: 11rem;
 position: relative;
 text-align: center;
 background-image: url(../img/sec_tit_deco_lft.webp), url(../img/sec_tit_deco_rgt.webp);
 /*background-size: 7.5rem auto, 9.5rem auto;*/
 background-size: 12rem auto, 9.5rem auto;
 background-position: left bottom, right 1.5rem;
 background-repeat: no-repeat;
 box-sizing: border-box;
}
#Award .sec_tit > .title.type02 {
 background-size: 16% auto, 11% auto;
}
.sec_tit > .title.type02 {
 min-width: 80rem;
}
@media screen and (max-width: 640px) {
 .sec_tit > .title.type02 {
  min-width: 28rem;
 }
 #Award .sec_tit > .title.type02 {
  background-size: auto 4.4rem, auto 6.5rem;
 }
}
.sec_tit > .title.type01 {
 margin-top: 120px;
}
.sec_tit > .title.type01:after {
 content: "";
 display: block;
 width: 1px;
 height: 80px;
 margin: auto;
 position: absolute;
 background-color: #171C61;
 left: 0;
 right: 0;
 bottom: 100%;
 top: -20px;
 margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
 .sec_tit > .title {
  min-width: 28rem;
  min-height: 9.3rem;
  background-size: auto 2.4rem, auto 3.5rem;
  background-position: left 6.5rem, right 3rem;
 }
}
.sec_tit > .title > span {
 display: inline-block;
 padding-top: 5rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 4rem;
 line-height: 1.75;
 letter-spacing: 0.05em;
 color: #0d1663;
 background-image: url(../img/sec_tit_deco_ctr.webp);
 background-size: 5.8rem 5.2rem;
 background-repeat: no-repeat;
 background-position: center top;
}
@media screen and (max-width: 640px) {
 .sec_tit > .title > span.type01 {
  letter-spacing: 0;
 }
}
@media screen and (max-width: 640px) {
 .sec_tit > .title > span {
  padding-top: 4.8rem;
  font-size: 3.2rem;
  background-size: auto 4.1rem;
  line-height: 3.5rem;
 }
}
.sec_tit > .title + .read {
 margin-top: 0;
 text-align: center;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 font-size: 1.5rem;
 letter-spacing: 0.05em;
 line-height: 1.75;
 padding-left: 0.5rem;
 padding-right: 0.5rem;
}
@media screen and (max-width: 640px) {
 .sec_tit > .title + .read {
  margin-top: 1rem;
  font-size: 1.2rem;
 }
}
/*--cont_tit--*/
.cont_tit {
 display: block;
 position: relative;
 text-align: center;
 padding-bottom: 0.5rem;
}
.cont_tit > span {
 font-size: 4.1rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 letter-spacing: 0;
 line-height: 1.75;
 color: #0d1663;
 letter-spacing: 0.2rem;
}
.cont_tit:before {
 position: absolute;
 content: '';
 display: block;
 width: 6rem;
 height: 0.4rem;
 bottom: 0;
 left: 50%;
 margin-left: -3rem;
 background-color: #0d1663;
}
.cont_tit + .catch {
 margin-top: 2rem;
 font-size: 2.5rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 letter-spacing: 0;
 line-height: 1.44;
 color: #0d1663;
 text-align: center;
}
.cont_tit.tp02 {
 padding-bottom: 0.25rem;
}
.cont_tit.tp02 > span {
 font-size: 3.4rem;
}
@media screen and (max-width: 640px) {
 .cont_tit.tp02 > span {
  font-size: 2.05rem;
  letter-spacing: 0.05em;
 }
}
.cont_tit.tp02:before {
 width: 5rem;
 height: 0.3rem;
 margin-left: -2.5rem;
}
@media screen and (max-width: 640px) {
 .cont_tit.tp02:before {
  width: 2.2rem;
  height: 0.15rem;
  margin-left: -1.1rem;
 }
}
.cont_tit.tp02 + .catch {
 margin-top: 1rem;
 font-size: 1.7rem;
 letter-spacing: 0.05em;
 line-height: 1.53;
 padding: 0 50px;
}
@media screen and (max-width: 640px) {
 .cont_tit.tp02 + .catch {
  font-size: 1.25rem;
  line-height: 1.35;
  letter-spacing: 0.05em;
  padding: 0 1rem;
 }
}
.bcbl .cont_tit > span {
 color: #fff;
}
.bcbl .cont_tit:before {
 background-color: #ffc600;
}
.bcbl .cont_tit + .catch {
 color: #fff;
}
.bcyl .cont_tit > span {
 color: #0d1663;
}
.bcyl .cont_tit:before {
 background-color: #fff;
}
.bcyl .cont_tit + .catch {
 color: #0d1663;
}
.bcgl .cont_tit > span {
 color: #0d1663;
}
.bcgl .cont_tit:before {
 background-color: #ffc600;
}
.bcgl .cont_tit + .catch {
 color: #181818;
}
.bcwh .cont_tit > span {
 color: #0d1663;
}
.bcwh .cont_tit:before {
 background-color: #ffc600;
}
.bcwh .cont_tit + .catch {
 color: #0d1663;
}
/*--common element--*/
.title.tp02 {
 border: 1px solid #f05050;
 width: 34rem;
 height: 5rem;
 box-sizing: border-box;
 text-align: center;
}
@media screen and (max-width: 640px) {
 .title.tp02 {
  width: 100%;
  height: 4.8rem;
 }
}
.title.tp02 span {
 display: inline;
 font-size: 2.2rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 letter-spacing: 0.05em;
 line-height: 2.2;
 color: #f05050;
}
@media screen and (max-width: 640px) {
 .title.tp02 span {
  font-size: 1.9rem;
  line-height: 2.4;
 }
}
.title.tp02 span:before {
 content: '';
 display: inline-block;
 height: 100%;
 vertical-align: middle;
 line-height: 1.63;
}
.title.tp02 + .read {
 margin-top: 1rem;
 text-align: left;
 font-size: 1.4rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 letter-spacing: 0.05em;
 line-height: 1.64;
 text-align: justify;
}
@media screen and (max-width: 640px) {
 .title.tp02 + .read {
  font-size: 1.2rem;
 }
}
.catch {
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 4.4rem;
 letter-spacing: 0;
 line-height: 1.3;
 color: #0d1663;
}
@media screen and (max-width: 640px) {
 .catch {
  font-size: 2.5rem;
 }
}
.sub_cp {
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 font-size: 2.2rem;
 letter-spacing: 0;
 line-height: 1.46;
 color: #f05050;
 word-wrap: break-word;
 overflow-wrap: break-word;
}
@media screen and (max-width: 640px) {
 .sub_cp {
  font-size: 1.65rem;
 }
}
.read {
 text-align-last: auto;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 font-size: 1.6rem;
 letter-spacing: 0.05em;
 line-height: 1.93;
}
@media screen and (max-width: 640px) {
 .read {
  font-size: 1.2rem;
 }
}
/*--no_tab--*/
.no_tab {
 position: relative;
 display: block;
 text-align: center;
 background-color: #f05050;
 width: 12.8rem;
 height: 12.8rem;
}
.no_tab:after {
 position: absolute;
 left: 50%;
 bottom: -1.5rem;
 margin-left: -0.75rem;
 content: '';
 display: block;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 1.5rem 0.75rem 0 0.75rem;
 border-color: #f05050 transparent transparent transparent;
}
.no_tab > .title {
 position: relative;
 top: 13px;
 display: block;
 font-size: 2.3rem;
 font-family: "Courgette", cursive;
 font-weight: 400;
 color: #fff;
 text-align: center;
 transform: rotate(-15.5deg);
}
.no_tab > .no {
 display: block;
 font-size: 7.2rem;
 font-family: "vinyl", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 400;
 letter-spacing: 0.02em;
 line-height: 0.56;
 color: #fff;
 text-align: center;
}
.no_tab.tp02 {
 width: 7.2rem;
 height: 7.2rem;
}
@media screen and (max-width: 640px) {
 .no_tab.tp02 {
  width: 3.9rem;
  height: 3.9rem;
 }
}
.no_tab.tp02:after {
 margin-left: -0.4rem;
 bottom: -0.8rem;
 border-width: 0.8rem 0.4rem 0 0.4rem;
}
@media screen and (max-width: 640px) {
 .no_tab.tp02:after {
  margin-left: -0.25rem;
  bottom: -0.5rem;
  border-width: 0.5rem 0.25rem 0 0.25rem;
 }
}
.no_tab.tp02 > .title {
 top: 8px;
 display: block;
 font-size: 1.6rem;
 margin-left: -2px;
}
@media screen and (max-width: 640px) {
 .no_tab.tp02 > .title {
  top: 0.5rem;
  font-size: 0.9rem;
 }
}
.no_tab.tp02 > .no {
 font-size: 3.4rem;
 line-height: 1.6;
 letter-spacing: 0.02em;
}
@media screen and (max-width: 640px) {
 .no_tab.tp02 > .no {
  font-size: 1.8rem;
 }
}
/*--cmn_pagelead01--*/
.cmn_pagelead01 {
 text-align: center;
 padding: 50px 30px;
 background-color: #F4F4F2;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead01 {
  padding: 2rem 1rem 3rem;
 }
}
.cmn_pagelead01 .title01 > .in {
 display: inline-block;
 padding-bottom: 12px;
 font-size: 5.5rem;
 font-weight: bold;
 color: #171C61;
 position: relative;
 letter-spacing: 0.5rem;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead01 .title01 > .in {
  font-size: 2.7rem;
  padding-bottom: 1rem;
  letter-spacing: 0.2rem;
 }
}
.cmn_pagelead01 .title01 > .in:after {
 content: "";
 display: block;
 position: absolute;
 bottom: 0;
 left: 0;
 right: 0;
 margin: auto;
 width: 70px;
 height: 4px;
 background-color: #F5C51D;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead01 .title01 > .in:after {
  width: 4rem;
  height: 0.3rem;
 }
}
.cmn_pagelead01 .title01 > .in > span.line01 {
 font-size: 4.0rem;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead01 .title01 > .in > span.line01 {
  font-size: 2.7rem;
 }
}
.cmn_pagelead01 .caption01 {
 margin-top: 36px;
 font-size: 2.0rem;
 font-weight: normal;
 line-height: 3.0rem;
 color: #171C61;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead01 .caption01 {
  margin-top: 1.2rem;
  font-size: 1.2rem;
  line-height: 2rem;
 }
}
/*--cmn_pagelead02--*/
.cmn_pagelead02 {
 text-align: center;
 padding: 130px 30px;
 background-color: #000;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead02 {
  padding: 3.5rem 0 4rem;
 }
}
.cmn_pagelead02 .title01 {
 display: inline-block;
 position: relative;
 padding: 60px 110px 0 110px;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead02 .title01 {
  padding: 5rem 4rem 0;
 }
}
.cmn_pagelead02 .title01:before, .cmn_pagelead02 .title01:after {
 content: "";
 display: block;
 background-size: 100% auto;
 background-position: center center;
 background-repeat: no-repeat;
 position: absolute;
}
.cmn_pagelead02 .title01:before {
 width: 61px;
 height: 61px;
 left: 0;
 bottom: 7px;
 background-repeat: no-repeat;
 background-image: url(../img/txt03_02.png);
}
@media screen and (max-width: 640px) {
 .cmn_pagelead02 .title01:before {
  bottom: 0;
  width: 4rem;
  height: 7rem;
 }
}
.cmn_pagelead02 .title01:after {
 width: 85px;
 height: 88px;
 right: 0;
 top: 42px;
 background-repeat: no-repeat;
 background-image: url(../img/txt03_03.png);
}
@media screen and (max-width: 640px) {
 .cmn_pagelead02 .title01:after {
  idth: 5rem;
  height: 7rem;
  top: 3rem;
 }
}
.cmn_pagelead02 .title01 > .in {
 font-size: 4.5rem;
 font-weight: bold;
 color: #FFF;
 letter-spacing: 0.5rem;
 font-weight: 400;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead02 .title01 > .in {
  font-size: 3.2rem;
  letter-spacing: 0.1rem;
  line-height: 3rem;
 }
}
.cmn_pagelead02 .title01 > .in:after {
 content: "";
 display: block;
 position: absolute;
 width: 58px;
 height: 52px;
 top: 0;
 left: 0;
 right: 0;
 margin: auto;
 background-image: url(../img/txt03_01.png);
 background-size: 100% 100%;
 background-position: center center;
}
@media screen and (max-width: 640px) {
 .cmn_pagelead02 .title01 > .in:after {
  width: 5rem;
  height: 4.5rem;
 }
}
@media screen and (max-width: 640px) {
 .cmnSelector01 {
  margin-top: 1rem;
 }
}
.cmnSelector01 .desc {
 font-size: 1.3rem;
 text-align: left;
}
.cmnSelector01 .selectwrap {
 margin-top: 4px;
 position: relative;
}
.cmnSelector01 .selectwrap .selectname {
 background-color: #171C61;
 color: #FFF;
 text-align: center;
 font-size: 1.4rem;
 width: 100%;
 padding: 7px 40px 7px 40px;
 box-sizing: border-box;
}
.cmnSelector01 .selectwrap .selectname:after {
 content: "";
 display: block;
 width: 0;
 height: 0;
 position: absolute;
 top: 100%;
 left: 0;
 right: 0;
 margin: auto;
 border-top: 13px solid #171C61;
 border-right: 7px solid transparent;
 border-left: 7px solid transparent;
 border-bottom: 0 solid transparent;
}
.cmnSelector01 .selectwrap .selector {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 font-size: 16px;
 opacity: 0;
}
.cmnSelector01 .selectwrap .arrow {
 width: 2.2rem;
 height: 2.2rem;
 border-radius: 50%;
 position: absolute;
 top: 0;
 bottom: 0;
 right: 6px;
 margin: auto;
 background-color: #F5C51D;
}
.cmnSelector01 .selectwrap .arrow:after {
 content: "";
 display: block;
 width: 5px;
 height: 5px;
 border-bottom: 2px solid #171C61;
 border-right: 2px solid #171C61;
 position: absolute;
 top: -2px;
 left: 0;
 right: 0;
 bottom: 0;
 margin: auto;
 transform: rotate(45deg);
}
.cmnSelector02Wrap {
 text-align: right;
 margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
 .cmnSelector02Wrap {
  margin: 2rem 0 1rem;
 }
}
.cmnSelector02 {
 text-align: left;
 display: inline-block;
}
@media screen and (max-width: 640px) {
 .cmnSelector02 {
  display: block;
 }
}
.cmnSelector02 .desc {
 font-size: 1.3rem;
 text-align: left;
}
.cmnSelector02 .selectwrap {
 margin-top: 4px;
 position: relative;
}
.cmnSelector02 .selectwrap .selectname {
 display: inline-block;
 background-color: #EBEBEB;
 text-align: left;
 font-size: 1.4rem;
 width: 100%;
 border: 1px solid #C0C0C0;
 padding: 2px 40px 4px 10px;
 box-sizing: border-box;
 min-width: 220px;
}
@media screen and (max-width: 640px) {
 .cmnSelector02 .selectwrap .selectname {
  display: block;
 }
}
.cmnSelector02 .selectwrap .selectname:after {
 content: "";
 display: block;
 width: 0;
 height: 0;
 position: absolute;
 top: 5px;
 bottom: 0;
 right: 10px;
 margin: auto;
 border-top: 7px solid #505050;
 border-left: 5px solid transparent;
 border-right: 5px solid transparent;
 border-bottom: 5px solid transparent;
}
.cmnSelector02 .selectwrap .selectname:before {
 content: "";
 display: inline-block;
 width: 20px;
 height: 14px;
 background-size: 100% 100%;
 background-position: center center;
 margin-right: 7px;
 position: relative;
 top: 2px;
}
.cmnSelector02 .selectwrap .selectname[data-langtype="JPY"]:before {
 background-image: url(../img/lang_icon_jp.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="USD"]:before {
 background-image: url(../img/lang_icon_us.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="EUR"]:before {
 background-image: url(../img/lang_icon_euro.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="AUD"]:before {
 background-image: url(../img/lang_icon_aus.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="GBP"]:before {
 background-image: url(../img/lang_icon_en.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="CAD"]:before {
 background-image: url(../img/lang_icon_cad.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="HKD"]:before {
 background-image: url(../img/lang_icon_hk.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="SGD"]:before {
 background-image: url(../img/lang_icon_sgd.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="TWD"]:before {
 background-image: url(../img/lang_icon_tc.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="KRW"]:before {
 background-image: url(../img/lang_icon_kr.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="DKK"]:before {
 background-image: url(../img/lang_icon_dkk.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="IDR"]:before {
 background-image: url(../img/lang_icon_idr.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="MYR"]:before {
 background-image: url(../img/lang_icon_myr.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="MXN"]:before {
 background-image: url(../img/lang_icon_mxn.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="NZD"]:before {
 background-image: url(../img/lang_icon_nzd.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="NOK"]:before {
 background-image: url(../img/lang_icon_nok.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="PHP"]:before {
 background-image: url(../img/lang_icon_php.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="PLN"]:before {
 background-image: url(../img/lang_icon_pln.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="SEK"]:before {
 background-image: url(../img/lang_icon_se.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="CHF"]:before {
 background-image: url(../img/lang_icon_chf.png);
}
.cmnSelector02 .selectwrap .selectname[data-langtype="THB"]:before {
 background-image: url(../img/lang_icon_th.png);
}
.cmnSelector02 .selectwrap .selector {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 font-size: 16px;
 opacity: 0;
}
.cmnSelector02 .selectwrap .selector optgroup {
 display: none;
}
@media screen and (max-width: 640px) {
 .cmnSelector02 .selectwrap .selector optgroup {
  display: block;
 }
}
.cmnSelector03 {
 width: 112%;
 margin-left: -6%;
}
.cmnSelector03.type01 {
 width: 110%;
 margin-left: -3%;
 margin-bottom: 3rem;
}
.cmnSelector03 input {
 position: absolute;
 pointer-events: none;
}
.cmnSelector03 .mod_btn03 {
 width: 42%;
 margin: 1rem 2.5% 0;
 vertical-align: top;
}
.cmnSelector03 .mod_btn03 > span {
 display: block;
 position: absolute;
 top: 50%;
 left: 0;
 width: 100%;
 transform: translateY(-50%);
 line-height: 1.2;
}
.cmnSelector03 .mod_btn03 > span:before {
 display: none;
}
.cmnTable01 {
 border-collapse: separate;
 border-spacing: 1px;
 background-color: #8B8DB0;
 width: 100%;
 text-align: center;
}
@media screen and (max-width: 640px) {
 .cmnTable01 {
  background-color: transparent;
 }
}
.cmnTable01 .tabletitle {
 background-color: #232769;
 padding: 15px 10px;
 font-size: 2.6rem;
 font-weight: bold;
 color: #FFF;
}
@media screen and (max-width: 640px) {
 .cmnTable01 .tabletitle {
  display: none;
 }
}
@media screen and (max-width: 640px) {
 .cmnTable01 .pricetitle {
  display: none;
 }
}
@media screen and (max-width: 640px) {
 .cmnTable01 .pricetitle.active {
  display: block;
 }
}
@media screen and (max-width: 640px) {
 .cmnTable01 .pricetitle.active > th {
  border: 1px solid #8B8DB0;
  border-bottom: none;
 }
}
.cmnTable01 .pricetitle > th {
 font-size: 1.8rem;
 padding: 5px 10px;
 color: #171C61;
 background-color: #F5C51D;
}
@media screen and (max-width: 640px) {
 .cmnTable01 .pricetitle > th {
  display: block;
  font-size: 1.4rem;
  padding: 0.5rem 0;
 }
}
@media screen and (max-width: 640px) {
 .cmnTable01 .pricelist {
  display: none;
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
  background-color: #8B8DB0;
 }
}
@media screen and (max-width: 640px) {
 .cmnTable01 .pricelist.active {
  display: table;
 }
}
.cmnTable01 .price {
 width: 20%;
 vertical-align: top;
 background-color: #FFF;
}
@media screen and (max-width: 640px) {
 .cmnTable01 .price {
  width: 100%;
  display: table-row;
 }
}
.cmnTable01 .price .line01 {
 display: block;
 background-color: #ECECE9;
 font-weight: normal;
 border-bottom: 1px solid #8B8DB0;
 padding: 10px 0;
 font-size: 1.5rem;
}
@media screen and (max-width: 640px) {
 .cmnTable01 .price .line01 {
  width: 45%;
  display: table-cell;
  vertical-align: middle;
  border-bottom: none;
  padding: 1rem 1rem;
  font-size: 1.1rem;
 }
}
.cmnTable01 .price .line02 {
 display: block;
 background-color: #FFF;
 font-weight: normal;
 padding: 10px 0;
 font-size: 1.5rem;
}
@media screen and (max-width: 640px) {
 .cmnTable01 .price .line02 {
  width: 55%;
  display: table-cell;
  vertical-align: middle;
  padding: 1rem 1rem;
  font-size: 1.1rem;
 }
}
.cmnTable01 .price .line02 b {
 font-size: 1.8rem;
 color: #232769;
 vertical-align: middle;
 margin-left: 10px;
 line-height: 1;
 position: relative;
 padding-bottom: 4px;
}
@media screen and (max-width: 640px) {
 .cmnTable01 .price .line02 b {
  display: block;
  font-size: 1.3rem;
  margin-left: 0;
  padding-bottom: 0;
 }
}
.cmnTable01 .empty {
 background-color: #FFF;
}
/* cmnLayout01 */
.cmnLayout01 {
 text-align: left;
}
.cmnLayout01 > .wrap {
 padding: 1px 60px 6.5rem;
 background-color: #F4F4F2;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap {
  padding-bottom: 3.5rem;
  padding-left: 0.7rem;
  padding-right: 0.7rem;
 }
}
.cmnLayout01 > .wrap .indoorview {
 max-width: 1280px;
 width: 100%;
 height: 480px;
 margin: 80px auto 0;
 display: block;
 position: relative;
 background-color: #000;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .indoorview {
  margin-top: 1rem;
  height: 36rem;
 }
}
.cmnLayout01 > .wrap .indoorview > iframe {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
.cmnLayout01 > .wrap .contents {
 position: relative;
 max-width: 1280px;
 width: 100%;
 margin: auto;
 padding-left: 29%;
 box-sizing: border-box;
 margin-top: 30px;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents {
  margin-top: 2.5rem;
  padding-left: 0;
 }
}
.cmnLayout01 > .wrap .contents .contentstit {
 position: absolute;
 top: 30px;
 left: 0;
 font-size: 2.6rem;
 font-weight: normal;
 color: #0D1663;
 z-index: 1;
 text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentstit {
  position: static;
  font-size: 2.05rem;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc {
  position: relative;
  padding-top: 19rem;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .map {
 position: absolute;
 top: 30px;
 left: -130px;
}
@media (max-width: 1600px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .map {
  width: 43%;
  height: auto;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .map {
  top: 0;
  left: -22%;
  width: 125%;
  height: auto;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .note {
 position: absolute;
 bottom: 0;
 right: 65%;
}
@media (max-width: 1600px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .note {
  right: 73%;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .note {
  position: static;
  margin-top: 1rem;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .note .one {
 font-size: 1.2rem;
 line-height: 2.3rem;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .note .one {
  font-size: 1.2rem;
  line-height: 2rem;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .note .one:before {
 content: "■";
 color: #F05050;
 font-size: 1.0rem;
 margin-right: 4px;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .note .one:before {
  font-size: 1.1rem;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .details {
  margin-top: 1rem;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .details:after {
 content: "";
 display: block;
 clear: both;
}
.cmnLayout01 > .wrap .contents .contentsdesc .details .one {
 width: 30.2%;
 margin: 4% 1.0% 0;
 position: relative;
 box-sizing: border-box;
 padding-left: 80px;
 display: inline-block;
 vertical-align: top;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .details .one {
  width: 47%;
  margin: 4% 1%;
  padding-left: 0;
  padding-top: 6.5rem;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .details .one .mark {
 position: absolute;
 top: 0;
 left: 0;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .details .one .mark {
  width: auto;
  height: 5.5rem;
  margin: auto;
  display: block;
  right: 0;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .details .one .descs .tit {
 font-size: 2.2rem;
 white-space: pre;
 color: #0D1663;
}
@media (max-width: 1180px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .details .one .descs .tit {
  font-size: 1.8rem;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .details .one .descs .tit {
  text-align: center;
  font-size: 1.9rem;
  line-height: 2.2rem;
  margin-top: 0.5rem;
 }
}
.cmnLayout01 > .wrap .contents .contentsdesc .details .one .descs .desc {
 font-size: 1.2rem;
 line-height: 2.3rem;
}
@media screen and (max-width: 640px) {
 .cmnLayout01 > .wrap .contents .contentsdesc .details .one .descs .desc {
  font-size: 1.1rem;
  line-height: 1.55rem;
  margin-top: 0.5rem;
 }
}
/* cmnLayout02 */
.cmnLayout02 {
 padding-left: 54px;
 padding-right: 54px;
}
.cmnLayout02.type01 {
 background-color: #f4f4f2;
}
@media screen and (max-width: 640px) {
 .cmnLayout02 {
  padding-left: 0;
  padding-right: 0;
 }
}
/* cmnLayout03 */
.cmnLayout03 {
 margin: auto;
 font-size: 0;
 letter-spacing: 0;
 display: table;
 border-collapse: separate;
 border-spacing: 7px 0;
 width: 100%;
 max-width: 1400px;
}
@media (max-width: 1250px) {
 .cmnLayout03 {
  display: block;
  width: 100%;
  margin-left: 0;
 }
}
.cmnLayout03.type01 > .detail {
 width: calc((100% - 4rem) / 5);
}
@media (max-width: 1250px) {
 .cmnLayout03.type01 > .detail {
  width: 31%;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout03.type01 > .detail {
  width: 100%;
 }
}
.cmnLayout03 > .detail {
 display: table-cell;
 vertical-align: top;
 width: 16.6%;
 text-align: center;
}
@media (max-width: 1400px) {
 .cmnLayout03 > .detail {
  display: inline-block;
  width: 31%;
  margin: 2% 1%;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail {
  display: block;
  width: 100%;
 }
 .cmnLayout03 > .detail:nth-child(even) .ph {
  right: 0;
 }
}
.cmnLayout03 > .detail + .detail {
 margin-left: 1rem;
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail + .detail {
  margin-left: 0;
  margin-top: 1.3rem;
 }
}
.cmnLayout03 > .detail > .wrap {
 position: relative;
}
.cmnLayout03 > .detail .ph {
 width: 100%;
 height: 30rem;
 background-position: center center;
 background-size: cover;
 background-repeat: no-repeat;
}
.intersectionObserver .cmnLayout03 > .detail .ph {
 transition: 1s cubic-bezier(0.77, 0, 0.175, 1);
 clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.intersectionObserver .cmnLayout03 > .detail .ph[style], .intersectionObserver .cmnLayout03 > .detail .ph.active {
 clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
@media (max-width: 1400px) {
 .cmnLayout03 > .detail .ph {
  height: 39rem;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail .ph {
  width: 45.3%;
  height: 100%;
  position: absolute;
 }
}
.cmnLayout03 > .detail .text_box {
 position: relative;
 width: calc(100% - 2.0rem);
 margin: -4rem auto 0;
 padding: 2.5rem 0 3.5rem;
 text-align: center;
 word-wrap: break-word;
 overflow-wrap: break-word;
 box-sizing: border-box;
 background-color: #fff;
}
@media (max-width: 1500px) {
 .cmnLayout03 > .detail .text_box {
  width: calc(100% - 1.5rem);
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail .text_box {
  width: 54.7%;
  padding: 2rem 0 1.5rem;
  margin: 0;
  margin-left: 45.3%;
  margin-right: 0;
 }
}
.cmnLayout03 > .detail .text_box.bcyl {
 background-color: #ffc600;
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail .text_box.bcyl {
  margin-left: 0;
  margin-right: 45.3%;
 }
}
.cmnLayout03 > .detail .text_box .title {
 color: #f05050;
 font-size: 2rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 700;
 line-height: 1.75;
 letter-spacing: 0;
 transform: scaleX(0.94);
 white-space: pre;
}
.cmnLayout03 > .detail .text_box .title.type01 {
 font-size: 1.8rem;
 transform: scaleX(0.9);
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail .text_box .title.type01 {
  font-size: 1.7rem;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail .text_box .title {
  transform: none;
  font-size: 2.1rem;
 }
}
.cmnLayout03 > .detail .text_box .txt {
 padding: 0 1rem;
 font-size: 1.4rem;
 font-family: "source-han-sans-japanese", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", "Meiryo", "Osaka", sans-serif;
 font-weight: 500;
 line-height: 1.6;
 letter-spacing: 0;
 text-align: left;
}
@media (max-width: 1400px) {
 .cmnLayout03 > .detail .text_box .txt {
  padding: 0 1.0rem;
 }
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail .text_box .txt {
  font-size: 1.1rem;
  padding: 0 1.6rem;
 }
}
.cmnLayout03 > .detail .mod_btn01 {
 margin-top: 2rem;
 width: 17.7rem;
}
.cmnLayout03 > .detail .mod_btn01:before, .cmnLayout03 > .detail .mod_btn01:after {
 width: 17.7rem;
}
@media screen and (max-width: 640px) {
 .cmnLayout03 > .detail .mod_btn01 {
  margin-top: 1rem;
  width: 14.2rem;
  height: 5.2rem;
 }
 .cmnLayout03 > .detail .mod_btn01:before, .cmnLayout03 > .detail .mod_btn01:after {
  width: 14.2rem;
  height: 5.2rem;
 }
}
/* cmnLayout04 */
.cmnLayout04 {
 padding: 40px 30px;
 background-color: #171C63;
 text-align: center;
}
@media screen and (max-width: 640px) {
 .cmnLayout04 {
  padding: 3rem 1.5rem;
  box-sizing: border-box;
  width: 112%;
  margin-left: -6%;
 }
}
.cmnLayout04 .mod_btn03 {
 max-width: 286px;
}
/* cmnLayout05 */
.cmnLayout05 {
 text-align: left;
}
.cmnLayout05:after {
 content: "";
 display: block;
 clear: both;
}
.cmnLayout05 .cmnLayout05Block {
 width: 48%;
 float: left;
 margin-top: 40px;
 clear: both;
}
.cmnLayout05 .cmnLayout05Block:nth-child(even) {
 float: right;
 clear: none;
}
.cmnLayout05 .cmnLayout05Block .tit {
 font-size: 2.2rem;
 color: #171C61;
 margin-bottom: 6px;
}
@media screen and (max-width: 640px) {
 .cmnLayout05 .cmnLayout05Block .tit {
  font-size: 1.9rem;
  line-height: 1.2;
  margin-bottom: 1rem;
 }
}
.cmnLayout05 .cmnLayout05Block .con {
 display: table;
 width: 100%;
}
.cmnLayout05 .cmnLayout05Block .con .row {
 display: table-row;
}
.cmnLayout05 .cmnLayout05Block .con .row:first-child .rowtit, .cmnLayout05 .cmnLayout05Block .con .row:first-child .rowcon {
 border-top: 1px solid #a9a9c3;
}
.cmnLayout05 .cmnLayout05Block .con .row .rowtit, .cmnLayout05 .cmnLayout05Block .con .row .rowcon {
 border-bottom: 1px solid #a9a9c3;
 padding-top: 10px;
 padding-bottom: 10px;
 display: table-cell;
 vertical-align: middle;
}
.cmnLayout05 .cmnLayout05Block .con .row .rowtit {
 background-color: #EDEDF8;
 padding-left: 4%;
 box-sizing: border-box;
 font-size: 1.4rem;
 width: 210px;
}
.cmnLayout05 .cmnLayout05Block .con .row .rowcon {
 padding-right: 4%;
 padding-left: 4%;
 box-sizing: border-box;
 font-size: 1.4rem;
 background-color: #FFF;
}
.cmnLayout05 .cmnLayout05Block .con .row .rowcon b {
 font-size: 1.8rem;
 color: #232769;
 vertical-align: middle;
 margin-left: 10px;
 line-height: 1;
 position: relative;
 padding-bottom: 4px;
}
@media screen and (max-width: 640px) {
 .cmnLayout05 .cmnLayout05Block .con .row .rowcon b {
  display: block;
  font-size: 1.3rem;
  margin-left: 0;
  padding-bottom: 0;
 }
}