@charset "UTF-8";
/*!
 * Bootstrap Grid v4.0.0 (https://getbootstrap.com)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDGothic&family=BIZ+UDPGothic&family=BIZ+UDPMincho&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Lexend+Mega:wght@100..900&family=Lexend+Zetta:wght@100..900&family=M+PLUS+1p&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap");
@-ms-viewport {
  width: device-width;
}
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/*
font-family: 'Ubuntu Condensed', sans-serif;
font-family: 'Roboto Condensed', sans-serif;
*/
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media print, screen and (min-width: 480px) {
  html {
    font-size: 62.5%;
  }
}
@media screen and (min-width: 480px) and (max-width: 1310px) {
  html {
    font-size: 52%;
  }
}
@media screen and (max-width: 479px) {
  html {
    font-size: 2.5vw;
  }
}

body {
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "BIZ UDPGothic", sans-serif;
  line-height: 1.7;
  color: #263238;
  margin: 0;
  overflow-x: hidden;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}

.body {
  position: relative;
}

p {
  margin-top: 19px;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
img:hover {
  opacity: 1;
}

a {
  color: rgb(32, 80, 209);
  text-decoration: none;
}
a:hover, a:active, a:focus {
  color: #426de2;
  text-decoration: none;
}
a:visited {
  color: #193fa5;
}
a img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
}
a:hover img {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media print, screen and (min-width: 480px) {
  a[href^="tel:"] {
    pointer-events: none;
    display: inline-block;
  }
}

.container {
  margin: 0 auto;
  max-width: 1200px;
  padding-right: calc(20px + constant(safe-area-inset-right));
  padding-left: calc(20px + constant(safe-area-inset-left));
}
.container .container {
  padding: 0;
}

.narrow-container {
  margin: 0 auto;
  max-width: 800px;
  padding-right: calc(20px + constant(safe-area-inset-right));
  padding-left: calc(20px + constant(safe-area-inset-left));
}
@media screen and (max-width: 859px) {
  .narrow-container {
    margin-right: 2vw;
    margin-left: 2vw;
  }
}

.no-container {
  width: 100vw;
  left: calc(50% - 50vw);
  position: relative;
}

@media screen and (max-width: 859px) {
  .container {
    padding-right: 10px;
    padding-left: 10px;
  }
}
@media screen and (max-width: 859px) {
  .row {
    margin-right: -10px;
    margin-left: -10px;
  }
}

@media screen and (max-width: 859px) {
  .col-6 {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.head-wrapper {
  background: rgba(238, 238, 238, 0.9);
  -webkit-backdrop-filter: blur(3.5px);
          backdrop-filter: blur(3.5px);
  position: fixed;
  left: 0;
  width: 100%;
  z-index: 9999;
}
@media screen and (max-width: 859px) {
  .head-wrapper {
    height: 30px;
  }
}
.head-wrapper .header-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 20px;
}
.head-wrapper .header-container .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 0;
}
@media screen and (max-width: 859px) {
  .head-wrapper .header-container .header {
    padding: 0;
  }
}
.head-wrapper .header-container .header .header-logo h1 {
  margin: 0;
  padding: 0;
  -webkit-transform: translateY(-10px);
          transform: translateY(-10px);
}
@media screen and (max-width: 859px) {
  .head-wrapper .header-container .header .header-logo h1 {
    -webkit-transform: translateY(-34px);
            transform: translateY(-34px);
  }
}
.head-wrapper .header-container .header .header-logo h1 a {
  display: block;
}
.head-wrapper .header-container .header .header-logo h1 a .site-logo {
  width: 343px;
  height: auto;
}
@media screen and (max-width: 859px) {
  .head-wrapper .header-container .header .header-logo h1 a .site-logo {
    width: 158px;
  }
}
.head-wrapper .header-container .header .site-header .header-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.head-wrapper .header-container .header .site-header .header-nav ul li + li {
  margin-left: 16px;
}
.head-wrapper .header-container .header .site-header .header-nav ul li a {
  display: inline-block;
  padding: 8px 16px 8px 30px;
  border-radius: 9999px;
  position: relative;
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
  background: #fff url(../img/icon01.svg) no-repeat 15px 50%;
  color: #263238;
  text-decoration: none;
}
.head-wrapper .header-container .header .site-header .header-nav ul li a:hover, .head-wrapper .header-container .header .site-header .header-nav ul li a:active, .head-wrapper .header-container .header .site-header .header-nav ul li a:focus {
  color: #263238;
  text-decoration: none;
}
.head-wrapper .header-container .header .site-header .header-nav ul li a:visited {
  color: #263238;
}
/* ------------------------------
　　モバイル用
------------------------------ */
/* モバイル時ナビゲーションボタン */
.nav-menu-btn {
  position: fixed;
  right: 4px;
  top: 0px;
  z-index: 20000;
  display: inline-block;
  padding: 0;
  font-size: 20px;
  font-size: 2rem;
  color: #0F2439;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .nav-menu-btn {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 860px) {
  .nav-menu-btn {
    border: 1px solid #0F2439;
    width: 56px;
    height: 56px;
    padding-top: 9px;
  }
}
@media screen and (max-width: 859px) {
  .nav-menu-btn {
    right: 15px;
  }
}
.nav-menu-btn:hover {
  color: #0F2439;
  text-decoration: none;
}
.nav-menu-btn .acms-icon-sort {
  display: inline-block;
}
.nav-menu-btn[aria-expanded=true] {
  background: rgba(29, 126, 198, 0.35);
}

.nav-menu-btn-text {
  display: block;
  margin: 11px 0 0 0px;
  color: #04A8EE;
  font-weight: bold;
  vertical-align: middle;
  font-size: 9px;
  font-size: 0.9rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .nav-menu-btn-text {
    font-size: 1.125px;
    font-size: 0.72rem;
  }
}

/* トグルメニューアイコン */
.icon-toggle-menu {
  position: relative;
  display: inline-block;
  text-align: center;
  width: 32px;
  height: 1px;
  margin: -5px 0 0px 10px;
  vertical-align: middle;
  background-color: #04A8EE;
  border-radius: 1px;
  -webkit-transition: 0.1s all;
  transition: 0.1s all;
}
@media screen and (max-width: 859px) {
  .icon-toggle-menu {
    width: 19px;
    height: 2px;
  }
}
.icon-toggle-menu:before, .icon-toggle-menu:after {
  position: absolute;
  display: block;
  width: 32px;
  height: 1px;
  background-color: #04A8EE;
  border-radius: 1px;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  content: "";
}
@media screen and (max-width: 859px) {
  .icon-toggle-menu:before, .icon-toggle-menu:after {
    width: 19px;
    height: 2px;
  }
}
.icon-toggle-menu:before {
  top: -6px;
}
.icon-toggle-menu:after {
  bottom: -6px;
}
[aria-expanded=true] .icon-toggle-menu {
  background: transparent;
}
[aria-expanded=true] .icon-toggle-menu:before {
  width: 22px;
  -webkit-transform: translate(-10px, 5px) rotate(45deg);
          transform: translate(-10px, 5px) rotate(45deg);
  background-color: #1D7EC6;
  left: 8px;
}
[aria-expanded=true] .icon-toggle-menu:after {
  width: 22px;
  -webkit-transform: translate(-10px, -7px) rotate(-45deg);
          transform: translate(-10px, -7px) rotate(-45deg);
  background-color: #1D7EC6;
  left: 8px;
}

.header-bottom {
  height: 66px;
  content: "";
  background: #fff;
}
@media screen and (max-width: 859px) {
  .header-bottom {
    height: 48px;
  }
}

@media print, screen and (min-width: 860px) {
  .hamburger-menu {
    display: none;
  }
  .mobile-nav {
    display: none;
  }
}
@media screen and (max-width: 859px) {
  .is-locked {
    overflow: hidden;
  }
  .mobile-nav {
    position: fixed;
    background: #fff;
    top: 0;
    left: 0;
    padding-bottom: 50px;
    z-index: 10000;
    display: none;
    opacity: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    -webkit-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-transition-duration: 0.3s;
            transition-duration: 0.3s;
    -webkit-transition-property: all;
    transition-property: all;
    color: #fff;
  }
}
@media screen and (max-width: 859px) and (max-width: 859px) {
  .mobile-nav {
    height: 100%;
  }
}
@media screen and (max-width: 859px) {
  .mobile-nav.is-active {
    display: block;
  }
  .mobile-nav.is-opened {
    opacity: 1;
  }
}
@media screen and (max-width: 859px) and (min-width: 860px) {
  .mobile-nav-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (max-width: 859px) and (max-width: 859px) {
  .mobile-nav-inner {
    width: 100%;
    height: 100%;
    padding: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
@media screen and (max-width: 859px) {
  .logo-white {
    text-align: center;
  }
}
@media screen and (max-width: 859px) and (min-width: 860px) {
  .logo-white {
    margin-left: 2em;
  }
}
@media screen and (max-width: 859px) and (max-width: 859px) {
  .logo-white {
    width: 100%;
  }
}
@media screen and (max-width: 859px) and (max-width: 859px) {
  .logo-white .image {
    width: 100%;
    margin-top: 9px;
    text-align: center;
  }
  .logo-white .image img {
    width: 35px;
  }
}
@media screen and (max-width: 859px) {
  .logo-white .text {
    margin: 0;
    font-size: 21px;
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .logo-white .text {
    font-size: 2.625px;
    font-size: 1.68rem;
  }
}
@media screen and (max-width: 859px) and (max-width: 859px) {
  .logo-white .text {
    display: none;
  }
}
@media screen and (max-width: 859px) and (min-width: 860px) {
  .mobile-nav-body {
    padding-top: 26px;
    margin-right: 9%;
  }
}
@media screen and (max-width: 859px) and (max-width: 859px) {
  .mobile-nav-body {
    padding-top: 28px;
  }
}
@media screen and (max-width: 859px) {
  .mobile-nav-body ul.gnavi {
    margin: 0;
    padding: 0;
  }
  .mobile-nav-body ul.gnavi li a {
    display: block;
    text-align: center;
  }
  .mobile-nav-body ul.gnavi li a span {
    display: block;
  }
  .mobile-nav-body ul.gnavi li a .jp {
    font-size: 12px;
    font-size: 1.2rem;
    color: #263238;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .mobile-nav-body ul.gnavi li a .jp {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}
@media screen and (max-width: 859px) {
  .mobile-nav-body ul.gnavi li a .en {
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "Lexend Zetta";
    letter-spacing: -2.72px;
    color: #04A8EE;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .mobile-nav-body ul.gnavi li a .en {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
@media screen and (max-width: 859px) {
  .mobile-nav-body ul.gnavi li::after {
    display: block;
    content: "";
    border-bottom: 1px solid #04A8EE;
    width: 72px;
    height: 1px;
    margin: 20px auto;
  }
  .mobile-nav-body ul.gnavi li:last-child::after {
    display: none;
  }
}
.footer {
  background-color: #4a5158;
  color: #fff;
  padding: 40px 20px;
  font-size: 14px;
  margin-top: 120px;
}
.footer .inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1300px;
}
.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.footer__col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 180px;
}
.footer__col:not(:last-child) {
  margin-right: 20px;
}
@media print, screen and (min-width: 860px) {
  .footer__col:first-child {
    -webkit-box-flex: 1.3;
        -ms-flex: 1.3;
            flex: 1.3;
  }
}
.footer__section + .footer__section {
  margin-top: 24px;
}
.footer__section .footer__title {
  font-weight: 500;
  font-size: 20px;
  font-size: 2rem;
  margin-bottom: 12px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .footer__section .footer__title {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
.footer__section .footer__title a {
  color: inherit;
  text-decoration: none;
}
.footer__section .footer__list {
  list-style: none;
  margin: 0;
  padding: 0 0 0 15px;
}
.footer__section .footer__list li {
  margin-bottom: 8px;
}
.footer__section .footer__list li a {
  color: inherit;
  text-decoration: none;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .footer__section .footer__list li a {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.footer__section .footer__list li a:hover {
  text-decoration: underline;
}
.footer__bottom {
  text-align: center;
  margin-top: 40px;
  font-size: 12px;
  color: #bbb;
}

.pagetop {
  position: fixed;
  right: 5px;
  bottom: 5px;
  z-index: 10010;
  display: none;
  cursor: pointer;
}
@media screen and (max-width: 859px) {
  .pagetop img {
    width: 37px;
  }
}

.body-wrap {
  position: relative;
}

.main-wrap {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

main {
  display: block;
}

.container::after {
  content: "";
  display: block;
  clear: both;
}
@media print, screen and (min-width: 1023px) {
  .container {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 1200px) and (max-width: 1023px) {
  .container {
    margin-right: 1em;
    margin-left: 1em;
  }
}
@media screen and (max-width: 1022px) {
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media print, screen and (min-width: 1023px) {
  .wide-container {
    max-width: 1384px;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (min-width: 1023px) and (max-width: 1384px) {
  .wide-container {
    margin-right: 5em;
    margin-left: 5em;
  }
}
@media screen and (max-width: 1022px) {
  .wide-container {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.container-breaking-out {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

body.bg-pink {
  background: #FEFAFC;
}

.section-01 {
  padding: 4em 0;
}
.section-01 > *:first-child {
  margin-top: 0;
}
.section-01 .h2-02 {
  margin-top: 0;
}

.bg-black {
  background: #1e1e1e;
  padding: 4em 0;
  margin: 4em 0 0;
  color: #fff;
}
.bg-black > *:first-child {
  margin-top: 0;
}
.bg-black.-nomargin {
  margin: 0;
}
.bg-black.-nopadding {
  padding: 0;
}

@media print, screen and (min-width: 860px) {
  .side {
    padding-left: 3vw;
  }
}
.side .side-box {
  background: #fff;
  border-radius: 5px;
  margin-bottom: 2em;
  padding: 1.3em;
}
.side h2 {
  color: #263238;
  font-weight: normal;
  border-bottom: 3px dotted #CACACA;
  margin-top: 0;
  font-size: 18px;
  font-size: 1.8rem;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .side h2 {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
.side ul.list-sub {
  padding: 0;
  margin: 0;
}
.side ul.list-sub li {
  list-style: none;
}
.side ul.list-sub li a {
  display: block;
  background: url(../img/icon_circle.svg) no-repeat 0 1.2em/0.6em;
  color: #263238;
  text-decoration: none;
  padding: 0.5em 0 0.5em 1.3em;
}
.side ul.list-sub li a:hover, .side ul.list-sub li a:active, .side ul.list-sub li a:focus {
  color: #263238;
  text-decoration: none;
}
.side ul.list-sub li a:visited {
  color: #263238;
}

.acms-admin-btn-action-group {
  margin: 0;
}

@media print, screen and (min-width: 860px) {
  .hide-pc {
    display: none;
  }
}

@media screen and (max-width: 859px) {
  .hide-sp {
    display: none;
  }
}

p, ul, ol, dl, h2, h3, h4, h5, table {
  margin-top: 2em;
  margin-bottom: 0;
}

dd {
  margin-left: 0;
}

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.img-r {
  margin-bottom: 10px;
}
@media screen and (max-width: 859px) {
  .img-r {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 860px) {
  .img-r {
    float: right;
    margin-left: 30px;
    margin-bottom: 30px;
  }
}

.img-l {
  margin-bottom: 10px;
}
@media screen and (max-width: 859px) {
  .img-l {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
}
@media print, screen and (min-width: 860px) {
  .img-l {
    float: left;
    margin-right: 30px;
    margin-bottom: 30px;
  }
}

.large {
  font-size: 110%;
}

.x-large {
  font-size: 140%;
}
@media screen and (max-width: 859px) {
  .x-large {
    font-size: 120%;
  }
}

.xx-large {
  font-size: 170%;
}
@media screen and (max-width: 859px) {
  .xx-large {
    font-size: 130%;
  }
}

.small {
  font-size: 84%;
}

.x-small {
  font-size: 70%;
}

em {
  font-weight: bold;
  font-style: normal;
}

.attention {
  color: red;
}

.memo {
  color: #888;
  font-size: 80%;
}

.tel {
  text-align: center;
}
.tel a {
  color: #000;
  text-decoration: none;
}
.tel a:hover, .tel a:active, .tel a:focus {
  color: black;
  text-decoration: none;
}
.tel a:visited {
  color: black;
}
.tel span {
  display: inline-block;
}
.tel .label {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.2em;
}
.tel .no {
  font-family: "EB Garamond", serif;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .tel .no {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
.tel .memo {
  color: #000;
}
@media print, screen and (min-width: 860px) {
  .tel .memo {
    margin-left: 20px;
  }
}
@media screen and (max-width: 859px) {
  .tel .memo {
    display: block;
  }
}
.tel .note {
  color: #999;
  font-size: 15px;
  font-size: 1.5rem;
  display: block;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .tel .note {
    font-size: 1.875px;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 859px) {
  br.sp-none {
    display: none;
  }
}

.margin__0 {
  margin-top: 0 !important;
}
.margin__05x {
  margin-top: 1em !important;
}
.margin__15x {
  margin-top: 3em !important;
}
.margin__2x {
  margin-top: 4em !important;
}

.li-margin__0px li {
  margin-top: 0px !important;
  margin-bottom: 0;
}

.li-margin__10px li {
  margin-top: 10px !important;
  margin-bottom: 0;
}

.li-margin__40px > li {
  margin-top: 40px !important;
  margin-bottom: 0;
}

.fileicon {
  padding-left: 10px;
  padding-right: 10px;
}

.fileicon:before {
  font-family: FontAwesome;
  display: inline-block;
  padding-right: 3px;
}

.fileicon--docx:before {
  content: "\f1c2";
}

.fileicon--xlsx:before {
  content: "\f1c3";
}

.fileicon--pptx:before {
  content: "\f1c4";
}

.fileicon--pdf:before {
  content: "\f1c1";
}

.fileicon--zip:before {
  content: "\f1c6";
}

.mokuhyo {
  font-weight: 700;
  padding: 10px;
  background: #F9F9F9;
}

#adminBox {
  width: 100%;
  margin-bottom: 0;
}

.page-title {
  margin: 42px 0 0;
}
.page-title .wide-container {
  position: relative;
}
@media screen and (max-width: 859px) {
  .page-title .wide-container {
    margin-left: 10px;
    margin-right: 10px;
  }
}
.page-title .page-title-jp {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 400;
  margin: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .page-title .page-title-jp {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .page-title .page-title-jp {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .page-title .page-title-jp {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
.page-title .page-title-en {
  font-size: 60px;
  font-size: 6rem;
  color: #04A8EE;
  font-family: "Lexend Zetta";
  letter-spacing: -6.2px;
  margin: 0;
  line-height: 1;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .page-title .page-title-en {
    font-size: 7.5px;
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 859px) {
  .page-title .page-title-en {
    font-size: 30px;
    font-size: 3rem;
    letter-spacing: -5.2px;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .page-title .page-title-en {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}

.topicpath {
  margin-bottom: 30px;
  padding: 26px 0;
  margin-top: 0px;
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .topicpath {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}
@media print, screen and (min-width: 860px) {
  .topicpath {
    margin-left: 2em;
  }
}
@media screen and (max-width: 859px) {
  .topicpath {
    display: none;
  }
}

.topicpath-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
}

.topicpath-item {
  float: left;
  padding: 0 10px 0 5px;
}
.topicpath-item:first-child {
  padding: 0 10px 0 0;
  background: 0;
}
.topicpath-item:not(:last-child)::after {
  font-family: ionicons;
  content: "\f3d3";
  padding-left: 10px;
}
.topicpath-item:nth-child(1) a span {
  display: none;
}
.topicpath-item:nth-child(1) a::before {
  display: inline-block;
  text-indent: none;
  content: "";
  width: 1.3em;
  height: 1.3em;
  background: url(../img/icon_home.svg) no-repeat 0 0;
  background-size: contain;
}

.topicpath-link {
  color: #666;
}
.topicpath-link:visited, .topicpath-link:focus, .topicpath-link:active {
  color: #666;
}

ul.page-navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  margin: 0;
  gap: 20px;
}
@media print, screen and (min-width: 860px) {
  ul.page-navi {
    position: absolute;
    top: 74px;
    right: 0;
  }
}
@media screen and (max-width: 859px) {
  ul.page-navi {
    margin-top: 1em;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
ul.page-navi li {
  list-style: none;
}
ul.page-navi li a {
  display: block;
  border-radius: 124px;
  color: #04A8EE;
  text-decoration: none;
  background: #F3F3F3 url(../../about/img/icon_arrow.svg) no-repeat 8px 50%;
  padding: 3px 10px 3px 30px;
}
ul.page-navi li a:hover, ul.page-navi li a:active, ul.page-navi li a:focus {
  color: #04a8ee;
  text-decoration: none;
}
ul.page-navi li a:visited {
  color: #04a8ee;
}
@media screen and (max-width: 859px) {
  ul.page-navi li a {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  ul.page-navi li a {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}

.btn01 {
  display: inline-block;
  font-size: 22px;
  font-size: 2.2rem;
  color: #fff;
  text-decoration: none;
  background: #04A8EE;
  border-radius: 7px;
  min-width: 334px;
  padding: 20px;
  text-align: center;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .btn01 {
    font-size: 2.75px;
    font-size: 1.76rem;
  }
}
.btn01:hover, .btn01:active, .btn01:focus {
  color: white;
  text-decoration: none;
}
.btn01:visited {
  color: white;
}
.btn01:hover {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  opacity: 0.7;
}

.btn-back {
  text-align: center;
  border-top: 1px solid #ddd;
  padding-top: 50px;
  margin-top: 50px;
}

a.btn-illust {
  display: inline-block;
  border-radius: 10px;
  background: #F6F6F6;
  border: 3px solid #04A8EE;
  padding: 20px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
a.btn-illust .link-text {
  text-align: center;
}
a.btn-illust .link-text p {
  margin: 0;
}
a.btn-illust .link-text .jp {
  font-family: "M PLUS 1p";
  font-size: 24px;
  font-size: 2.4rem;
  color: #263238;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  a.btn-illust .link-text .jp {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  a.btn-illust .link-text .jp {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  a.btn-illust .link-text .jp {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
a.btn-illust .link-text .en {
  font-family: "Lexend Zetta";
  color: #04A8EE;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  a.btn-illust .link-text .en {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media screen and (max-width: 859px) {
  a.btn-illust .link-text .en {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  a.btn-illust .link-text .en {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}
a.btn-illust.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 485px;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 859px) {
  a.btn-illust.row {
    width: 90%;
  }
}
a.btn-illust.row .link-text {
  width: 50%;
}
a.btn-illust.row .image {
  width: 35%;
}
a.btn-illust:hover {
  opacity: 0.7;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.madoguchi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.madoguchi th {
  vertical-align: top;
  width: 3em;
}

.table01 {
  width: 100%;
  border-collapse: collapse;
}
.table01 th, .table01 td {
  border-bottom: 1px solid #ddd;
  padding: 20px 10px;
  border-radius: 0;
}
.table01 th p, .table01 td p {
  margin: 0;
}
.table01 th {
  min-width: 15%;
  width: 20%;
  text-align: left;
  font-weight: 400;
}
@media screen and (max-width: 859px) {
  .table01 th {
    width: 30%;
  }
}
.table01 table {
  margin-top: 0;
}
.table01 table th, .table01 table td {
  border: 0;
}
.table01 table th {
  background: none;
}

.table-01 {
  margin-bottom: 2em;
}

@media screen and (max-width: 859px) {
  .table-scroll {
    overflow-x: auto;
  }
  .table-scroll table {
    min-width: 768px;
  }
}

h1, h2, h3, h4, h5, h6 {
  scroll-margin-top: 100px; /* 固定ヘッダーの高さと同じ値を指定 */
}

.title2-01 {
  font-size: 28px;
  font-size: 2.8rem;
  text-align: center;
  font-weight: 400;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .title2-01 {
    font-size: 3.5px;
    font-size: 2.24rem;
  }
}

.title2-02 {
  padding-top: 40px;
  border-top: 3px solid #04A8EE;
  text-align: center;
  display: inline-block;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 400;
  margin-top: 120px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .title2-02 {
    font-size: 3.5px;
    font-size: 2.24rem;
  }
}

.title2-03 {
  text-align: center;
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 2.04px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .title2-03 {
    font-size: 4.25px;
    font-size: 2.72rem;
  }
}
@media screen and (max-width: 859px) {
  .title2-03 {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .title2-03 {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}

.title2-04 {
  font-size: 48px;
  font-size: 4.8rem;
  text-align: center;
  font-weight: 400;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .title2-04 {
    font-size: 6px;
    font-size: 3.84rem;
  }
}
@media screen and (max-width: 859px) {
  .title2-04 {
    font-size: 30px;
    font-size: 3rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .title2-04 {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}

.title2-05 {
  padding-top: 30px;
  border-top: 3px solid #04A8EE;
  text-align: center;
  display: inline-block;
  font-size: 48px;
  font-size: 4.8rem;
  font-weight: 400;
  margin-top: 120px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .title2-05 {
    font-size: 6px;
    font-size: 3.84rem;
  }
}
@media screen and (max-width: 859px) {
  .title2-05 {
    font-size: 30px;
    font-size: 3rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .title2-05 {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}

.title3-01 {
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  margin-top: 40px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .title3-01 {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}

.title3-02 {
  text-align: center;
  font-size: 40px;
  font-size: 4rem;
  margin-top: 40px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .title3-02 {
    font-size: 5px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 859px) {
  .title3-02 {
    font-size: 26px;
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .title3-02 {
    font-size: 3.25px;
    font-size: 2.08rem;
  }
}

ol li {
  margin-bottom: 1em;
}

ul.list-headline {
  margin-top: 0;
  border-top: 5px dotted #FAD9DF;
  padding: 0;
}
ul.list-headline li {
  list-style: none;
}
ul.list-headline li a {
  display: block;
  border-bottom: 5px dotted #FAD9DF;
  background: url(../img/icon_arrow01.svg) no-repeat 97% 50%;
  background-size: 13px 13px;
  padding: 1em 0;
  color: #263238;
  text-decoration: none;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
ul.list-headline li a:hover, ul.list-headline li a:active, ul.list-headline li a:focus {
  color: #263238;
  text-decoration: none;
}
ul.list-headline li a:visited {
  color: #263238;
}
ul.list-headline li a dl {
  margin: 0;
  padding: 0 0.5em;
}
@media print, screen and (min-width: 860px) {
  ul.list-headline li a dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
ul.list-headline li a dt {
  color: #04A8EE;
}
@media print, screen and (min-width: 860px) {
  ul.list-headline li a dt {
    width: 8em;
  }
}
ul.list-headline li a dd {
  position: relative;
}
@media print, screen and (min-width: 860px) {
  ul.list-headline li a dd {
    width: calc(100% - 8em);
  }
}
ul.list-headline li a dd a {
  color: #04A8EE;
  text-decoration: none;
}
ul.list-headline li a dd a:hover, ul.list-headline li a dd a:active, ul.list-headline li a dd a:focus {
  color: #04a8ee;
  text-decoration: none;
}
ul.list-headline li a dd a:visited {
  color: #04a8ee;
}
ul.list-headline li a:hover {
  background: rgba(250, 217, 223, 0.4);
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.list01 {
  padding-left: 50px;
  list-style-type: disc;
}
.list01 li {
  padding-left: 0.5em;
}
.list01.shikaku li:before {
  content: "◆";
}

.policy-list {
  counter-reset: item;
  list-style: none;
  padding: 0;
}
.policy-list > li {
  padding-left: 1.7em;
  text-indent: -1.7em;
  /* 番号部分 */
  /* 本文 */
}
.policy-list > li::before {
  counter-increment: item;
  content: counter(item) ")";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px; /* 番号幅調整 */
  text-align: right; /* 右寄せして「1) 」のように */
  margin-right: 12px;
}
.policy-list > li p {
  margin: 0;
  line-height: 1.6;
}
.policy-list.both li::before {
  content: "(" counter(item) ")";
}
.policy-list.both > li {
  text-indent: -2.3em;
}

ul.pager {
  text-align: center;
  padding: 0;
  margin-top: 4em;
  margin-bottom: 4em;
}
ul.pager li {
  list-style: none;
  display: inline-block;
  margin-left: 3px;
  margin-right: 3px;
}
ul.pager li.arrow a {
  color: #04A8EE;
  text-decoration: none;
}
ul.pager li.arrow a:hover, ul.pager li.arrow a:active, ul.pager li.arrow a:focus {
  color: #04a8ee;
  text-decoration: none;
}
ul.pager li.arrow a:visited {
  color: #04a8ee;
}
ul.pager li span {
  display: inline-block;
  background: #E5E5E5;
}
ul.pager li span a {
  display: inline-block;
  padding: 4px 13px;
  color: #000;
  text-decoration: none;
}
ul.pager li span a:hover, ul.pager li span a:active, ul.pager li span a:focus {
  color: black;
  text-decoration: none;
}
ul.pager li span a:visited {
  color: black;
}
ul.pager li span.dot {
  background: none;
}
ul.pager li.cur span {
  background: #04A8EE;
  padding: 4px 13px;
  color: #fff;
}

ul.pagination {
  padding: 0;
  text-align: center;
}
ul.pagination li.page-item {
  list-style: none;
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
}
ul.icon-01 {
  padding: 0;
}
ul.icon-01 li {
  display: inline-block;
  list-style: none;
  margin-bottom: 3px;
}
ul.icon-01 li span {
  display: block;
  border: 1px solid #04A8EE;
  color: #04A8EE;
  font-size: 12px;
  font-size: 1.2rem;
  padding: 1px 10px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  ul.icon-01 li span {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}

.youtube {
  margin-top: 4em;
  position: relative;
  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.googlemap {
  width: 100%; /* 横幅100% */
  height: 432px; /* 高さ432px */
  overflow: hidden; /* はみ出し防止（必要に応じて） */
}

.googlemap iframe {
  width: 100%; /* 横幅100% */
  height: 100%; /* 親要素の高さいっぱい */
  border: 0; /* 枠線なし */
  display: block; /* iframe下の余白を消すため */
}

.tab-01 ul.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  border-bottom: 4px solid #04A8EE;
}
.tab-01 ul.tabs li {
  list-style: none;
  cursor: pointer;
  text-align: center;
  position: relative;
  margin: 0 10px;
}
@media screen and (max-width: 859px) {
  .tab-01 ul.tabs li {
    width: 45%;
  }
}
.tab-01 ul.tabs li span {
  display: block;
  padding: 15px 35px;
  font-weight: bold;
}
@media screen and (max-width: 859px) {
  .tab-01 ul.tabs li span {
    padding: 7px 5px;
  }
}
.tab-01 ul.tabs li > span {
  background: #04A8EE;
  color: #fff;
  height: 100%;
}
.tab-01 ul.tabs li a > span {
  background: #eee;
  height: 100%;
}

.text-copy-01 {
  font-size: 30px;
  font-size: 3rem;
  margin-top: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .text-copy-01 {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}

.acms-entry [class*=column-eximage-].nocaption, .acms-entry [class*=column-image-].nocaption, .acms-entry [class*=column-media-].nocaption, .acms-entry [class*=column-video-], .acms-entry [class*=column-yolp-], .acms-entry [class*=column-youtube-] {
  margin-top: 2em !important;
}
@media screen and (max-width: 859px) {
  .acms-entry [class*=column-eximage-].nocaption, .acms-entry [class*=column-image-].nocaption, .acms-entry [class*=column-media-].nocaption, .acms-entry [class*=column-video-], .acms-entry [class*=column-yolp-], .acms-entry [class*=column-youtube-] {
    margin-bottom: 2em !important;
  }
}

.acms-thumbnail p {
  margin-top: 0;
}

@media print, screen and (min-width: 860px) {
  .page-title.contact .contact-memo {
    position: absolute;
    top: 39px;
    left: 370px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.page-title.contact .contact-memo p {
  margin: 0;
}
.page-title.contact .contact-memo .text {
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .page-title.contact .contact-memo .text {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.page-title.contact .contact-memo .tel {
  font-size: 24px;
  font-size: 2.4rem;
  margin-left: 1em;
  margin-top: 10px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .page-title.contact .contact-memo .tel {
    font-size: 3px;
    font-size: 1.92rem;
  }
}

.kiyaku {
  margin-top: 30px;
  background: #F9F9F9;
  border: 1px solid #ddd;
  padding: 20px;
  height: 420px;
  overflow-y: auto;
}

/* ------------------------------
　　フォームステップ
------------------------------ */
.progress-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; /* ステップ間のスペースを均等に */
  width: 400px; /* 全体の幅を調整 */
}

.progress-step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  position: relative; /* For line positioning if needed */
}

.progress-circle {
  width: 60px; /* 円のサイズ */
  height: 60px; /* 円のサイズ */
  border-radius: 50%;
  background-color: #fff; /* 非アクティブな円の背景色 */
  color: #ddd; /* 非アクティブな円の文字色 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px; /* 数字のフォントサイズ */
  font-weight: bold;
  border: 3px solid #ddd; /* 非アクティブな円の境界線 */
  margin-bottom: 10px; /* 円とラベルの間隔 */
}

.progress-step.active .progress-circle {
  background-color: #00aeff; /* アクティブな円の背景色 (画像の色に近づける) */
  color: white;
  border-color: #00aeff; /* アクティブな円の境界線 */
}

.progress-label {
  font-size: 14px;
  color: #bdbdbd; /* 非アクティブなラベルの色 */
}

.progress-step.active .progress-label {
  color: #00aeff; /* アクティブなラベルの色 (画像の色に近づける) */
  font-weight: bold;
}

.progress-line {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 3px; /* 線の太さ */
  background-color: #ddd; /* 線の色 */
  margin: 0 0px; /* 線と円の間隔 */
  position: relative;
  top: -20px; /* 円の中心に合わせるために調整 */
}

.f-progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  padding-left: 0;
  max-width: 580px;
  margin: 40px auto 0;
}
.f-progress > li {
  display: inline-block;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 33.3333333333%;
  padding-top: 30px;
  text-align: center;
}
.f-progress > li + li::after {
  display: block;
  position: absolute;
  left: -50%;
  top: 10px;
  width: 100%;
  height: 5px;
  background-color: #e1e1e1;
  z-index: 0;
  content: "";
}
.f-progress > li > .period {
  display: inline-block;
  position: absolute;
  top: 11px;
  left: 0;
  right: 0;
  width: 32px;
  height: 32px;
  margin: -16px auto 0;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1;
  border: 3px solid #DDDADA;
}
.f-progress > li > .txt {
  font-size: 1.2rem;
  display: block;
  font-weight: 400;
  line-height: 1.2;
}
.f-progress > li.-complete::after, .f-progress > li.-complete > .period {
  background-color: #70CBBC;
}
.f-progress > li.-current > .period {
  background-color: #1D7EC6;
  border: 3px solid #1D7EC6;
}
.f-progress > li.-current > .txt {
  font-weight: 700;
}
.f-progress + * {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .f-progress > li > .txt {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 860px) {
  .col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 860px) {
  .col2 > div {
    width: 47%;
  }
}

.label-required {
  color: #fff;
  background: #DD0000;
  font-size: 12px;
  display: inline-block;
  padding: 0 0.3em;
  margin-left: 0.5em;
}

.rice {
  font-size: 14px;
  font-size: 1.4rem;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .rice {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}

/* フォーム要素
------------------------------ */
.contact-form {
  padding: 30px;
  margin-left: 0;
  border-radius: 8px;
  background: rgba(144, 202, 249, 0.3);
}
.contact-form li {
  list-style: none;
  margin-bottom: 3em;
}
.contact-form li p {
  margin: 0;
}
.contact-form select[required]:required {
  border: 1px solid #C49511;
}
.contact-form select.focused:invalid {
  border: 1px solid #c41134;
}
.contact-form select[required]:valid {
  border: 1px solid #A7A7AA;
}
.contact-form input[required]:required,
.contact-form textarea[required]:required {
  background: #FFFDEB;
}
.contact-form input.focused:invalid,
.contact-form textarea.focused:invalid {
  background: #FFEBEE;
}
.contact-form input[required]:valid,
.contact-form textarea[required]:valid {
  background: #FFF;
}
.contact-form input[type=text],
.contact-form input[type=password],
.contact-form input[type=datetime],
.contact-form input[type=datetime-local],
.contact-form input[type=date],
.contact-form input[type=month],
.contact-form input[type=time],
.contact-form input[type=week],
.contact-form input[type=number],
.contact-form input[type=email],
.contact-form input[type=url],
.contact-form input[type=search],
.contact-form input[type=tel] {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 14px 5px 10px 5px;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0;
  border-radius: 5px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .contact-form input[type=text],
  .contact-form input[type=password],
  .contact-form input[type=datetime],
  .contact-form input[type=datetime-local],
  .contact-form input[type=date],
  .contact-form input[type=month],
  .contact-form input[type=time],
  .contact-form input[type=week],
  .contact-form input[type=number],
  .contact-form input[type=email],
  .contact-form input[type=url],
  .contact-form input[type=search],
  .contact-form input[type=tel] {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.contact-form textarea {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 5px 5px 4px;
  border: 0;
  border-radius: 5px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .contact-form textarea {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.contact-form select {
  font-size: 16px;
  font-size: 1.6rem;
  padding: 11px 30px 11px 10px;
  vertical-align: top;
  border: 3px solid #707070;
  width: 100%;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .contact-form select {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.contact-form.confirm {
  background: #ddd;
}

.privacy-link a {
  background: url(../img/icon_blank.svg) no-repeat 100% 0;
  padding-right: 2em;
  color: #263238;
  text-decoration: none;
}
.privacy-link a:hover, .privacy-link a:active, .privacy-link a:focus {
  color: #263238;
  text-decoration: none;
}
.privacy-link a:visited {
  color: #263238;
}

.privacy-check {
  text-align: center;
  margin-top: 3em;
  margin-bottom: 3em;
  background: #F9F9F9;
  padding: 30px;
}

.contact-box .acms-admin-ico-checkbox {
  border: 2px solid #707070;
  border-radius: 3px;
  background: #fff;
  background-image: none;
  width: 28px;
  height: 28px;
  background: none !important;
}
.contact-box .acms-admin-form-checkbox input:checked + label .acms-admin-ico-checkbox,
.contact-box .acms-admin-form-checkbox input:checked + .acms-admin-ico-checkbox {
  background-size: 20px 20px;
}
.contact-box .acms-admin-form-checkbox input:checked + label .acms-admin-ico-checkbox::after,
.contact-box .acms-admin-form-checkbox input:checked + .acms-admin-ico-checkbox::after {
  display: block;
  width: 30px;
  height: 30px;
  content: "";
  background: url(../img/icon_check.png) no-repeat;
  background-size: contain;
}

.error-text {
  color: red;
}

.form-btn-box {
  text-align: center;
}

.btn-attention-block-large {
  margin-top: 70px;
  background: #666;
  color: #fff;
  padding: 25px 5em;
  border: 0;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1em;
  border-radius: 7px;
  min-width: 334px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .btn-attention-block-large {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
.btn-attention-block-large.-send {
  background-color: #04A8EE;
}

.form-btn-return {
  margin-bottom: 3em;
  position: relative;
}
.form-btn-return input {
  background: #999;
  border: 0;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
  border-radius: 7px;
  padding: 20px;
  min-width: 200px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .form-btn-return input {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media print, screen and (min-width: 860px) {
  .form-btn-return input {
    position: absolute;
    left: 0;
    top: -90px;
  }
}

.contact-form-confirm {
  background: #EEEEEE;
  width: 100%;
  padding: 0.6em 1em;
  margin-bottom: 0.5em;
}

/* サンクス
------------------------------ */
.form-thanks {
  padding-bottom: 5em;
}
.form-thanks .lead {
  font-size: 26px;
  font-size: 2.6rem;
  text-align: center;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .form-thanks .lead {
    font-size: 3.25px;
    font-size: 2.08rem;
  }
}
@media screen and (max-width: 859px) {
  .form-thanks .lead {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .form-thanks .lead {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
.form-thanks ul.message {
  background: #F8F8F8;
  padding: 1em;
  padding-left: 3em;
}
.form-thanks ul.message li {
  list-style: disc;
}
.form-thanks .return {
  text-align: center;
}
.form-thanks .return a {
  display: inline-block;
  text-align: center;
  border-radius: 7px;
  font-weight: bold;
  color: #263238;
  text-decoration: none;
  padding: 1em 5em;
  background: #04A8EE;
  color: #fff;
  text-decoration: none;
}
.form-thanks .return a:hover, .form-thanks .return a:active, .form-thanks .return a:focus {
  color: #263238;
  text-decoration: none;
}
.form-thanks .return a:visited {
  color: #263238;
}
.form-thanks .return a:hover, .form-thanks .return a:active, .form-thanks .return a:focus {
  color: white;
  text-decoration: none;
}
.form-thanks .return a:visited {
  color: white;
}

article.entry {
  background: #fff;
  border-radius: 5px;
  padding: 2em;
}

.acms-entry [class*=column-eximage-].nocaption, .acms-entry [class*=column-image-].nocaption, .acms-entry [class*=column-media-].nocaption, .acms-entry [class*=column-video-], .acms-entry [class*=column-yolp-], .acms-entry [class*=column-youtube-] {
  margin-top: 4em;
}

.acms-entry [class*=column-eximage-], .acms-entry [class*=column-image-], .acms-entry [class*=column-media-] {
  margin-top: 4em;
}

header.entry-header .h2-02 {
  margin-top: 0;
}
header.entry-header .entry-info {
  margin-top: 0.5em;
}
header.entry-header a {
  color: #263238;
  text-decoration: none;
}
header.entry-header a:hover, header.entry-header a:active, header.entry-header a:focus {
  color: #263238;
  text-decoration: none;
}
header.entry-header a:visited {
  color: #263238;
}

.photo-box {
  margin-top: 4em;
  background: #F6F6F6;
  padding: 1em;
}
@media print, screen and (min-width: 860px) {
  .photo-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 860px) {
  .photo-box .body {
    width: 65%;
  }
}
.photo-box h4 {
  font-size: 24px;
  font-size: 2.4rem;
  margin-top: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .photo-box h4 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .photo-box h4 {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .photo-box h4 {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
@media screen and (max-width: 859px) {
  .photo-box dl {
    margin-top: 0.8em;
  }
}
.photo-box dl dt {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .photo-box dl dt {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) {
  .photo-box dl dt {
    margin-bottom: 1em;
  }
}
.photo-box .photo {
  margin: 0;
}
@media print, screen and (min-width: 860px) {
  .photo-box .photo {
    width: 32%;
  }
}

.case-box {
  margin-bottom: 3em;
}
.case-box .inner {
  position: relative;
  width: 100%;
}
.case-box h3 {
  font-size: 36px;
  font-size: 3.6rem;
  text-align: left;
  border-bottom: 3px solid #1D7EC6;
  padding-bottom: 0.3em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .case-box h3 {
    font-size: 4.5px;
    font-size: 2.88rem;
  }
}
@media screen and (max-width: 859px) {
  .case-box h3 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .case-box h3 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
.case-box h3::before {
  display: none;
}
@media print, screen and (min-width: 860px) {
  .case-box .body:has(.image) ul.icon, .case-box .body:has(.image) p {
    width: 51%;
  }
}
.case-box ul.icon {
  padding: 0;
  margin-top: 1em;
  margin-left: 10px;
}
.case-box ul.icon li {
  list-style: none;
  display: inline-block;
  background: #1D7EC6;
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  padding: 0.2em 0.5em;
  margin-right: 0.8em;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .case-box ul.icon li {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
@media screen and (max-width: 859px) {
  .case-box ul.icon li {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .case-box ul.icon li {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}
.case-box .lead {
  font-size: 24px;
  font-size: 2.4rem;
  color: #1D7EC6;
  font-weight: bold;
  margin-top: 0.7em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .case-box .lead {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .case-box .lead {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .case-box .lead {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
.case-box .type {
  font-weight: bold;
  color: #aaa;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .case-box .type {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
@media screen and (max-width: 859px) {
  .case-box .type {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .case-box .type {
    font-size: 1.625px;
    font-size: 1.04rem;
  }
}
.case-box .image {
  text-align: center;
}
@media print, screen and (min-width: 860px) {
  .case-box .image {
    width: 43% !important;
    position: absolute;
    right: 0;
    top: 0;
  }
}

.archive {
  background: #000;
  padding: 8px;
  color: #fff;
  margin-bottom: 2em;
}
.archive a {
  color: #fff;
  text-decoration: none;
}
.archive a:hover, .archive a:active, .archive a:focus {
  color: white;
  text-decoration: none;
}
.archive a:visited {
  color: white;
}
.archive .inner {
  border: 1px solid #ddd;
  padding: 15px;
}
.archive h2 {
  text-align: center;
  margin: 0;
  color: #fff;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .archive h2 {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
.archive h2::after {
  display: block;
  content: "";
  background: #04A8EE;
  height: 2px;
  width: 40px;
  margin-left: auto;
  margin-right: auto;
}

ul.archive-entry {
  margin: 1em 0 0;
  padding: 0;
}
ul.archive-entry li {
  list-style: none;
}
ul.archive-entry li:not(:last-child) {
  margin-bottom: 10px;
}
ul.archive-entry a {
  display: block;
}
ul.archive-entry a::after {
  content: "";
  display: block;
  clear: both;
}
ul.archive-entry .thumb {
  width: 70px;
  float: left;
  margin-right: 10px;
}
ul.archive-entry .body {
  overflow: hidden;
}
ul.archive-entry .body dl {
  margin: 0;
}
ul.archive-entry .body .date {
  font-size: 11px;
  font-size: 1.1rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  ul.archive-entry .body .date {
    font-size: 1.375px;
    font-size: 0.88rem;
  }
}
ul.archive-entry .body .title {
  font-size: 13px;
  font-size: 1.3rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  ul.archive-entry .body .title {
    font-size: 1.625px;
    font-size: 1.04rem;
  }
}

.archive-year {
  margin: 1em 0 0;
  padding: 0;
}
.archive-year li {
  list-style: none;
}
.archive-year li:not(:last-child) {
  margin-bottom: 10px;
}
.archive-year a {
  display: block;
  position: relative;
}
.archive-year a::after {
  content: "";
  display: block;
  clear: both;
}
.archive-year a::after {
  font-family: ionicons;
  content: "\f125";
  display: inline-block;
  position: absolute;
  top: calc(50% - 0.5em);
  right: 5px;
  color: #04A8EE;
  line-height: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.archive-year a:hover::after {
  -webkit-transform: translate(5px, 0px);
          transform: translate(5px, 0px);
}

body.ccd-about {
  /* CSS */
  /* 縦のライン */
  /* 左側：年表示 */
  /* 年の下の元号テキスト */
  /* 右側：ドット＋ボックス */
  /* タイムライン上のドット */
  /* 内容を包むボックス */
  /* ボックス内：日付部分 */
}
body.ccd-about .page-title.about {
  position: relative;
}
body.ccd-about .page-title.about .illust {
  position: absolute;
  top: 0px;
  left: 494px;
}
@media screen and (max-width: 1139px) {
  body.ccd-about .page-title.about .illust {
    display: none;
  }
}
body.ccd-about .access {
  margin-bottom: 60px;
  margin-top: 60px;
  max-width: 874px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 860px) {
  body.ccd-about .access {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 33px;
  }
}
body.ccd-about .access .photo {
  margin: 0;
}
@media print, screen and (min-width: 860px) {
  body.ccd-about .access .photo {
    -ms-flex-preferred-size: 400px;
        flex-basis: 400px;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-about .access .body {
    -ms-flex-preferred-size: 441px;
        flex-basis: 441px;
  }
}
body.ccd-about .access .body h4 {
  margin-top: 0;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .access .body h4 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
body.ccd-about section.history {
  background: #F9F9F9;
}
body.ccd-about .timeline {
  position: relative;
  margin: 40px 0;
  max-width: 793px;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 0;
}
body.ccd-about .timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 171px; /* 年表示の幅 (120px) に合わせる */
  width: 2px;
  background: #ccc;
}
@media screen and (max-width: 859px) {
  body.ccd-about .timeline::before {
    left: 130px;
  }
}
body.ccd-about .timeline-item {
  position: relative;
  margin-bottom: 40px; /* 項目間のスペース */
}
body.ccd-about .timeline-year {
  position: absolute;
  left: 0;
  width: 120px;
  font-size: 50px;
  font-family: Montserrat;
  font-weight: 200;
  font-style: normal;
  color: #00ADEF; /* 青色 */
  line-height: 1;
}
@media screen and (max-width: 859px) {
  body.ccd-about .timeline-year {
    font-size: 38px;
    font-size: 3.8rem;
    left: 20px;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .timeline-year {
    font-size: 4.75px;
    font-size: 3.04rem;
  }
}
body.ccd-about .timeline-era {
  margin-top: 4px;
  font-size: 18px;
  font-size: 1.8rem;
  color: #666;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .timeline-era {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
body.ccd-about .timeline-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-left: 158px; /* ラインの右側へ寄せる */
}
@media screen and (max-width: 859px) {
  body.ccd-about .timeline-content {
    margin-left: 120px;
  }
}
body.ccd-about .timeline-dot {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 26px;
  height: 26px;
  margin-top: 6px; /* ドットをテキスト中央寄せ */
  margin-right: 16px; /* ドットとボックスの間隔 */
  background: #00ADEF; /* 青色 */
  border-radius: 50%;
}
body.ccd-about .timeline-box {
  background: #fff;
  border-radius: 4px;
  padding: 16px;
  width: 100%; /* 必要に応じて調整 */
}
@media screen and (max-width: 859px) {
  body.ccd-about .timeline-box {
    width: 75%;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .timeline-box {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
body.ccd-about .gray-box {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  background: #F9F9F9;
  padding: 20px;
  margin-top: 70px;
}
@media screen and (max-width: 859px) {
  body.ccd-about .gray-box {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .gray-box {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
body.ccd-about .gray-box .copy {
  margin-top: 0;
  font-family: "BIZ UDPMincho";
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .gray-box .copy {
    font-size: 4px;
    font-size: 2.56rem;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-about .gray-box .copy {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .gray-box .copy {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
body.ccd-about .gray-box .text {
  margin-top: 20px;
}
@media screen and (max-width: 859px) {
  body.ccd-about .gray-box .text {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .gray-box .text {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
body.ccd-about ul.image-list {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 78px;
}
body.ccd-about ul.image-list li {
  list-style: none;
  width: 25%;
}
@media screen and (max-width: 859px) {
  body.ccd-about ul.image-list li {
    width: 50%;
  }
}
body.ccd-about ul.image-list li img {
  width: 100%;
}
body.ccd-about ul.image-list li.col1 {
  width: 100%;
}
body.ccd-about .voice-title {
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-about .voice-title {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
body.ccd-about .voice-list {
  max-width: 1174px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 860px) {
  body.ccd-about .voice-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-about .voice-list {
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-about .voice-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
body.ccd-about .voice-item dt {
  font-weight: 700;
}
body.ccd-about .voice-item dd {
  margin-top: 30px;
}
body.ccd-about ul.fukuri-list {
  margin: 0;
  padding: 0;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 70px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: auto;
  gap: 20px;
}
@media screen and (max-width: 859px) {
  body.ccd-about ul.fukuri-list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    margin-left: 20px;
    margin-right: 20px;
  }
}
body.ccd-about ul.fukuri-list li {
  list-style: none;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 10px;
  border: 1px solid #AAA;
  text-align: center;
}
body.ccd-about .btn-about {
  text-align: center;
  margin: 100px 0;
}

body.eid-56 .btn-about a.btn-illust.row .link-text {
  width: 42%;
  margin-right: 2%;
}
body.eid-56 .btn-about a.btn-illust.row .image {
  width: 48%;
}

body.ccd-solution .solution-lead {
  font-size: 40px;
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-lead {
    font-size: 5px;
    font-size: 3.2rem;
  }
}
body.ccd-solution .solution-item {
  border: 1px solid #1D7EC6;
  padding: 0 1em 2em 1em;
  margin-top: 5em;
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    border-left: 5px solid #1D7EC6;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-item {
    border-top: 5px solid #1D7EC6;
    margin-top: 3em;
  }
}
body.ccd-solution .solution-item .body {
  position: relative;
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-item .body {
    width: 60%;
  }
}
body.ccd-solution .solution-item h4 {
  font-size: 34px;
  font-size: 3.4rem;
  color: #1D7EC6;
  font-weight: normal;
  margin-top: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-item h4 {
    font-size: 4.25px;
    font-size: 2.72rem;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-item h4 {
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;
    text-align: center;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-item h4 {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
body.ccd-solution .solution-item h4 span {
  font-family: "Lato";
  font-size: 45px;
  font-size: 4.5rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-item h4 span {
    font-size: 5.625px;
    font-size: 3.6rem;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-item h4 span {
    display: block;
    font-size: 40px;
    font-size: 4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-item h4 span {
    font-size: 5px;
    font-size: 3.2rem;
  }
}
body.ccd-solution .solution-item .text {
  margin-top: 0.3em;
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-item .text {
    padding-left: 2em;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-item .text {
    margin-top: 1em;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-item .copy {
    position: absolute;
    bottom: -4em;
    right: -2em;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-item .copy {
    margin: 0;
    text-align: right;
  }
}
body.ccd-solution .solution-item .copy img {
  height: 115px;
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-item .copy img {
    height: 87px;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-item .thumb {
    width: 37%;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-item .thumb {
    margin-top: 0;
  }
}
body.ccd-solution .solution-block {
  position: relative;
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 10em;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block {
    margin-bottom: 4em;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-block .body {
    width: 59%;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block .body p {
    margin-left: 0;
    margin-right: 0;
  }
}
body.ccd-solution .solution-block h3 {
  font-family: "Lato";
  font-size: 50px;
  font-size: 5rem;
  font-weight: normal;
  color: #1D7EC6;
  text-align: left;
  position: relative;
  margin: 0;
  margin-top: 1.3em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block h3 {
    font-size: 6.25px;
    font-size: 4rem;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block h3 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block h3 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
body.ccd-solution .solution-block h3::before {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-block h3::before {
    width: 110%;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block h3::before {
    width: 100%;
  }
}
body.ccd-solution .solution-block .solution-en-title2 {
  font-size: 18px;
  font-size: 1.8rem;
  color: #1D7EC6;
  text-align: right;
  margin-top: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block .solution-en-title2 {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block .solution-en-title2 {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block .solution-en-title2 {
    font-size: 1.625px;
    font-size: 1.04rem;
  }
}
body.ccd-solution .solution-block .lead {
  font-size: 34px;
  font-size: 3.4rem;
  margin-top: 1em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block .lead {
    font-size: 4.25px;
    font-size: 2.72rem;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block .lead {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block .lead {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
body.ccd-solution .solution-block .text {
  font-size: 18px;
  font-size: 1.8rem;
  margin-top: 1em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block .text {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block .text {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.ccd-solution .solution-block .text {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
body.ccd-solution .solution-block .thumb {
  margin: 0;
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-block .thumb {
    width: 40%;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-solution .solution-block .thumb {
    margin-top: 1em;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-block.-left {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-solution .solution-block.-left h3:before {
    margin-left: -10%;
  }
}

.acms-entry .sec-recruit {
  position: relative;
  margin-left: 10px;
  margin-right: 10px;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit [class*=column-module] {
    padding-right: 0;
    padding-left: 0;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit {
    margin-left: 0px;
    margin-right: 0px;
  }
}
.acms-entry .sec-recruit * {
  position: relative;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit h3, .acms-entry .sec-recruit .lead {
    padding-left: 20px;
  }
}
.acms-entry .sec-recruit h3 {
  font-family: "Lato";
  font-size: 78px;
  font-size: 7.8rem;
  text-align: left;
  font-weight: 300;
  margin: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit h3 {
    font-size: 9.75px;
    font-size: 6.24rem;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit h3 {
    font-size: 33px;
    font-size: 3.3rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit h3 {
    font-size: 4.125px;
    font-size: 2.64rem;
  }
}
.acms-entry .sec-recruit h3::before {
  display: none;
}
.acms-entry .sec-recruit .lead {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  margin: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit .lead {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit .lead {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit .lead {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
.acms-entry .sec-recruit::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 1098px;
  max-width: 100%;
  height: 531px;
  background: #1D7EC6;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit::before {
    width: calc(100vw - 20px);
    height: 60vw;
    left: 10px;
  }
}
.acms-entry .sec-recruit ul.recruit-entry-list {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.acms-entry .sec-recruit ul.recruit-entry-list li {
  list-style: none;
}
.acms-entry .sec-recruit ul.recruit-entry-list li a {
  display: block;
}
.acms-entry .sec-recruit ul.recruit-entry-list li .thumb {
  margin-top: 15px;
}
.acms-entry .sec-recruit ul.recruit-entry-list li .title {
  color: #263238;
  text-decoration: none;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
  margin-top: 7px;
}
.acms-entry .sec-recruit ul.recruit-entry-list li .title:hover, .acms-entry .sec-recruit ul.recruit-entry-list li .title:active, .acms-entry .sec-recruit ul.recruit-entry-list li .title:focus {
  color: #263238;
  text-decoration: none;
}
.acms-entry .sec-recruit ul.recruit-entry-list li .title:visited {
  color: #263238;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit ul.recruit-entry-list li .title {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit ul.recruit-entry-list li .title {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit ul.recruit-entry-list li .title {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.acms-entry .sec-recruit.sec-about h3, .acms-entry .sec-recruit.sec-about .lead {
  color: #F6F6F6;
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-about h3, .acms-entry .sec-recruit.sec-about .lead {
    padding-left: 55px;
  }
}
.acms-entry .sec-recruit.sec-about h3 {
  padding-top: 10px;
}
.acms-entry .sec-recruit.sec-about .lead {
  margin-top: 15px;
}
.acms-entry .sec-recruit.sec-about .company-entry-list {
  background: none;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-about .company-entry-list {
    width: 100%;
    overflow-x: scroll;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-about .company-entry-list .entry-list {
    width: 1190px;
    padding-left: 10px;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-about .company-entry-list .entry-list-item {
    width: 25%;
  }
}
.acms-entry .sec-recruit.sec-about .company-entry-list h3 {
  display: none;
}
.acms-entry .sec-recruit.sec-about .company-entry-list a {
  width: 100%;
}
.acms-entry .sec-recruit.sec-about .company-entry-list .thumb img {
  width: 100%;
}
.acms-entry .sec-recruit.sec-about .company-entry-list .title {
  background: none !important;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-about .company-entry-list .title {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit.sec-about .company-entry-list .title {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.acms-entry .sec-recruit.sec-business {
  margin-top: 14em;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-business {
    margin-top: 5em;
  }
}
.acms-entry .sec-recruit.sec-business::before {
  background: #EEEEEE;
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-business::before {
    width: 719px;
    height: 448px;
  }
}
.acms-entry .sec-recruit.sec-business h3, .acms-entry .sec-recruit.sec-business .lead {
  padding-left: 22px;
}
.acms-entry .sec-recruit.sec-business h3 {
  padding-top: 10px;
}
.acms-entry .sec-recruit.sec-business .lead {
  margin-top: 15px;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-business .list-wrap {
    width: 100%;
    overflow-x: scroll;
  }
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-business .recruit-entry-list {
    margin-left: 36%;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-business .recruit-entry-list {
    width: 600px;
    padding-left: 10px;
  }
}
.acms-entry .sec-recruit.sec-interview {
  margin-top: 7.5em;
}
.acms-entry .sec-recruit.sec-interview::before {
  background: #9DD3FC;
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-interview::before {
    left: auto;
    right: 0;
    width: 976px;
    height: 531px;
  }
}
.acms-entry .sec-recruit.sec-interview h3, .acms-entry .sec-recruit.sec-interview .lead {
  padding-left: 380px;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-interview h3, .acms-entry .sec-recruit.sec-interview .lead {
    padding-left: 20px;
  }
}
.acms-entry .sec-recruit.sec-interview h3 {
  padding-top: 10px;
}
.acms-entry .sec-recruit.sec-interview .lead {
  margin-top: 15px;
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-interview .btn-interview {
    position: absolute;
    right: 1em;
    top: 1em;
    margin: 0;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-interview .btn-interview {
    margin-left: 1em;
    margin-right: 1em;
  }
}
.acms-entry .sec-recruit.sec-interview .btn-interview a {
  color: #263238;
  text-decoration: none;
  display: block;
  border: 2px solid #263238;
  padding: 1em;
  text-align: center;
  background: url(../img/icon_arrow_black.svg) no-repeat 95% 50%;
}
.acms-entry .sec-recruit.sec-interview .btn-interview a:hover, .acms-entry .sec-recruit.sec-interview .btn-interview a:active, .acms-entry .sec-recruit.sec-interview .btn-interview a:focus {
  color: #263238;
  text-decoration: none;
}
.acms-entry .sec-recruit.sec-interview .btn-interview a:visited {
  color: #263238;
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-interview .btn-interview a {
    width: 320px;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-interview .interview-list-wrap {
    width: 100%;
    overflow-x: scroll;
  }
}
.acms-entry .sec-recruit.sec-interview .interview-list {
  margin-top: 20px;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-interview .interview-list {
    width: 1780px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 10px;
  }
}
.acms-entry .sec-recruit.sec-interview .interview-list .interview-item {
  padding-left: 0;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-interview .interview-list .interview-item {
    width: 16.6666666667%;
  }
}
.acms-entry .sec-recruit.sec-interview .interview-list .title {
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit.sec-interview .interview-list .title {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-interview .interview-list .title {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit.sec-interview .interview-list .title {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-interview .interview-list .category {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit.sec-interview .interview-list .category {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}
.acms-entry .sec-recruit.sec-interview .interview-list .text {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .acms-entry .sec-recruit.sec-interview .interview-list .text {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-culture {
    width: 47%;
  }
}
.acms-entry .sec-recruit.sec-culture::before {
  width: 618px;
  height: 531px;
  background: #F6F6F6;
}
.acms-entry .sec-recruit.sec-culture h3 {
  padding-top: 40px;
}
.acms-entry .sec-recruit.sec-culture .recruit-entry-list {
  width: 400px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-culture .recruit-entry-list {
    width: 265px;
  }
}
.acms-entry .sec-recruit.sec-data {
  background: #EFEAE6;
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-recruit.sec-data {
    width: 50%;
    -webkit-transform: translate(0, 200px);
            transform: translate(0, 200px);
  }
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-data {
    margin-left: 10px;
    margin-top: 5em;
    width: calc(100vw - 20px);
  }
}
.acms-entry .sec-recruit.sec-data::before {
  display: none;
}
.acms-entry .sec-recruit.sec-data h3, .acms-entry .sec-recruit.sec-data .lead {
  padding-left: 20px;
}
.acms-entry .sec-recruit.sec-data a {
  display: block;
  color: #263238;
  text-decoration: none;
}
.acms-entry .sec-recruit.sec-data a:hover, .acms-entry .sec-recruit.sec-data a:active, .acms-entry .sec-recruit.sec-data a:focus {
  color: #263238;
  text-decoration: none;
}
.acms-entry .sec-recruit.sec-data a:visited {
  color: #263238;
}
@media screen and (max-width: 859px) {
  .acms-entry .sec-recruit.sec-data img {
    width: 100%;
  }
}
@media print, screen and (min-width: 860px) {
  .acms-entry .sec-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-bottom: 300px;
  }
}

ul.link-fukidashi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0;
}
ul.link-fukidashi li {
  width: 47%;
  font-size: 26px;
  font-size: 2.6rem;
  list-style: none;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  ul.link-fukidashi li {
    font-size: 3.25px;
    font-size: 2.08rem;
  }
}
@media screen and (max-width: 859px) {
  ul.link-fukidashi li {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  ul.link-fukidashi li {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
ul.link-fukidashi li a {
  display: block;
  text-align: center;
  border-radius: 10px;
  position: relative;
  background: #EEEEEE;
  padding: 10px;
  color: #263238;
  text-decoration: none;
}
ul.link-fukidashi li a:hover, ul.link-fukidashi li a:active, ul.link-fukidashi li a:focus {
  color: #263238;
  text-decoration: none;
}
ul.link-fukidashi li a:visited {
  color: #263238;
}
ul.link-fukidashi li.stay a {
  background: #1D7EC6;
  color: #FFFFFF;
}
ul.link-fukidashi li.stay a::after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-color: rgba(29, 126, 198, 0);
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 10px;
  border-right-width: 10px;
  margin-left: -10px;
  border-top-color: #1D7EC6;
  top: 100%;
  left: 50%;
}

.recruit-oubo {
  background: #EBEBEB;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2em 1em;
  margin-top: 5em;
}
@media screen and (max-width: 859px) {
  .recruit-oubo {
    padding: 2em 0em;
  }
}
@media print, screen and (min-width: 860px) {
  .recruit-oubo .inner {
    width: 460px;
    max-width: 100%;
  }
}
.recruit-oubo h3 {
  font-size: 24px;
  font-size: 2.4rem;
  margin-top: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .recruit-oubo h3 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .recruit-oubo h3 {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .recruit-oubo h3 {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
.recruit-oubo h3::before {
  display: none;
}
@media screen and (max-width: 859px) {
  .recruit-oubo p {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .recruit-oubo p {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}

.recruit-link {
  border-top: 4px solid #EEEEEE;
  border-bottom: 4px solid #EEEEEE;
  text-align: center;
  margin-top: 5em;
  padding-bottom: 2em;
}
@media screen and (max-width: 859px) {
  .recruit-link {
    width: calc(100vw - 20px);
    margin-right: 0;
  }
}
.recruit-link .lead-new {
  display: none;
}
.recruit-link .lead {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .recruit-link .lead {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .recruit-link .lead {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: normal;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .recruit-link .lead {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
.recruit-link .btn-outline div a {
  display: inline-block;
  margin-top: 3em;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  font-size: 24px;
  font-size: 2.4rem;
  width: 390px;
  padding: 0.7em 0;
  background: #666666 url(../img/icon_arrow_white.svg) no-repeat 95% 50%;
}
.recruit-link .btn-outline div a:hover, .recruit-link .btn-outline div a:active, .recruit-link .btn-outline div a:focus {
  color: white;
  text-decoration: none;
}
.recruit-link .btn-outline div a:visited {
  color: white;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .recruit-link .btn-outline div a {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .recruit-link .btn-outline div a {
    width: 95%;
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .recruit-link .btn-outline div a {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 860px) {
  .recruit-link .ex-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.recruit-link .ex-link ul {
  padding: 0;
}
.recruit-link .ex-link ul li {
  list-style: none;
  margin-left: 0.5em;
  margin-right: 0.5em;
  margin-bottom: 1em;
  text-align: center;
}
@media screen and (max-width: 859px) {
  .recruit-link .ex-link ul li:not(:last-child) {
    margin-bottom: 2em;
  }
}
.recruit-link .ex-link ul li a, .recruit-link .ex-link ul li span {
  display: block;
}
.recruit-link .ex-link ul li a {
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  font-size: 24px;
  font-size: 2.4rem;
  width: 390px;
  padding: 0.7em 0;
}
.recruit-link .ex-link ul li a:hover, .recruit-link .ex-link ul li a:active, .recruit-link .ex-link ul li a:focus {
  color: white;
  text-decoration: none;
}
.recruit-link .ex-link ul li a:visited {
  color: white;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .recruit-link .ex-link ul li a {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .recruit-link .ex-link ul li a {
    width: 100%;
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .recruit-link .ex-link ul li a {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
.recruit-link .ex-link ul li span {
  font-size: 14px;
  font-size: 1.4rem;
  margin-top: 0.3em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .recruit-link .ex-link ul li span {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
@media screen and (max-width: 859px) {
  .recruit-link .ex-link ul li span {
    display: none;
  }
}
.recruit-link .ex-link ul li.new a {
  background: #1D7EC6 url(../img/icon_arrow_white.svg) no-repeat 95% 50%;
}
.recruit-link .ex-link ul li.career a {
  background: #054296 url(../img/icon_arrow_white.svg) no-repeat 95% 50%;
}

.only-new .recruit-link .lead-new {
  display: block;
}
.only-new .recruit-link .btn-outline, .only-new .recruit-link .ex-link .career {
  display: none;
}

.only-career .recruit-link .btn-outline, .only-career .recruit-link .ex-link .new {
  display: none;
}

@media print, screen and (min-width: 860px) {
  .interview-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 860px) {
  .interview-list .interview-item {
    padding-left: 1em;
    padding-right: 1em;
    width: 33.3333333333%;
    margin-bottom: 3em;
  }
}
.interview-list .interview-item a {
  display: block;
  color: #263238;
  text-decoration: none;
}
.interview-list .interview-item a:hover, .interview-list .interview-item a:active, .interview-list .interview-item a:focus {
  color: #263238;
  text-decoration: none;
}
.interview-list .interview-item a:visited {
  color: #263238;
}
.interview-list .interview-item .category {
  font-size: 14px;
  font-size: 1.4rem;
  background: #DDDDDD;
  border-radius: 30px;
  display: inline-block;
  padding: 0.2em 1.5em;
  margin-top: 1.3em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .interview-list .interview-item .category {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
.interview-list .interview-item .title {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
  margin-top: 0.3em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .interview-list .interview-item .title {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) {
  .interview-list .interview-item .title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .interview-list .interview-item .title {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
.interview-list .interview-item .text {
  margin-top: 0;
}

.interview-head .inner {
  position: relative;
}
@media print, screen and (min-width: 860px) {
  .interview-head .inner {
    height: 391px;
  }
}
@media print, screen and (min-width: 860px) {
  .interview-head .photo {
    position: absolute;
    right: 0;
    top: -1em;
  }
}
@media screen and (max-width: 859px) {
  .interview-head .photo {
    margin-top: 0.5em;
  }
  .interview-head .photo img {
    width: 100%;
  }
}
.interview-head .title-wrap {
  margin-top: 1em;
}
.interview-head .title {
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-size: 36px;
  font-size: 3.6rem;
  color: #fff;
  display: inline;
  padding: 0.3em;
  line-height: 2.5;
  background-color: #1D7EC6;
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .interview-head .title {
    font-size: 4.5px;
    font-size: 2.88rem;
  }
}
@media screen and (max-width: 859px) {
  .interview-head .title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .interview-head .title {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
.interview-head .type {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .interview-head .type {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) {
  .interview-head .type {
    font-size: 14px;
    font-size: 1.4rem;
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .interview-head .type {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
.interview-head .text {
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .interview-head .text {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media print, screen and (min-width: 860px) {
  .interview-head .text {
    margin-left: 10%;
    margin-right: 10%;
  }
}

.interview-unit {
  background: #F6F6F6;
  padding: 1em 0;
  margin-top: 5em;
  position: relative;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .interview-unit {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media screen and (max-width: 859px) {
  .interview-unit {
    margin-top: 2em;
  }
}
.interview-unit .title {
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  font-size: 30px;
  font-size: 3rem;
  display: inline;
  padding: 0.3em 0.1em;
  line-height: 2.5;
  background-color: #fff;
  z-index: 2;
  position: relative;
  margin-left: 0px;
  margin-right: 0;
  color: #1D7EC6;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .interview-unit .title {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) {
  .interview-unit .title {
    font-size: 18px;
    font-size: 1.8rem;
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .interview-unit .title {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media print, screen and (min-width: 860px) {
  .interview-unit .text-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 1em;
  }
}
@media screen and (max-width: 859px) {
  .interview-unit .img-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media screen and (max-width: 859px) {
  .interview-unit .title-wrap2 {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.interview-unit .photo {
  margin: 0;
  padding-right: 1em;
}
@media print, screen and (min-width: 860px) {
  .interview-unit .photo {
    float: right;
    width: 50%;
  }
}
@media screen and (max-width: 859px) {
  .interview-unit .photo {
    padding-left: 1em;
    margin-top: 1em;
  }
}
@media print, screen and (min-width: 860px) {
  .interview-unit .text-img {
    padding-right: 1em;
    padding-left: 1em;
  }
}

body.bcd-news .topicpath-item:nth-child(2) {
  display: none;
}
body.bcd-news .news-date {
  text-align: right;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.bcd-news .news-date {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
body.bcd-news h3.news-title {
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: normal;
  text-align: center;
  margin-bottom: 1em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  body.bcd-news h3.news-title {
    font-size: 3.25px;
    font-size: 2.08rem;
  }
}
@media screen and (max-width: 859px) {
  body.bcd-news h3.news-title {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  body.bcd-news h3.news-title {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
body.bcd-news .pdf-file {
  text-align: right;
}
body.bcd-news .pdf-file a {
  display: inline-block;
  width: 192px;
  background: #E8E8E8;
  text-align: center;
  color: #DC000C;
  text-decoration: none;
  font-weight: bold;
  padding: 0.5em;
}
body.bcd-news .pdf-file a:hover, body.bcd-news .pdf-file a:active, body.bcd-news .pdf-file a:focus {
  color: #dc000c;
  text-decoration: none;
}
body.bcd-news .pdf-file a:visited {
  color: #dc000c;
}
body.bcd-news .pdf-file a img {
  -webkit-transform: translate(0, -4px);
          transform: translate(0, -4px);
  display: inline-block;
  margin-left: 5px;
}

.ccd-data h3.h3-03 {
  font-size: 40px;
  font-size: 4rem;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data h3.h3-03 {
    font-size: 5px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data h3.h3-03 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data h3.h3-03 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
.ccd-data .acms-entry .page-chart *, .ccd-data .acms-entry .page-chart h4 {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media print, screen and (min-width: 860px) {
  .ccd-data .acms-entry .page-chart .data-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 2em;
  }
}
@media print, screen and (min-width: 860px) {
  .ccd-data .acms-entry .page-chart .data-wrap.-col2 .data-item {
    width: calc(50% - 1.4em);
  }
}
@media print, screen and (min-width: 860px) {
  .ccd-data .acms-entry .page-chart .data-wrap.-col3 .data-item {
    width: calc(33.3333333333% - 1.4em);
  }
}
.ccd-data .acms-entry .page-chart .data-wrap .data-item {
  border-radius: 20px;
  margin-left: 0.7em;
  margin-right: 0.7em;
  margin-bottom: 1em;
  padding: 1em;
  background-color: #F6F6F6;
}
.ccd-data .acms-entry .page-chart .data-wrap .sec-data {
  padding: 1em;
  background-color: #F6F6F6;
}
.ccd-data .acms-entry .page-chart .data-wrap .sec-data h4 {
  text-align: center;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .data-wrap .sec-data h4 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .data-wrap .sec-data h4 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .data-wrap .sec-data h4 {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart {
  position: relative;
  margin-top: 9em;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart {
    margin-top: 5em;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart h4 {
  position: absolute;
  left: calc(50% - 1.5em);
  top: calc(50% - 0.5em);
  font-size: 30px;
  font-size: 3rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart h4 {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart h4 {
    font-size: 13px;
    font-size: 1.3rem;
    top: 45%;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart h4 {
    font-size: 1.625px;
    font-size: 1.04rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-body {
  position: relative;
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-body .chart-hanrei {
  width: 100%;
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-body .chart {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul {
  text-align: center;
  line-height: 1.3;
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li {
  text-align: left;
  position: absolute;
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dt {
  font-weight: bold;
  font-size: 13px;
  font-size: 1.3rem;
  background: #ED6E85;
  border-radius: 6px;
  display: inline-block;
  padding: 0 0.5em;
  text-align: center;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dt {
    font-size: 1.625px;
    font-size: 1.04rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dt {
    font-size: 10px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dt {
    font-size: 1.25px;
    font-size: 0.8rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd {
  font-size: 25px;
  font-size: 2.5rem;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd {
    font-size: 3.125px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd span {
  font-family: "Lato";
  font-size: 40px;
  font-size: 4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd span {
    font-size: 5px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd span {
    font-size: 30px;
    font-size: 3rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li dd span {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(-n+3) {
  right: 60px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(-n+3) {
    right: 10px;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(n+4) {
  left: 10px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(n+4) {
    left: 10px;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(1), .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(4) {
  top: 10px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(1), .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(4) {
    top: 0px;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(2), .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(5) {
  top: 120px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(2), .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(5) {
    top: 61px;
  }
}
.ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(3), .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(6) {
  top: 250px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(3), .ccd-data .acms-entry .page-chart .sec-chart .chart-hanrei ul li:nth-child(6) {
    top: 120px;
  }
}
.ccd-data .acms-entry .page-chart .sec-sougyou {
  text-align: center;
  background: url(../img/data/img01.png) no-repeat 67% 82%/54%;
  padding-bottom: 3em !important;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-sougyou {
    background-position: 67% 74%;
  }
}
.ccd-data .acms-entry .page-chart .sec-sougyou .sougyou1990 {
  background: #53A1E5;
  border-radius: 50px;
  text-align: center;
  display: inline-block;
  color: #fff;
  padding: 0.2em 1em;
  font-weight: bold;
}
.ccd-data .acms-entry .page-chart .sec-sougyou .num {
  font-size: 113px;
  font-size: 11.3rem;
  font-family: "Lato";
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-sougyou .num {
    font-size: 14.125px;
    font-size: 9.04rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-sougyou .num {
    font-size: 52px;
    font-size: 5.2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-sougyou .num {
    font-size: 6.5px;
    font-size: 4.16rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-uriage {
  text-align: center;
  background: url(../img/data/img02.png) no-repeat 90% 17%/14%;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-uriage {
    background-size: 23%;
  }
}
.ccd-data .acms-entry .page-chart .sec-uriage .num {
  font-family: "Lato";
  font-size: 41px;
  font-size: 4.1rem;
  padding-top: 50px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num {
    font-size: 5.125px;
    font-size: 3.28rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num {
    font-size: 25px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num {
    font-size: 3.125px;
    font-size: 2rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-uriage .num p {
  display: inline-block;
  line-height: 1;
}
.ccd-data .acms-entry .page-chart .sec-uriage .num .oku {
  font-size: 133px;
  font-size: 13.3rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num .oku {
    font-size: 16.625px;
    font-size: 10.64rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num .oku {
    font-size: 79px;
    font-size: 7.9rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num .oku {
    font-size: 9.875px;
    font-size: 6.32rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-uriage .num .man {
  font-size: 79px;
  font-size: 7.9rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num .man {
    font-size: 9.875px;
    font-size: 6.32rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num .man {
    font-size: 48px;
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .num .man {
    font-size: 6px;
    font-size: 3.84rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-uriage .period {
  font-size: 21px;
  font-size: 2.1rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .period {
    font-size: 2.625px;
    font-size: 1.68rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .period {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-uriage .period {
    font-size: 1.625px;
    font-size: 1.04rem;
  }
}
@media print, screen and (min-width: 860px) {
  .ccd-data .acms-entry .page-chart .g-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 860px) {
  .ccd-data .acms-entry .page-chart .g-wrap .sec-chart {
    width: 50%;
    height: 300px;
  }
}
.ccd-data .acms-entry .page-chart .sec-jigyo .chart-hanrei ul li.data02 dt {
  background: #F2A254;
}
.ccd-data .acms-entry .page-chart .sec-jigyo .chart-hanrei ul li.data03 dt {
  background: #F8CE6B;
}
.ccd-data .acms-entry .page-chart .sec-jigyo .chart-hanrei ul li.data04 dt {
  background: #6BBDBF;
}
.ccd-data .acms-entry .page-chart .sec-jigyo .chart-hanrei ul li.data05 dt {
  background: #53A1E5;
}
.ccd-data .acms-entry .page-chart .sec-jigyo .chart-hanrei ul li.data06 dt {
  background: #aaa;
}
.ccd-data .acms-entry .page-chart .sec-gyosyu {
  margin-bottom: 2em;
}
.ccd-data .acms-entry .page-chart .sec-gyosyu .chart-hanrei ul li.data01 dt {
  background: #E39843;
}
.ccd-data .acms-entry .page-chart .sec-gyosyu .chart-hanrei ul li.data02 dt {
  background: #EBC527;
}
.ccd-data .acms-entry .page-chart .sec-gyosyu .chart-hanrei ul li.data03 dt {
  background: #ED6E85;
}
.ccd-data .acms-entry .page-chart .sec-gyosyu .chart-hanrei ul li.data04 dt {
  background: #31D69C;
}
.ccd-data .acms-entry .page-chart .sec-gyosyu .chart-hanrei ul li.data05 dt {
  background: #26C5D7;
}
.ccd-data .acms-entry .page-chart .sec-gyosyu .chart-hanrei ul li.data06 dt {
  background: #aaa;
}
.ccd-data .acms-entry .page-chart .sec-gender {
  background: url(../img/data/img03.png) no-repeat 47% 50%/48%;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-gender {
    background: url(../img/data/img03_sp.png) no-repeat 47% 66%/89%;
  }
}
.ccd-data .acms-entry .page-chart .sec-gender .num {
  padding-top: 150px;
  text-align: center;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-gender .num {
    padding-top: 50px;
  }
}
.ccd-data .acms-entry .page-chart .sec-gender .num p {
  font-family: "Lato";
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin: 0 20px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-gender .num p {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-gender .num p {
    margin: 0 10px;
  }
}
.ccd-data .acms-entry .page-chart .sec-gender .num p span {
  font-size: 58px;
  font-size: 5.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-gender .num p span {
    font-size: 7.25px;
    font-size: 4.64rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-age {
  background: url(../img/data/img04.png) no-repeat 47% 31%/89%;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-age {
    background: url(../img/data/img04_sp.png) no-repeat 100% 71%/34%;
    margin-left: -1em;
    margin-right: -1em;
    padding: 0 !important;
  }
}
.ccd-data .acms-entry .page-chart .sec-age .num {
  padding-top: 120px;
  text-align: center;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-age .num {
    padding-top: 0;
    text-align: left;
    width: 100%;
  }
}
.ccd-data .acms-entry .page-chart .sec-age .num p {
  font-family: "Lato";
  display: inline-block;
  font-size: 30px;
  font-size: 3rem;
  margin: 0 20px;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-age .num p {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-age .num p span {
  font-size: 86px;
  font-size: 8.6rem;
  font-weight: normal;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-age .num p span {
    font-size: 10.75px;
    font-size: 6.88rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-holiday {
  background: url(../img/data/img05.png) no-repeat 50% 31%/25%;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-holiday {
    background: url(../img/data/img05.png) no-repeat 5% 67%/25%;
    margin-left: -1em;
    margin-right: -1em;
    padding: 0 !important;
  }
}
.ccd-data .acms-entry .page-chart .sec-holiday .num {
  padding-top: 120px;
  text-align: center;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-holiday .num {
    padding-top: 20px;
    padding-left: 40px;
  }
}
.ccd-data .acms-entry .page-chart .sec-holiday .num p {
  font-family: "Lato";
  display: inline-block;
  font-size: 39px;
  font-size: 3.9rem;
  margin: 0 20px;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-holiday .num p {
    font-size: 4.875px;
    font-size: 3.12rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-holiday .num p {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-holiday .num p {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-holiday .num p span {
  font-size: 86px;
  font-size: 8.6rem;
  font-weight: normal;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-holiday .num p span {
    font-size: 10.75px;
    font-size: 6.88rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-holiday .num p span {
    font-size: 60px;
    font-size: 6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-holiday .num p span {
    font-size: 7.5px;
    font-size: 4.8rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-ikukyu {
  background: url(../img/data/img06.png) no-repeat 48% 31%/32%;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu {
    background: url(../img/data/img06.png) no-repeat 5% 67%/25%;
    margin-left: -1em;
    margin-right: -1em;
    padding: 0 !important;
  }
}
.ccd-data .acms-entry .page-chart .sec-ikukyu .num {
  padding-top: 120px;
  text-align: center;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu .num {
    padding-top: 20px;
    padding-left: 40px;
  }
}
.ccd-data .acms-entry .page-chart .sec-ikukyu .num p {
  font-family: "Lato";
  display: inline-block;
  font-size: 39px;
  font-size: 3.9rem;
  margin: 0 20px;
  font-weight: bold;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu .num p {
    font-size: 4.875px;
    font-size: 3.12rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu .num p {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu .num p {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-ikukyu .num p span {
  font-size: 86px;
  font-size: 8.6rem;
  font-weight: normal;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu .num p span {
    font-size: 10.75px;
    font-size: 6.88rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu .num p span {
    font-size: 60px;
    font-size: 6rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-ikukyu .num p span {
    font-size: 7.5px;
    font-size: 4.8rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-body {
  position: relative;
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li {
  position: absolute;
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dt {
  background: #E89943;
  padding: 0;
  text-align: center;
  border-radius: 5px;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  width: 4em;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dt {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dt {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: normal;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dt {
    font-size: 1.875px;
    font-size: 1.2rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dd {
  line-height: 1;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dd {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dd span {
  font-size: 34px;
  font-size: 3.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li dd span {
    font-size: 4.25px;
    font-size: 2.72rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li.data1 {
  right: -10px;
  top: 70px;
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li.data2 {
  left: -29px;
  top: 110px;
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li.data2 dt {
  background: #A3832A;
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li.data3 {
  left: -29px;
  top: -9px;
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart-hanrei ul li.data3 dt {
  background: #676A1E;
}
.ccd-data .acms-entry .page-chart .sec-gakubu .chart {
  margin-top: 1em;
  -webkit-transform: translate(-10px, 0);
          transform: translate(-10px, 0);
}
.ccd-data .acms-entry .page-chart .sec-map {
  position: relative;
  margin-top: 10em;
}
.ccd-data .acms-entry .page-chart .sec-map .data > div {
  position: absolute;
  text-align: center;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data > div {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data > div span {
  text-align: center;
  display: inline-block;
  padding-top: 65px;
  font-family: "Lato";
  font-size: 48px;
  font-size: 4.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .ccd-data .acms-entry .page-chart .sec-map .data > div span {
    font-size: 6px;
    font-size: 3.84rem;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .tohoku {
  background: url(../img/data/map_touhoku.png) no-repeat 0 0/contain;
  top: 10%;
  left: 75%;
  width: 220px;
  height: 182px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .tohoku {
    background: url(../img/data/map_touhoku_sp.png) no-repeat 0 0/contain;
    top: -16%;
    left: 51%;
    width: 240px;
    height: 232px;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .tohoku span {
  padding-left: 34px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .tohoku span {
    padding-top: 80px;
    padding-left: 0;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .hokushin {
  background: url(../img/data/map_hokushin.png) no-repeat 0 0/contain;
  top: 21%;
  left: 48%;
  width: 235px;
  height: 247px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .hokushin {
    top: 6%;
    left: 29%;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .hokushin span {
  padding-right: 20px;
}
.ccd-data .acms-entry .page-chart .sec-map .data .kantou {
  background: url(../img/data/map_kantou.png) no-repeat 0 0/contain;
  top: 64%;
  left: 65%;
  width: 226.5px;
  height: 216px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .kantou {
    top: 37%;
    left: 55%;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .kantou span {
  padding-left: 34px;
  padding-top: 80px;
}
.ccd-data .acms-entry .page-chart .sec-map .data .kansai {
  background: url(../img/data/map_kansai.png) no-repeat 0 0/contain;
  top: 33%;
  left: 35%;
  width: 191.5px;
  height: 201.5px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .kansai {
    top: 14%;
    left: 13%;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .kansai span {
  padding-right: 30px;
  padding-top: 55px;
}
.ccd-data .acms-entry .page-chart .sec-map .data .chugoku {
  background: url(../img/data/map_chugoku.png) no-repeat 0 0/contain;
  top: 70%;
  left: 35%;
  width: 133px;
  height: 151.5px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .chugoku {
    top: 52%;
    left: 22%;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .chugoku span {
  padding-left: 6px;
  padding-top: 53px;
}
.ccd-data .acms-entry .page-chart .sec-map .data .kyusyu {
  background: url(../img/data/map_kyusyu.png) no-repeat 0 0/contain;
  top: 26%;
  left: 21%;
  width: 142.5px;
  height: 176px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .kyusyu {
    top: 16%;
    left: -9%;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .kyusyu span {
  padding-left: 6px;
  padding-top: 36px;
}
.ccd-data .acms-entry .page-chart .sec-map .data .kaigai {
  background: url(../img/data/map_kaigai.png) no-repeat 0 0/contain;
  top: 69%;
  left: 85%;
  width: 157px;
  height: 141px;
}
@media screen and (max-width: 859px) {
  .ccd-data .acms-entry .page-chart .sec-map .data .kaigai {
    top: 69%;
    left: 47%;
  }
}
.ccd-data .acms-entry .page-chart .sec-map .data .kaigai span {
  padding-left: 21px;
  padding-top: 32px;
}

.page-title.service .service-no {
  font-family: "Lexend Zetta";
  font-weight: 400;
  color: #04A8EE;
  font-size: 30px;
  font-size: 3rem;
  letter-spacing: -5.1px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .page-title.service .service-no {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
@media screen and (max-width: 859px) {
  .page-title.service .service-no {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .page-title.service .service-no {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
.page-title.service .page-title-jp {
  font-size: 40px;
  font-size: 4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .page-title.service .page-title-jp {
    font-size: 5px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 859px) {
  .page-title.service .page-title-jp {
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.3;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .page-title.service .page-title-jp {
    font-size: 3.75px;
    font-size: 2.4rem;
  }
}
.page-title.service .page-title-en {
  font-size: 40px;
  font-size: 4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .page-title.service .page-title-en {
    font-size: 5px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 859px) {
  .page-title.service .page-title-en {
    font-size: 20px;
    font-size: 2rem;
    letter-spacing: -2px;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .page-title.service .page-title-en {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}

.service-list {
  margin-top: 70px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: auto;
  gap: 20px;
  max-width: 1388px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 859px) {
  .service-list {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    margin-left: 10px;
    margin-right: 10px;
  }
}

.service-item {
  aspect-ratio: 1/1;
}
.service-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background: rgba(4, 168, 238, 0.2);
  border-radius: 10px;
  height: 100%;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.service-item a .jp {
  color: #000;
  font-size: 23px;
  font-size: 2.3rem;
  font-weight: 400;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .service-item a .jp {
    font-size: 2.875px;
    font-size: 1.84rem;
  }
}
@media screen and (max-width: 859px) {
  .service-item a .jp {
    font-size: 12px;
    font-size: 1.2rem;
    margin-top: 3px;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .service-item a .jp {
    font-size: 1.5px;
    font-size: 0.96rem;
  }
}
.service-item a .en {
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "Lexend Mega";
  font-weight: 500;
  margin-top: 0;
  color: #5BC3F0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .service-item a .en {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
@media screen and (max-width: 859px) {
  .service-item a .en {
    font-size: 10px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  .service-item a .en {
    font-size: 1.25px;
    font-size: 0.8rem;
  }
}
.service-item a:hover {
  -webkit-transition: 0.2s;
  transition: 0.2s;
  opacity: 0.7;
}
.service-item.bg a {
  background: rgba(4, 168, 238, 0.35);
}
.service-item.image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.service-item.col1 {
  grid-column: 1/-1;
  aspect-ratio: inherit;
}
.service-item.col1 .inner {
  text-align: left;
}
.service-item.col1 a {
  padding: 20px;
}
@media print, screen and (min-width: 860px) {
  .service-item.col1 a .jp {
    font-size: 37px;
    font-size: 3.7rem;
  }
}
@media screen and (min-width: 860px) and (min-width: 480px) and (max-width: 1200px) {
  .service-item.col1 a .jp {
    font-size: 4.625px;
    font-size: 2.96rem;
  }
}
@media print, screen and (min-width: 860px) {
  .service-item.col1 a .en {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 860px) and (min-width: 480px) and (max-width: 1200px) {
  .service-item.col1 a .en {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media print, screen and (min-width: 860px) {
  .service-item.col1 a .icon {
    margin-left: 30px;
  }
}

@media screen and (max-width: 859px) {
  body.ccd-service {
    margin-left: 10px;
    margin-right: 10px;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-service .service-list {
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    max-width: 1058px;
  }
}
@media print, screen and (min-width: 860px) {
  body.ccd-service .service-item a {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
body.ccd-service .service-item a .jp {
  margin-top: 30px;
}
@media screen and (max-width: 859px) {
  body.ccd-service .service-item a .jp {
    margin-top: 0;
  }
}
@media screen and (max-width: 859px) {
  body.ccd-service .service-item a .icon img {
    height: 70px;
    width: auto;
  }
}

section.hero {
  margin-top: 44px;
  position: relative;
}
@media print, screen and (min-width: 860px) {
  section.hero {
    padding-bottom: 88px;
  }
}
section.hero .inner {
  background: rgba(5, 149, 211, 0.1);
}
@media print, screen and (min-width: 860px) {
  section.hero .body {
    padding: 30px 16px 0 550px;
  }
}
section.hero .copy {
  background: #04A8EE;
  color: #fff;
  font-size: 50px;
  font-size: 5rem;
  letter-spacing: 3px;
  margin: 0;
  padding: 15px 30px;
  line-height: 70px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.hero .copy {
    font-size: 6.25px;
    font-size: 4rem;
  }
}
@media screen and (max-width: 859px) {
  section.hero .copy {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.3;
    padding: 10px;
    margin-top: 1em;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  section.hero .copy {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
section.hero .sub {
  font-size: 24px;
  font-size: 2.4rem;
  padding: 30px 0 30px 30px;
  margin: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.hero .sub {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  section.hero .sub {
    font-size: 20px;
    font-size: 2rem;
    padding: 10px;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  section.hero .sub {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
@media print, screen and (min-width: 860px) {
  section.hero .fix-image {
    position: absolute;
  }
}
section.hero .img1 {
  top: 19px;
  left: 51px;
}
section.hero .img2 {
  top: 135px;
  right: 15px;
}
@media screen and (max-width: 1399px) {
  section.hero .img2 {
    display: none;
  }
}
section.hero.hero02 .img1 {
  top: 39px;
  left: 0px;
}
section.hero.hero02 .img2 {
  top: 185px;
  right: 15px;
}
section.hero.hero03 .img1 {
  top: 51px;
  left: 30px;
}
section.hero.hero05 .img1 {
  top: 16px;
  left: 111px;
}
section.hero.hero05 .inner {
  background: rgba(5, 149, 211, 0.1) url(../../service/img/05/mainb.png) no-repeat 0 50%;
  background-size: cover;
}
section.hero.hero06 .img1 {
  top: 75px;
  left: 22px;
}
section.hero.hero06 .img2 {
  top: 183px;
  right: 5px;
}
section.hero.hero06 .body {
  padding-bottom: 70px;
}
section.hero.hero07 .img1 {
  top: 30px;
  left: 45px;
}
section.hero.hero07 .body {
  padding-bottom: 70px;
}

section.task .inner {
  max-width: 1134px;
  min-height: 335px;
  margin-left: auto;
  margin-right: auto;
  background: url(../../service/img/img01.png) no-repeat 100% 100%;
  background-size: 365px 335px;
}
@media screen and (max-width: 859px) {
  section.task .inner {
    background: none;
  }
}
section.task .body {
  margin-top: 58px;
  border-radius: 8px;
  border: 2px solid #ddd;
  padding: 20px;
  max-width: 611px;
  position: relative;
}
section.task .task-list ul {
  padding: 0;
  margin: 0;
}
section.task .task-list ul li {
  background: #EEE;
  padding: 15px 20px;
  margin-bottom: 15px;
  list-style: none;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.task .task-list ul li {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
section.task .bubble {
  position: absolute;
  left: 649px;
  top: 70px;
  width: 156px;
  height: 100px;
}
@media screen and (max-width: 1399px) {
  section.task .bubble {
    display: none;
  }
}

section.features .inner {
  max-width: 882px;
  margin-left: auto;
  margin-right: auto;
}
section.features .features-list {
  margin-top: 40px;
}
@media print, screen and (min-width: 860px) {
  section.features .features-list {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 95px;
  }
}
section.features .features-item {
  width: 224px;
  height: 224px;
  padding: 17px 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  border-radius: 112px;
  border: 2px solid #04A8EE;
  text-align: center;
  background: rgba(5, 149, 211, 0.1) url(../../service/img/check.png) no-repeat 50% 10%;
  background-size: 72px 54px;
  padding-top: 87px;
  font-weight: 700;
}
@media screen and (max-width: 859px) {
  section.features .features-item {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
  }
}
section.features .features-item p {
  margin: 0;
}
section.features.item4 .inner {
  max-width: 1082px;
}
@media print, screen and (min-width: 860px) {
  section.features.item4 .features-list {
    gap: 62px;
  }
}

ul.image {
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 78px;
}
ul.image li {
  list-style: none;
  width: 25%;
}
@media screen and (max-width: 859px) {
  ul.image li {
    width: 50%;
  }
}
ul.image.col3 li {
  width: 33.333333%;
}
@media screen and (max-width: 859px) {
  ul.image.col3 li {
    width: 50%;
  }
}

section.diff {
  background: rgba(4, 168, 238, 0.2);
  padding-top: 20px;
  padding-bottom: 119px;
  margin-top: 118px;
}
section.diff .inner {
  max-width: 1317px;
  margin-left: auto;
  margin-right: auto;
}
section.diff .diff-list {
  margin-top: 64px;
}
@media print, screen and (min-width: 860px) {
  section.diff .diff-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 39px;
  }
}
section.diff .diff-item {
  background: #fff;
  text-align: center;
  padding: 0 20px 20px;
}
@media screen and (max-width: 859px) {
  section.diff .diff-item {
    margin-top: 40px;
    margin-left: 10px;
    margin-right: 10px;
  }
}
section.diff .diff-item p {
  margin: 0;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.diff .diff-item p {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
section.diff .diff-item .good {
  display: inline-block;
  border-radius: 100px;
  margin-top: -30px;
  background: #fff;
  padding: 15px;
}
@media print, screen and (min-width: 860px) {
  section.diff .diff-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

section.case .inner {
  max-width: 1067px;
  margin-right: auto;
  margin-left: auto;
}
section.case .case-list {
  margin-top: 40px;
}
@media print, screen and (min-width: 860px) {
  section.case .case-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 30px 1fr 30px 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
section.case .case-item {
  background: #F9F9F9;
  padding: 20px;
}
@media print, screen and (min-width: 860px) {
  section.case .case-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (max-width: 859px) {
  section.case .case-item {
    margin-top: 10px;
  }
}
section.case .case-item h3 {
  margin: 0;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.case .case-item h3 {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
section.case .case-item p {
  font-size: 16px;
  font-size: 1.6rem;
  margin-top: 10px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.case .case-item p {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
section.case.col4 .inner {
  max-width: 1378px;
}
section.case.col4 .case-list {
  margin-top: 40px;
}
@media print, screen and (min-width: 860px) {
  section.case.col4 .case-list {
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
  }
}

section.case2 .inner {
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 860px) {
  section.case2 .case-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 25px;
  }
}
section.case2 .case-item {
  padding: 20px;
  background: #F9F9F9;
}
@media print, screen and (min-width: 860px) {
  section.case2 .case-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
section.case2 .case-item .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
section.case2 .case-item .heading .body p {
  margin: 0;
}
section.case2 .case-item .heading .body .type {
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.case2 .case-item .heading .body .type {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
section.case2 .case-item .heading .body h3 {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.case2 .case-item .heading .body h3 {
    font-size: 2.5px;
    font-size: 1.6rem;
  }
}
section.case2 .case-item .heading .body .memo {
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.case2 .case-item .heading .body .memo {
    font-size: 1.75px;
    font-size: 1.12rem;
  }
}
section.case2 .case-item .thumb {
  text-align: center;
  border-bottom: 4px solid #04A8EE;
}
section.case2 .case-item .description {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 10px 0 0;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.case2 .case-item .description {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}

section.faq {
  margin-bottom: 200px;
}
section.faq .inner {
  max-width: 818px;
  margin-left: auto;
  margin-right: auto;
}
section.faq .faq-item {
  margin-top: 80px;
}
section.faq .faq-item dt {
  background: url(../../service/img/icon_q.svg) no-repeat 0 50%;
  padding: 15px 15px 15px 78px;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.faq .faq-item dt {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
section.faq .faq-item dd {
  margin-left: 20px;
  margin-top: 10px;
  background: rgba(4, 168, 238, 0.1) url(../../service/img/icon_a.svg) no-repeat 10px 10px;
  padding: 10px 10px 10px 74px;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.faq .faq-item dd {
    font-size: 2px;
    font-size: 1.28rem;
  }
}

/* CSS */
.flow {
  width: 100%;
  max-width: 580px;
  margin: 0 auto;
  margin-top: 40px;
}

.step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

.step-icon {
  width: 56px;
  height: 56px;
  background-color: #04A8EE;
  color: #fff;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 4px; /* 見出しと垂直中央に寄せたい時に調整 */
  z-index: 10;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .step-icon {
    font-size: 3px;
    font-size: 1.92rem;
  }
}

.step-box {
  border: 2px solid #009bdb;
  border-radius: 4px;
  padding: 16px;
  width: 100%;
}
@media print, screen and (min-width: 860px) {
  .step-box {
    margin-left: -26px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 50px;
  }
}

.step-box h3 {
  margin: 0 0 0px;
  font-size: 22px;
  font-size: 2.2rem;
  color: #000;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .step-box h3 {
    font-size: 2.75px;
    font-size: 1.76rem;
  }
}

.step-box p {
  margin: 0;
  font-size: 16px;
  font-size: 1.6rem;
  color: #555;
  line-height: 1.5;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .step-box p {
    font-size: 2px;
    font-size: 1.28rem;
  }
}

.arrow {
  width: 100%;
  height: 31px;
  background: url(../../service/img/flow.svg) no-repeat 50% 50%;
  margin: 14px 0;
}

.blue {
  color: #04A8EE;
  font-weight: bold;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  .blue {
    font-size: 2px;
    font-size: 1.28rem;
  }
}
@media print, screen and (min-width: 860px) {
  .blue {
    position: absolute;
    top: -28px;
    left: 30px;
  }
}

@media (max-width: 600px) {
  .step {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .step-box {
    margin-left: 0;
    margin-top: 8px;
    text-align: center;
  }
  .step-icon {
    margin-top: 0;
  }
}
section.cta {
  margin-top: 100px;
}
section.cta .inner {
  position: relative;
  max-width: 969px;
  margin-left: auto;
  margin-right: auto;
  background: #F9F9F9;
  padding: 30px 0 69px;
}
section.cta h2 {
  margin-top: 0;
}
section.cta .center {
  margin-top: 0;
}
section.cta .button {
  text-align: center;
}
section.cta .button a {
  display: inline-block;
  padding: 10px 10px;
  font-size: 24px;
  font-size: 2.4rem;
  color: var(--white, #FFF);
  font-weight: 700;
  letter-spacing: 1.44px;
  border-radius: 4px;
  background: #04A8EE;
  width: 375px;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.cta .button a {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
@media screen and (max-width: 859px) {
  section.cta .button a {
    width: 90%;
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 859px) and (min-width: 480px) and (max-width: 1200px) {
  section.cta .button a {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}
section.cta .img-fixed {
  position: absolute;
}
@media screen and (max-width: 889px) {
  section.cta .img-fixed {
    display: none;
  }
}
section.cta .img1 {
  top: 38px;
  left: 58px;
}
section.cta .img2 {
  top: 38px;
  right: 52px;
}

section.sp-other {
  margin-top: 100px;
}
section.sp-other .inner {
  max-width: 1111px;
  margin-left: auto;
  margin-right: auto;
}

section.item .inner {
  max-width: 1154px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 860px) {
  section.item .grid-container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 48px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
  }
}
section.item .grid-item {
  padding: 16px;
  background: #F6F6F6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 37px;
}
section.item .grid-item .body {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 351px;
          flex: 0 0 351px;
}
section.item .grid-item .body h3 {
  margin: 0;
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.item .grid-item .body h3 {
    font-size: 3px;
    font-size: 1.92rem;
  }
}
section.item .grid-item .body p {
  margin: 16px 0 0;
}
section.item .grid-item .image {
  width: 133px;
  margin-top: 0;
}
section.item .grid-item .image img {
  display: block;
  width: 100%;
  height: 185px;
}

section.about01 .inner {
  max-width: 1379px;
  margin-left: auto;
  margin-right: auto;
}
section.about01 .about-list {
  margin-top: 50px;
}
@media print, screen and (min-width: 860px) {
  section.about01 .about-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 58px;
  }
}
@media print, screen and (min-width: 860px) {
  section.about01 .about-item {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
}
section.about01 .about-item h3 {
  margin: 0;
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: 700;
  color: #666;
  border-bottom: 3px solid #04A8EE;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.about01 .about-item h3 {
    font-size: 2.75px;
    font-size: 1.76rem;
  }
}
section.about01 .about-item p {
  margin: 20px 0 0;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.about01 .about-item p {
    font-size: 2.25px;
    font-size: 1.44rem;
  }
}

section.about02 .inner {
  max-width: 1201px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 860px) {
  section.about02 .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 90px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media print, screen and (min-width: 860px) {
  section.about02 .wrap .body {
    -ms-flex-preferred-size: 574px;
        flex-basis: 574px;
  }
}
section.about02 .wrap .body h3 {
  color: #666;
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (min-width: 480px) and (max-width: 1200px) {
  section.about02 .wrap .body h3 {
    font-size: 3.25px;
    font-size: 2.08rem;
  }
}
@media print, screen and (min-width: 860px) {
  section.about02 .wrap .image {
    -ms-flex-preferred-size: 509px;
        flex-basis: 509px;
  }
}