<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";
/* ========================================================
	style.css =&gt; 共通基本CSS
======================================================== */
/* RESET
----------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,picture {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  line-height: 1.5em;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: bottom;
  border: none;
}
picture {
  display: block;
}

/* -----------------------------------------------
 * 設定しなおす
----------------------------------------------- */
html {
  -webkit-font-smoothing: antialiased;
}
body {
  margin: 0 auto;
  padding: 0;
  font-size: 15px;
  line-height: 2;
  color: #000;
  height: 100%;
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic",'Roboto', Meiryo, sans-serif;
  font-weight: 400;
}
p {
  letter-spacing: .05em;
}
sup,sub {
  font-size: 70%;
}

.taC {
  text-align: center;
}
.m-plus-1p {
  font-family: 'M PLUS 1p', sans-serif;
  font-weight: 700;
  font-style: normal;
}
/* .din-2014 {
  font-family: din-2014, sans-serif;
  font-weight: 700;
  font-style: normal;
} */

/* IE8〜11はメイリオ */
/*@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  body {
    font-size: 14px;
    font-family: 'Segoe UI',
                 Meiryo,
                 sans-serif;
  }
}*/

@media only screen and ( max-width : 767px ) {
  body {font-size: 14px;}
}
/*@media only screen and ( max-width : 540px ) {
  body {font-size: 14px;}
}*/


table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: bottom;
  border: none;
}

.zoom_img {
  margin: 0;
  padding: 0;
  background: #fff;
  overflow: hidden;
  cursor: pointer;
  position: relative;
  z-index: 1;
}
.zoom_img img {
  width: 100%;
  height: 100%;
}
.zoom_img img {
  transform: scale(1);
  transition: .3s ease-in-out;
}
.zoom_img:hover img {
  transform: scale(1.2);
}
* {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
  *behavior:url(/scripts/boxsizing.htc);
}


/* -----------------------------------------------
 * アンカータグの設定
----------------------------------------------- */
a {
  outline:none;
  color: #2a2a2a;
}
a.link_black {
  color: #010101;
}
.underline,.underline:hover {
  text-decoration: underline;
}
a:hover {
  text-decoration: none;
}
a,a:hover,a:hover img,button,input {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}
a:hover {
  filter: alpha(opacity=70);
  -moz-opacity:0.70;
  opacity:0.70;
}

/* -----------------------------------------------
 * base.css
----------------------------------------------- */

main {display: block;}
img {
    max-width: 100%;
    height: auto;
}
/*.taC {
  text-align: center;
}*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
.caption {
  font-size: 11px;
}
.mg_auto {
  margin: 0 auto;
}
.bg_beige {
  background: #f3f2e9;
}

@media only screen and ( max-width : 991px ) {
  .sp_none {
    display: none !important;
  }
  .sp_box {
    margin-bottom: 40px;
  }
  .sp_sbox {
    margin-bottom: 10px;
  }
  .section {
    padding: 60px 0;
    margin-bottom: 0;
  }
  .br_pc {
    display: none;
  }
  .br_sp {
    display: inline-block;
  }
  .br_sp_mini {
    display: none;
  }
  .xl_box {
    margin-bottom: 100px;
  }
  .l_box {
    margin-bottom: 80px;
  }
  .box {
    margin-bottom: 40px;
  }
  .sbox {
    margin-bottom: 20px;
  }
  .ssbox {
    margin-bottom: 10px;
  }
  .d-flex_sp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .d-flex-space-between_sp {
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .d-flex-justify-content-center_sp {
    -ms-flex-pack: center;
    justify-content: center;
  }
  .d-flex-item-center_sp {
    -ms-flex-align: center;
    align-items: center;
  }
  .d-flex-justify-content-center_sp {
    -ms-flex-pack: center;
    justify-content: center;
  }
}

@media only screen and ( max-width : 575px ) {
  /* .br_sp_mini {
    display: block;
  } */
  .xl_box {
    margin-bottom: 80px;
  }
  .l_box {
    margin-bottom: 60px;
  }
}
@media only screen and ( max-width : 460px ) {
  .br_sp {
    display: none;
  }
  .br_sp_mini {
    display: inline-block;
  }
}

@media print, screen and ( min-width : 992px ) {
  .sp {
    display: none !important;
  }
  .section {
    padding: 60px 0;
  }
  .xl_box {
    margin-bottom: 120px;
  }
  .l_box {
    margin-bottom: 100px;
  }
  .box {
    margin-bottom: 80px;
  }
  .sbox {
    margin-bottom: 40px;
  }
  .ssbox {
    margin-bottom: 20px;
  }
  .mt50 {
    margin-top: 50px;
  }
  .br_pc {
    display: inline-block;
  }
  .br_sp {
    display: none;
  }
  .br_sp_mini {
    display: none;
  }
}
@media print, screen and ( min-width : 1200px ) {
  .section {
    padding: 80px 0;
  }
}




/*
  LAYOUT
========================================================================================================*/
header[role="banner"] {
  background: #333;
}
header .container {
  position: relative;
  box-sizing: border-box;
  width: 1080px;
  margin: 0 auto;
  height: 104px;
  padding: 21px 10px 0;
}
@media screen and (max-width:767px) {
  header[role="banner"] {
      position: fixed;
      top: 0;
      z-index: 999;
      width: 100%;
  }
  header .container {
      width: 100%;
      height: 40px;
      padding: 7px 16px 0;
  }
  main {
      margin-top: 40px;
  }
}


/* ---------------------------------------------------------------------------------------------

　   HEADER

--------------------------------------------------------------------------------------------- */
header[role="banner"] #logo {
  position: relative;
  z-index: 10;
  margin: 0;
  padding: 0;
  line-height: 1;
  text-align: left;
  display: inline-block;
}
header[role="banner"] #logo a {
  display: inline-block;
}
header[role="banner"] #logo img {
  width: 152px;
  height: 62px;
}

header[role="banner"] #sub-nav {
  position: absolute;
  top: 11px;
  right: 43px;
}
header[role="banner"] #sub-nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;

  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
header[role="banner"] #sub-nav ul,
header[role="banner"] #sub-nav ul li {
  margin: 0;
}

header[role="banner"] #sub-nav ul li {
  list-style-type: none;
  margin-left: 50px;
  font-size: 12px;
  font-weight: 200;
  color: #fff;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp li {
  margin-left: auto;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp li.sub-nav-lang-jp-h1 {
  margin: 0 0 11px auto;
  width: 100%;
}
header[role="banner"] #sub-nav ul.sub-nav-lang-jp li.sub-nav-lang-jp-h1 h1 {
  font-size: 12px;
  margin: 0 0 0 auto;
  text-align: right;
}
header[role="banner"] #sub-nav ul li a {
  color: #fff !important;
  text-decoration: none !important;
}
header[role="banner"] #sub-nav ul li a:hover {
  text-decoration: underline !important;
}
header[role="banner"] #sub-nav ul li a img {
  position: relative;
  top: -3px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: top;
}
header[role="banner"] #sub-nav ul li.language {
  color: #808080;
}
header[role="banner"] #sub-nav ul li.language .separate {
  padding: 0 8px;
}

@media screen and (max-width:767px) {
  header[role="banner"] #logo img {
      width: 65px;
      height: 26.5px;
  }
  header[role="banner"] #sub-nav {
      top: 12px;
      right: 58px;
  }
  header[role="banner"] #sub-nav ul li {
      font-size: 11px;
  }
  header[role="banner"] #sub-nav ul li.mypage a img {
      position: relative;
      top: -2px;
      display: inline-block;
      margin-right: 8px;
      vertical-align: top;
      height: 17px;
  }
}


/* ---------------------------------------------------------------------------------------------

　   FOOTER

--------------------------------------------------------------------------------------------- */
footer {
  padding: 30px 0;
  background: #333;
}
.copy {
  color: #fff;
  text-align: center;
}
@media only screen and ( max-width : 991px ) {
  footer {
    margin-bottom: 70px;
  }
}
@media print, screen and ( min-width : 992px ) {
  footer {
    margin-bottom: 90px;
  }
}



/* ---------------------------------------------------------------------------------------------

　   PAGETOP

--------------------------------------------------------------------------------------------- */
/*リンクの形状*/
#page-top a {
  display: flex;
  justify-content:center;
  align-items:center;
  width: 90px;
  height: 90px;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  transition:all 0.3s;
  background: #0e318d;
  color: #fff;
}
#page-top a img {
  display: block;
  position: relative;
}
/* リンクを右下に固定 */
#page-top {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 99;
  opacity: 0;
  transform: translateY(100px);
}
/* 上に上がる動き */
#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}
/* 下に下がる動き */
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}

@media only screen and ( max-width : 991px ) {
  /* #page-top {
    right: 10px;
    bottom: 10px;
  } */
  #page-top a {
    width: 70px;
    height: 70px;
    padding: 15px;
  }
}
@media only screen and ( max-width : 575px ) {
  #page-top {
    opacity: 1 !important;
    transform: inherit;
  }
  #page-top.UpAnime {
    animation: unset;
  }
  @keyframes UpAnime{
    from {
      opacity: 1;
      transform: inherit;
    }
    to {
      opacity: 1;
      transform: inherit;
    }
  }
  #page-top.DownMove {
    animation: unset;
  }
  @keyframes DownAnime {
    from {
      opacity: 1;
      transform: inherit;
    }
    to {
      opacity: 1;
      transform: inherit;
    }
  }
}


/* ---------------------------------------------------------------------------------------------

　   BUTTON

--------------------------------------------------------------------------------------------- */
.btn {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  outline: none;
  line-height: 1;
  border-radius: 10px;
  transition: ease .2s;
  background: #FFA700;
  letter-spacing: 0.1rem;
  font-weight: 700;
}
.btn:hover {
  opacity: 1;
}
.btn_big {
  display: block;
  margin: 0 auto;
}
.btn_mini {
  display: block;
  margin: 0 auto;
}
.btn span {
  position: relative;
  z-index: 3;
  color: #fff;
}
.btn:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #ff8100;
  width: 100%;
  height: 100%;
  transition: transform .5s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
.btn:hover:before {
  transform-origin:left top;
  transform:scale(1, 1);
}


@media only screen and ( max-width : 991px ) {
  .btn_big {
    width: 360px;
    padding: 20px;
    font-size: 18px;
  }
  .btn_mini {
    width: 300px;
    padding: 10px 30px;
    font-size: 18px;
  }
}

@media only screen and ( max-width : 767px ) {
}

@media only screen and ( max-width : 575px ) {
  .btn_big {
    width: calc(100% - 40px);
    margin: 0 20px;
  }
  .btn_mini {
    width: calc(100% - 110px);
    margin: 0 20px;
  }
}

@media print, screen and ( min-width : 768px ) {
}

@media print, screen and ( min-width : 992px ) {
  .btn_big {
    width: 460px;
    padding: 30px;
    font-size: 20px;
  }
  .btn_mini {
    width: 400px;
    padding: 10px 30px;
    font-size: 20px;
  }
}


/* ---------------------------------------------------------------------------------------------

　   TITLE

--------------------------------------------------------------------------------------------- */
h1,h2,h3,h4,h5,h6 {
  font-weight: 700;
}
h2.ttl {
  margin: 0 auto;
  position: relative;
  text-align: center;
}
h2.ttl .ttl_bg_wrap {
  display: inline-block;
  padding: 0 5px 0 5px;
  color: #fff;
  background: #FCEF55;
  border-radius: 50px 0 50px 0 / 50px 0 50px 0;
  border-top-left-radius: 50px;
  border-top-left-radius: 50px;
  position: relative;
  z-index: 10;
}
h2.ttl .ttl_bg {
  display: inline-block;
  color: #fff;
  background: #0E318D;
  border-radius: 50px 0 50px 0 / 50px 0 50px 0;
  border-top-left-radius: 50px;
  border-top-left-radius: 50px;
  position: relative;
  z-index: 11;
}
h3 {
  color: #0E318D;
}
h4.line_left {
  padding-left: 15px;
  border-left: #0E318D solid 5px;
  color: #0E318D;
}
h4 {
  color: #003F57;
}


@media only screen and ( max-width : 991px ) {
  h2.ttl {
    font-size: 28px;
  }
  h2.ttl .ttl_bg {
    padding: 10px 40px;
  }
  h3 {
    font-size: 20px;
  }
  h4 {
    font-size: 18px;
  }
}

@media only screen and ( max-width : 575px ) {
  h2.ttl {
    font-size: 24px;
  }
  h3 {
    font-size: 18px;
  }
  h4 {
    font-size: 16px;
  }
}

@media only screen and ( max-width : 380px ) {
  h2.ttl .ttl_bg {
    /* padding: 10px 40px; */
    font-size: 20px;
  }
}

@media print, screen and ( min-width : 992px ) {
  h2.ttl {
    font-size: 34px;
  }
  h2.ttl .ttl_bg {
    padding: 10px 60px;
  }
  h3 {
    font-size: 26px;
  }
  h4 {
    font-size: 22px;
  }
}

@media print, screen and ( min-width : 1200px ) {
}



/* ---------------------------------------------------------------------------------------------

　   ANIMATION

--------------------------------------------------------------------------------------------- */
.fadeIn {
  opacity: 0;
  transition: 1s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 1s;
}
.fadeIn_up:nth-child(2) {
  transition: 1.2s;
}
.fadeIn_up:nth-child(3) {
  transition: 1.4s;
}
.fadeIn_up:nth-child(4) {
  transition: 1.6s;
}
.fadeIn_up:nth-child(5) {
  transition: 1.8s;
}
.fadeIn_up:nth-child(6) {
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-50%, 0);
  transition: 1s;
}
.fadeIn_left:nth-child(2) {
  transition: 1.2s;
}
.fadeIn_left:nth-child(3) {
  transition: 1.4s;
}
.fadeIn_left:nth-child(4) {
  transition: 1.6s;
}
.fadeIn_left:nth-child(5) {
  transition: 1.8s;
}
.fadeIn_left:nth-child(6) {
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 1s;
}
.fadeIn_right:nth-child(2) {
  transition: 1.2s;
}
.fadeIn_right:nth-child(3) {
  transition: 1.4s;
}
.fadeIn_right:nth-child(4) {
  transition: 1.6s;
}
.fadeIn_right:nth-child(5) {
  transition: 1.8s;
}
.fadeIn_right:nth-child(6) {
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
</pre></body></html>