@charset "UTF-8";
/* ===== Normalize =============================================
   normalize.css v2.1.3 | MIT License | git.io/normalize
   ==================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Abel&family=Noto+Serif+JP:wght@100;400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Abel&family=Noto+Sans+JP:wght@100;400;500;700&display=swap");

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block; }

audio,
canvas,
video {
  display: inline-block; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden], template {
  display: none; }

html {
  background: #fff;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

html,
button,
input,
select,
textarea {
  font-family: sans-serif; }

body {
  margin: 0; }

a {
  background: transparent; }
  a:focus {
    outline: thin dotted; }
  a:hover, a:active {
    outline: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

h2 {
  font-size: 1.5em;
  margin: 0.83em 0; }

h3 {
  font-size: 1.17em;
  margin: 1em 0; }

h4 {
  font-size: 1em;
  margin: 1.33em 0; }

h5 {
  font-size: 0.83em;
  margin: 1.67em 0; }

h6 {
  font-size: 0.75em;
  margin: 2.33em 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

q:before, q:after {
  content: '';
  content: none; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  border: 0;
  max-width: 100%;
  height: auto;
  }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0;
  white-space: normal; }

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: calc(18/1440*100vw);
  margin: 0;
  vertical-align: baseline; }

button, input {
  line-height: normal; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
input[disabled] {
  cursor: default; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto;
  vertical-align: top; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

._sp{
    display: none;
}
  @media only screen and (max-width: 768px) {
    ._sp {
        display: block;
      }
  }

/* ===== scss settings =============================================
   Author:
   ==================================================================== */
/* ===== mixin =============================================
   ==================================================================== */
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
/* =======================
	Initialize
	======================================================= */
ul {
  margin: 0;
  padding: 0; }

p {
  margin: 0 0 1rem;
  line-height: 1.8; }

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  font-size: 15px;
  font-size: 1.5rem;
  margin: 0; }

a {
  color: #000;
  text-decoration: none;
  transition: 0.2s ease-in-out; }
  a:hover {
    color: #000;
    transition: 0.3s ease-in-out; }

hr {
  border: 0;
  height: 0;
  border-top: 1px solid #00a54f;
  margin: 20px 0; }
  @media only screen and (max-width: 767px) {
    hr {
      margin: 12px 0; } }

html {
  font-size: 62.5%;
  }

body {
  font-family: 'Noto Serif JP', "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ" , Meiryo , "Hiragino Kaku Gothic Pro", sans-serif;
  font-family: 'Noto Sans JP', 'メイリオ','meiryo','ＭＳ Ｐゴシック','MS P Gothic','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ヒラギノ丸ゴシック Pro W3','Hiragino maru Gothic Pro','Helvetica','sans-serif';
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
  font-smoothing: antialiased;
  box-sizing: border-box;
  min-height: 100vh; }
  @media only screen and (max-width: 767px) {
    body {
      font-size: 14px;
      font-size: 1.4rem;
      -webkit-text-size-adjust: 100%;
      word-wrap: break-word; } }

body,
html {
  min-width: 1100px; }
  @media only screen and (max-width: 1100px) {
    body,
    html {
      min-width: 100%; } }

/* =======================
	layout
	======================================================= */
.ly_wrapper, .aboutBox__inner, .breadcrumb__grp {
  width: 1100px;
  box-sizing: border-box;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px; }
  @media only screen and (max-width: 1100px) {
    .ly_wrapper, .aboutBox__inner, .breadcrumb__grp {
      width: 100%;
      word-wrap: break-word;
      padding-right: 20px;
      padding-left: 20px; } }

.ly_header {
  width: 100%;
  height: 75px;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    .ly_header {
      height: 50px;
      overflow: visible;
      z-index: 20001; } }
  .ly_header--home {
    background: transparent;
    position: absolute;
    top: 0;
    right: 0; }

.headermg {
  height: 75px; }
  @media only screen and (max-width: 767px) {
    .headermg {
      height: 50px; } }

.ly_footer {
  padding: 20px 0 0px;
  background: #fff; }

.overlay {
  display: none;
  width: 100%;
  height: 120%;
  position: fixed;
  top: 50px;
  left: 0;
  background: #000000;
  z-index: 10000;
  opacity: 0.7; }

/* =======================
	header
	======================================================= */
.headerInner {
  height: 75px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .headerInner {
      height: 50px; } }
  .ly_header--home .headerInner {
    -ms-flex-pack: end;
        justify-content: flex-end; }

.mobileMenuBtn {
  display: none; }
  @media only screen and (max-width: 767px) {
    .mobileMenuBtn {
      display: inline-block;
      display: block;
      width: 44px;
      height: 44px;
      text-align: center;
      line-height: 1;
      padding: 5px 0 0; }
      .mobileMenuBtn::after {
        content: '';
        background-image: url(../img/icon_spmenu.svg);
        display: block;
        background-size: cover;
        width: 44px;
        height: 44px; }
      .mobileMenuBtn.is-open::after {
        background-image: url(../img/icon_spmenu_close.svg); } }

.headerSearch {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  @media only screen and (max-width: 767px) {
    .headerSearch {
      display: none;
      position: absolute;
      top: 50px;
      background: #fff;
      z-index: 10001;
      width: 100%;
      box-sizing: border-box;
      padding: 0 20px 20px; } }
  .headerSearch__item {
    display: block;
    margin: 0 20px; }
    @media only screen and (max-width: 1200px) {
      .headerSearch__item {
        margin: 0 10px; } }
    @media only screen and (max-width: 1100px) {
      .headerSearch__item {
        margin: 0 5px; } }
    @media only screen and (max-width: 1000px) {
      .headerSearch__item {
        font-size: 14px;
        font-size: 1.4rem; } }
    @media only screen and (max-width: 767px) {
      .headerSearch__item {
        margin: 20px 0; } }
    @media only screen and (max-width: 767px) {
      .headerSearch__item--link {
        margin: 0px 0; } }
  .headerSearch__btn {
    position: relative; }
    .headerSearch__btn::after {
      content: '';
      width: 0%;
      display: block;
      height: 28px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      transition: 0.18s ease-in-out;
      border-bottom: 2px solid #00aeef; }
      @media only screen and (max-width: 767px) {
        .headerSearch__btn::after {
          transition: none;
          display: none; } }
    .headerSearch__btn:hover::after {
      transition: 0.12s ease-in-out;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .headerSearch__btn:hover::after {
          transition: none; } }
    @media only screen and (max-width: 767px) {
      .headerSearch__btn {
        border-top: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        height: 44px;
        -ms-flex-align: center;
            align-items: center;
        box-sizing: border-box;
        padding: 0 10px;
        position: relative; }
        .headerSearch__btn::before {
          content: '';
          display: inline-block;
          width: 6px;
          height: 6px;
          position: absolute;
          top: 50%;
          right: 10px;
          left: auto;
          transform: translateY(-50%) rotate(45deg);
          transition: .2s ease-in-out;
          border-top: 2px solid #ccc;
          border-right: 2px solid #ccc;
          border-bottom: 0; }
        .headerSearch__item:last-of-type .headerSearch__btn {
          border-top: none; } }

@media only screen and (max-width: 767px) {
  .headerNav {
    margin-top: 20px; } }

.headerNav--mobile {
  display: none; }
  @media only screen and (max-width: 767px) {
    .headerNav--mobile {
      display: block;
      margin-top: 0; } }

.headerNav__grp {
  display: -ms-flexbox;
  display: flex;
  margin-right: 10px; }
  @media only screen and (max-width: 767px) {
    .headerNav__grp {
      -ms-flex-pack: center;
          justify-content: center; } }

.headerNav__item {
  display: block;
  margin: 0 10px; }
  @media only screen and (max-width: 1100px) {
    .headerNav__item {
      margin: 0 5px; } }

.headerNav__btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-direction: column;
      flex-direction: column;
  height: 50px;
  border: 1px solid #00aeef;
  padding: 0 22px;
  border-radius: 15px;
  color: #00aeef;
  font-weight: 700;
  position: relative;
  background: #fff; }
  @media only screen and (max-width: 767px) {
    .headerNav__btn {
      height: 34px;
      padding: 0 14px;
      font-size: 13px;
      font-size: 1.3rem; } }
  .headerNav__btn:hover {
    color: #fff;
    background: #00aeef; }
  .headerNav__btn--regist {
    background: #00a54f;
    border-color: #00a54f;
    color: #fff; }
    .headerNav__btn--regist:hover {
      color: #fff;
      background: #047738;
      border-color: #047738; }
  .headerNav__btn--text {
    padding: 0 10px;
    border: none;
    display: inline;
    font-weight: normal;
    color: #090909;
    height: auto;
    position: relative; }
    .headerNav__btn--text::after {
      content: '';
      width: 0%;
      display: block;
      height: 28px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      transition: 0.18s ease-in-out;
      border-bottom: 2px solid #00aeef; }
      @media only screen and (max-width: 767px) {
        .headerNav__btn--text::after {
          transition: none;
          display: none; } }
    .headerNav__btn--text:hover::after {
      transition: 0.12s ease-in-out;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .headerNav__btn--text:hover::after {
          transition: none; } }
    .headerNav__btn--text:hover {
      color: #090909;
      background: transparent; }
    @media only screen and (max-width: 767px) {
      .headerNav__btn--text {
        display: -ms-flexbox;
        display: flex;
        height: 44px; } }
  .headerNav__btnAdd {
    font-size: 14px;
    font-size: 1.4rem;
    display: block;
    margin: 0 0 4px;
    position: relative;
    color: #f4e173; }
    @media only screen and (max-width: 767px) {
      .headerNav__btnAdd {
        font-size: 10px;
        font-size: 1rem; } }
    .headerNav__btnAdd::before {
      content: '';
      width: 1px;
      height: 15px;
      border-left: 2px solid #f4e173;
      transform: rotate(-30deg);
      display: block;
      position: absolute;
      left: -10px;
      top: 0; }
    .headerNav__btnAdd::after {
      content: '';
      width: 1px;
      height: 15px;
      border-left: 2px solid #f4e173;
      transform: rotate(30deg);
      display: block;
      position: absolute;
      right: -10px;
      top: 0; }

.modalSearchUI {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  transition: .3s ease-in-out;
  left: 0;
  z-index: 100; }
  .modalSearchUI.is-show {
    opacity: 1;
    visibility: visible;
    transform: translate(0, 75px);
    background: #fff;
    padding: 30px 0;
    transition: .3s ease-in-out; }

.js-showSearchNav::after {
  content: '';
  position: absolute;
  opacity: 0;
  transition: .3s ease-in-out; }

.js-showSearchNav.is-hide {
  border-color: #fff;
  transition: .3s ease-in-out; }
  .js-showSearchNav.is-hide::after {
    opacity: 1;
    bottom: -2px;
    border-bottom: 2px solid #00aeef;
    display: block;
    width: 8em;
    transition: .3s ease-in-out; }
  .js-showSearchNav.is-hide .iconSearch {
    opacity: 0;
    transition: .3s ease-in-out; }

/* =======================
	footer
	======================================================= */
.footerInner {
  background-image: url(/img/footer_bg.svg);
  padding-top: 30px;
  padding-bottom: 30px;
  background-repeat: no-repeat;
  background-position: 0 bottom;
  background-size: cover; }
  @media only screen and (max-width: 767px) {
    .footerInner {
      padding-top: 10px;
      padding-bottom: 10px; } }

.footerSitelink {
  padding: 20px 0 250px 0; }
  @media only screen and (max-width: 767px) {
    .footerSitelink {
      padding: 15px 0 100px; } }
  .footerSitelink__grp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: start;
        align-items: flex-start; }
    @media only screen and (max-width: 767px) {
      .footerSitelink__grp {
        -ms-flex-pack: center;
            justify-content: center;
        width: 100%; } }
    .footerSitelink__grp--child {
      display: block; }
  .footerSitelink__item {
    display: block;
    margin: 0 40px 0 0;
    padding: 6px 0px 0 0;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .footerSitelink__item {
        padding: 0;
        margin: 0 20px; } }
  .footerSitelink__block {
    margin: 0 0 40px;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .footerSitelink__block {
        margin: 0; } }
  .footerSitelink__link {
    display: inline-block;
    line-height: 1.2;
    color: #000; }
    .footerSitelink__link:hover {
      color: #00aeef; }
    @media only screen and (max-width: 767px) {
      .footerSitelink__link {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center; } }
    .footerSitelink__link--parent {
      font-size: 15px;
      font-size: 1.5rem;
      font-weight: bold;
      margin: 0 0 22px;
      display: block;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .footerSitelink__link--parent {
          font-size: 12px;
          font-size: 1.2rem; } }

.footer__textlink {
  display: inline-block;
  vertical-align: bottom;
  padding: 0 0 3px; }
  @media only screen and (max-width: 767px) {
    .footer__textlink {
      padding: 0 0 12px 0;
      display: block; } }

.footer__textlink__grp {
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 767px) {
    .footer__textlink__grp {
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.footer__textlink__item {
  display: block;
  font-size: 11px;
  font-size: 1.1rem;
  margin: 0 10px 0 0; }
  @media only screen and (max-width: 767px) {
    .footer__textlink__item {
      font-size: 10px;
      font-size: 1rem;
      margin: 0px 2px 4px; } }
  .footer__textlink__item::after {
    content: '|';
    margin: 0 0 0 10px;
    color: #fff; }
    @media only screen and (max-width: 767px) {
      .footer__textlink__item::after {
        margin: 0 0 0 4px; } }
  .footer__textlink__item:last-child::after {
    content: ''; }

.footer__textlink__link {
  color: #fff; }
  .footer__textlink__link:hover {
    color: #fff; }

.footer__textlink__label {
  line-height: 1; }

.footerCopyRight {
  font-size: 12px;
  font-size: 1.2rem;
  background: #fff;
  text-align: center;
  padding: 20px 0; }
  @media only screen and (max-width: 767px) {
    .footerCopyRight {
      font-size: 10px;
      font-size: 1rem; } }

.loading {
  background: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100001; }
  .loading.is-hidden,
  .is-visible .loading,
  .wf-active .loading {
    opacity: 0;
    visibility: hidden;
    transition: .8s ease-in-out; }

.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #fff;
  text-align: center; }

.loading__icon img {
  width: 50px;
  height: auto; }

.cover {
  min-height: calc(100vh - 75px);
  overflow: hidden;
  background-image: url(../img/home_cover_bg.png), linear-gradient(to right, #dff7f6, #dff7f6);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom;
  box-sizing: border-box;
  padding: 80px 0 0; }
  @media only screen and (max-height: 700px) {
    .cover {
      min-height: 700px; } }
  @media only screen and (max-width: 767px) {
    .cover {
      padding: 20px 0px; } }
  .cover__search {
    margin-bottom: 100px; }
  .cover__copy {
    text-align: center; }
  .cover__tagline {
    font-size: 35px;
    font-size: 3.5rem;
    margin: 50px 0 50px; }
    @media only screen and (max-width: 767px) {
      .cover__tagline {
        font-size: 18px;
        font-size: 1.8rem; } }
  .cover__regist {
    text-align: center;
    margin: 50px 0; }
    @media only screen and (max-width: 767px) {
      .cover__regist {
        margin: 20px 0; } }
    .cover__registCopy {
      font-size: 18px;
      font-size: 1.8rem;
      margin: 0 0 30px; }
      @media only screen and (max-width: 767px) {
        .cover__registCopy {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.4;
          margin: 0; } }
  .cover--forGuest {
    min-height: 100vh; }
    @media only screen and (max-height: 700px) {
      .cover--forGuest {
        min-height: 700px; } }
    @media only screen and (max-width: 767px) {
      .cover--forGuest {
        padding: 20px 0px; } }
    @media only screen and (max-width: 767px) {
      .cover--forGuest {
        padding: 80px 0 0;
        min-height: 90vh; } }

.homeAbout__text {
  width: 80%;
  margin-bottom: 40px;
  margin-left: 20%;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .homeAbout__text {
      margin: 0 0 30px;
      width: 100%;
      padding: 0 30px;
      text-align: center; } }
  .homeAbout__text p {
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .homeAbout__text p {
        text-align: left; } }

.homeAbout__img {
  width: 60%;
  margin: 0 auto; }
  @media only screen and (max-width: 767px) {
    .homeAbout__img {
      width: 50%;
      margin-bottom: 30px; } }

.feature {
  max-width: 1100px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px; }
  .feature__grp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    width: calc(100% + 40px);
    margin: 0 -20px 40px; }
    @media only screen and (max-width: 767px) {
      .feature__grp {
        display: block;
        width: 100%;
        margin: 0 0 0px; } }
  .feature__item {
    display: block;
    -ms-flex-preferred-size: calc(33.33% - 40px);
        flex-basis: calc(33.33% - 40px);
    margin: 0 20px; }
    @media only screen and (max-width: 767px) {
      .feature__item {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin: 20px 0; } }
  .feature__title {
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin: 20px 0 40px; }
    @media only screen and (max-width: 767px) {
      .feature__title {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin: 10px 0 10px;
        font-size: 16px;
        font-size: 1.6rem; } }
  .feature__img {
    width: 70%;
    margin: 0 auto; }
    .feature__img img {
      width: 100%;
      height: auto; }
    @media only screen and (max-width: 767px) {
      .feature__img {
        -ms-flex-preferred-size: 100px;
            flex-basis: 100px; } }
  .feature__text {
    margin: 15px 0; }
    @media only screen and (max-width: 767px) {
      .feature__text {
        -ms-flex-preferred-size: calc(100% - 120px);
            flex-basis: calc(100% - 120px); } }

.searchUi {
  margin: 0 auto;
  max-width: 1040px;
  height: 80px;
  background: #fff;
  border-radius: 40px;
  box-sizing: border-box;
  padding: 0 30px;
  box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.6);
  position: relative; }
  .searchUi.is-focus {
    box-shadow: 0px 0px 24px -6px rgba(0, 0, 0, 0.8); }
  @media only screen and (max-width: 1100px) {
    .searchUi {
      width: 100%; } }
  @media only screen and (max-width: 767px) {
    .searchUi {
      height: auto;
      padding: 5px;
      margin: 0 5px;
      width: calc(100% - 10px);
      border-radius: 10px; } }
  .searchUiInner {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    @media only screen and (max-width: 767px) {
      .searchUiInner {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        height: auto; } }
    .searchUiInner fieldset {
      margin: 0;
      padding: 0;
      border: none; }
  .searchUi__item {
    display: block;
    position: relative;
    height: 80px;
    margin: 0;
    padding: 15px 10px;
    box-sizing: border-box;
    transition: background 0.2s ease-in-out;
    border: none; }
    .searchUi__item:hover {
      background: #f7f7f7;
      background: #7adbf9; }
    @media only screen and (max-width: 767px) {
      .searchUi__item {
        height: auto;
        padding: 5px 8px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
        .searchUi__item:last-child {
          border: none; } }
    .searchUi__item::after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%);
      width: 1px;
      height: 30px;
      background: rgba(0, 0, 0, 0.2); }
    .searchUi__item--marketSegment {
      -ms-flex-preferred-size: 15%;
          flex-basis: 15%; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--marketSegment {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
    .searchUi__item--industry {
      -ms-flex-preferred-size: 15%;
          flex-basis: 15%; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--industry {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
    .searchUi__item--marketCap {
      -ms-flex-preferred-size: 20%;
          flex-basis: 20%; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--marketCap {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
    .searchUi__item--sales {
      -ms-flex-preferred-size: 20%;
          flex-basis: 20%; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--sales {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
    .searchUi__item--initiatives {
      -ms-flex-preferred-size: 20%;
          flex-basis: 20%; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--initiatives {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
    .searchUi__item--btn {
      -ms-flex-preferred-size: 10%;
          flex-basis: 10%;
      height: auto; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--btn {
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          text-align: center; } }
      .searchUi__item--btn:hover {
        background: #fff; }
      .searchUi__item--btn::after {
        display: none; }
    .searchUi__itemInner {
      cursor: pointer;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .searchUi__itemInner {
          padding: 0 0 5px; } }
  .searchUi__title {
    font-size: 13px;
    font-size: 1.3rem;
    margin: 0 0 18px;
    padding: 0;
    color: #090909;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .searchUi__title {
        font-size: 10px;
        font-size: 1rem;
        margin: 0 0 8px; } }
  .searchUi__contents {
    margin: 0;
    padding: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap; }
    .searchUi__item--industry .searchUi__contents {
      width: 127px; }
      @media only screen and (max-width: 1100px) {
        .searchUi__item--industry .searchUi__contents {
          width: auto;
          max-width: 120px; } }
    .searchUi__item--marketCap .searchUi__contents {
      width: 176px; }
      @media only screen and (max-width: 1100px) {
        .searchUi__item--marketCap .searchUi__contents {
          width: auto;
          max-width: 120px; } }
    .searchUi__item--sales .searchUi__contents {
      width: 176px; }
      @media only screen and (max-width: 1100px) {
        .searchUi__item--sales .searchUi__contents {
          width: auto;
          max-width: 120px; } }
    .searchUi__item--marketSegment .searchUi__contents {
      width: 127px; }
      @media only screen and (max-width: 1100px) {
        .searchUi__item--marketSegment .searchUi__contents {
          width: auto;
          max-width: 120px; } }
    .searchUi__item--initiatives .searchUi__contents {
      width: 176px; }
      @media only screen and (max-width: 1100px) {
        .searchUi__item--initiatives .searchUi__contents {
          width: auto;
          max-width: 120px; } }
  .searchUi__closeBtn {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 25px; }
    .searchUi__closeBtn img {
      content-fit: contain; }
  .searchUi__opt {
    display: none;
    position: absolute;
    top: calc(100% + 20px);
    left: 0;
    min-width: 540px;
    background: #fff;
    border-radius: 10px;
    padding: 20px 20px 15px;
    box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.6);
    z-index: 1;
    box-sizing: border-box; }
    .searchUi__opt.is-open {
      display: block; }
    @media only screen and (max-width: 767px) {
      .searchUi__opt {
        position: relative;
        min-width: 100%;
        width: calc(100vw - 40px);
        margin-top: 5px;
        padding: 10px; } }
    .searchUi__item--marketCap .searchUi__opt {
      min-width: 400px; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--marketCap .searchUi__opt {
          min-width: 100%;
          width: calc(100vw - 40px); } }
    .searchUi__item--sales .searchUi__opt {
      min-width: 470px; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--sales .searchUi__opt {
          min-width: 100%;
          width: calc(100vw - 40px); } }
    .searchUi__item--marketSegment .searchUi__opt {
      min-width: 470px; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--marketSegment .searchUi__opt {
          min-width: 100%;
          width: calc(100vw - 40px); } }
    .searchUi__item--initiatives .searchUi__opt {
      left: auto;
      right: -100px; }
      @media only screen and (max-width: 767px) {
        .searchUi__item--initiatives .searchUi__opt {
          right: auto;
          left: 0; } }
    .searchUi__optGrp {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      width: calc(100% + 20px);
      margin: 0 -10px;
      box-sizing: border-box;
      -ms-flex-align: center;
          align-items: center; }
    .searchUi__optItem {
      display: block;
      margin: 0 10px 3px;
      box-sizing: border-box; }
      .searchUi__optGrp--industry .searchUi__optItem {
        -ms-flex-preferred-size: calc(33.33% - 20px);
            flex-basis: calc(33.33% - 20px); }
      .searchUi__optGrp--initiatives .searchUi__optItem {
        -ms-flex-preferred-size: calc(50% - 20px);
            flex-basis: calc(50% - 20px); }
      .searchUi__optItem label {
        width: calc(100% - 10px); }
      @media only screen and (max-width: 767px) {
        .searchUi__optItem {
          margin: 8px 10px; } }
    .searchUi__optLabel {
      display: block;
      font-size: 12px;
      font-size: 1.2rem;
      margin: 0 0 8px;
      font-weight: bold;
      color: #090909; }
    .searchUi__optUnit {
      margin-left: 5px; }
  .searchUi__inpText {
    width: 7em;
    text-align: right; }
    .searchUi__inpText--sales {
      width: 10em; }
  .searchUi__connector {
    padding: 0 10px;
    color: #666; }
    @media only screen and (max-width: 767px) {
      .searchUi__connector {
        padding: 0 2px; } }
  .searchUiRegist {
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    width: 1040px;
    height: 80px;
    box-sizing: border-box;
    border-radius: 40px;
    z-index: 100; }
    @media only screen and (max-width: 1100px) {
      .searchUiRegist {
        width: 100%; } }
    @media only screen and (max-width: 767px) {
      .searchUiRegist {
        width: 100%;
        border-radius: 10px;
        height: 214px; } }

.searchResultUi {
  margin: 30px 0 30px; }

.searchResultRegist {
  max-width: 1100px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px;
  margin-bottom: 20px; }
  @media only screen and (max-width: 767px) {
    .searchResultRegist {
      width: 100%;
      padding: 0 10px;
      position: absolute;
      top: 140px;
      left: 0;
      z-index: 1000; } }
  .searchResultRegist__inner {
    background: #fff;
    box-shadow: 0px 0px 12px -4px rgba(0, 0, 0, 0.6);
    padding: 20px 30px;
    border-radius: 20px;
    border: 3px solid #00a54f;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
    @media only screen and (max-width: 767px) {
      .searchResultRegist__inner {
        display: block;
        padding: 12px 20px; } }
  .searchResultRegist__text {
    font-size: 18px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 1000px) {
      .searchResultRegist__text {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media only screen and (max-width: 767px) {
      .searchResultRegist__text {
        margin: 0 0 10px;
        line-height: 1.4; } }

.searchResultMain {
  max-width: 1100px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 20px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 767px) {
    .searchResultMain {
      padding: 10px 10px; } }

.searchResultHead {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
      align-items: baseline;
  -ms-flex-pack: justify;
      justify-content: space-between;
  margin: 0 0 10px; }

.searchResultText {
  font-size: 18px;
  font-size: 1.8rem;
  margin: 0 0 20px; }
  @media only screen and (max-width: 767px) {
    .searchResultText {
      font-size: 14px;
      font-size: 1.4rem;
      margin: 0 0 10px; } }
  .searchResultText__num {
    font-size: 32px;
    font-size: 3.2rem;
    color: #0d95bf;
    margin-right: 5px;
    font-weight: 700; }

.searchResultTable {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  border-spacing: 0;
  border-bottom: 1px solid #ccc; }
  @media only screen and (max-width: 767px) {
    .searchResultTable {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1.2; } }
  .searchResultTable thead {
    border-bottom: 2px solid #0d95bf; }
    .searchResultTable thead tr {
      background: #ddd; }
    .searchResultTable thead th {
      padding: 15px;
      vertical-align: middle;
      position: relative;
      border-right: 1px solid #fff;
      cursor: pointer; }
      .searchResultTable thead th:last-of-type {
        border-right: none; }
  .searchResultTable tbody tr:nth-child(even) {
    background: #f7f7f7; }
  .searchResultTable tbody tr.js-clickable {
    cursor: pointer;
    transition: background .2s ease-in-out; }
    .searchResultTable tbody tr.js-clickable:hover {
      background: rgba(0, 174, 239, 0.3);
      transition: background .2s ease-in-out; }
  .searchResultTable tbody td {
    padding: 15px 15px; }
    @media only screen and (max-width: 767px) {
      .searchResultTable tbody td {
        padding: 8px; } }
    .searchResultTable tbody td:nth-child(3) {
      text-align: right; }
    .searchResultTable tbody td:nth-child(4) {
      text-align: right; }

.sortIcon {
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%); }
  .sortIcon img {
    width: 100%;
    height: auto;
    display: block; }

.resultTable__segment {
  font-size: 14px;
  font-size: 1.4rem;
  margin: 6px 0 0;
  color: #555; }
  @media only screen and (max-width: 767px) {
    .resultTable__segment {
      font-size: 11px;
      font-size: 1.1rem; } }

.ly_company {
  max-width: 1100px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 20px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 1000px) {
    .ly_company {
      width: 100%; } }
  @media only screen and (max-width: 767px) {
    .ly_company {
      padding: 20px 20px; } }

.companyHead {
  margin: 0 0 50px; }
  @media only screen and (max-width: 767px) {
    .companyHead {
      margin: 0 0 10px; } }
  .companyHead__title {
    font-size: 34px;
    font-size: 3.4rem;
    margin: 20px 0; }
    @media only screen and (max-width: 767px) {
      .companyHead__title {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.4; } }
  .companyHead__update {
    text-align: right;
    font-size: 14px;
    font-size: 1.4rem;
    color: #666;
    margin: 0 0 20px; }
    @media only screen and (max-width: 767px) {
      .companyHead__update {
        font-size: 12px;
        font-size: 1.2rem; } }

.ly_companyBody {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .ly_companyBody {
      -ms-flex-direction: column;
          flex-direction: column; } }
  .ly_companyBody__main {
    -ms-flex-preferred-size: calc(100% - 260px);
        flex-basis: calc(100% - 260px); }
    @media only screen and (max-width: 767px) {
      .ly_companyBody__main {
        -ms-flex-order: 2;
            order: 2;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }
  .ly_companyBody__sub {
    -ms-flex-preferred-size: 220px;
        flex-basis: 220px;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .ly_companyBody__sub {
        -ms-flex-order: 1;
            order: 1;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }

.companyInfo {
  margin: 0 0 70px; }
  @media only screen and (max-width: 767px) {
    .companyInfo {
      margin: 0 0 35px; } }

.companyInfoTable {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd; }
  @media only screen and (max-width: 767px) {
    .companyInfoTable {
      font-size: 12px;
      font-size: 1.2rem; } }
  .companyInfoTable tr {
    border-bottom: 1px solid #ddd; }
  .companyInfoTable th {
    background: #f7f7f7;
    border-left: 1px solid #ddd; }
  .companyInfoTable td {
    padding: 15px 15px; }
    .companyInfoTable td:nth-child(6) {
      text-align: right; }
    .companyInfoTable td:nth-child(8) {
      text-align: right; }

.companyNav {
  margin: 0 0 70px; }
  @media only screen and (max-width: 767px) {
    .companyNav {
      margin: 0 0 20px; } }
  .companyNav__grp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    .companyNav--aside .companyNav__grp {
      display: block;
      border-bottom: 1px solid #00aeef; }
      @media only screen and (max-width: 767px) {
        .companyNav--aside .companyNav__grp {
          display: -ms-flexbox;
          display: flex; } }
  .companyNav__item {
    display: block; }
  .companyNav__btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-direction: column;
        flex-direction: column;
    border: 1px solid #00aeef;
    height: 54px;
    border-radius: 22px;
    background: #fff;
    padding: 0 32px;
    font-size: 20px;
    font-size: 2rem; }
    .companyNav--aside .companyNav__btn {
      border-radius: 0;
      font-size: 16px;
      font-size: 1.6rem;
      padding: 0;
      -ms-flex-align: start;
          align-items: flex-start;
      padding-left: 12px;
      border-bottom: 0; }
      @media only screen and (max-width: 767px) {
        .companyNav--aside .companyNav__btn {
          font-size: 12px;
          font-size: 1.2rem;
          -ms-flex-pack: center;
              justify-content: center;
          padding: 0 5px;
          height: 40px;
          text-align: center; } }
      .companyNav--aside .companyNav__btn i {
        display: none; }
    .companyNav__btn:hover {
      background: #00aeef;
      border-color: #00aeef;
      color: #fff; }

.companyCont {
  margin: 0 0 80px; }
  @media only screen and (max-width: 767px) {
    .companyCont {
      margin: 0 0 30px; } }
  .companyCont__title {
    font-size: 28px;
    font-size: 2.8rem;
    margin: 0 0 30px;
    position: relative; }
    .companyCont__title::before {
      content: '';
      background: #0d95bf;
      width: 24px;
      height: 2px;
      position: absolute;
      bottom: -10px;
      left: 0px; }
    @media only screen and (max-width: 767px) {
      .companyCont__title {
        font-size: 18px;
        font-size: 1.8rem;
        margin: 0 0 18px; } }
  .companyCont__subTitle {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 10px;
    font-weight: 700; }
    @media only screen and (max-width: 767px) {
      .companyCont__subTitle {
        font-size: 16px;
        font-size: 1.6rem; } }

.company__unit {
  text-align: right;
  font-size: 14px;
  font-size: 1.4rem;
  color: #666;
  margin: 0 0 20px; }
  @media only screen and (max-width: 767px) {
    .company__unit {
      font-size: 10px;
      font-size: 1rem;
      margin: 0 0 10px; } }

.companyGhg {
  margin: 0 0 30px; }

.companyGhgTable {
  width: 100%;
  margin: 0 0 30px;
  background: #fff;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4; }
  @media only screen and (max-width: 767px) {
    .companyGhgTable {
      font-size: 14px;
      font-size: 1.4rem; } }
  .companyGhgTable thead tr {
    background: #ccc; }
  .companyGhgTable thead th {
    padding: 15px;
    vertical-align: middle;
    position: relative;
    border-right: 1px solid #fff; }
    @media only screen and (max-width: 767px) {
      .companyGhgTable thead th {
        padding: 10px 0; } }
    .companyGhgTable thead th:first-of-type {
      width: 7em; }
    .companyGhgTable thead th:last-of-type {
      border-right: none; }
    .companyGhgTable thead th.tdScope12 {
      background: #f4e173; }
      .companyGhgTable thead th.tdScope12::after {
        content: '';
        width: calc(100% - 2px);
        border-bottom: 3px solid #c1a016;
        display: block;
        position: absolute;
        bottom: 0;
        left: 0; }
        @media only screen and (max-width: 767px) {
          .companyGhgTable thead th.tdScope12::after {
            border-width: 2px; } }
    .companyGhgTable thead th.tdScope3 {
      background: #9add6f; }
      .companyGhgTable thead th.tdScope3::after {
        content: '';
        width: calc(100% - 2px);
        border-bottom: 3px solid #679e43;
        display: block;
        position: absolute;
        bottom: 0;
        left: 0; }
        @media only screen and (max-width: 767px) {
          .companyGhgTable thead th.tdScope3::after {
            border-width: 2px; } }
  .companyGhgTable tbody {
    border-left: 1px solid #eee; }
    .companyGhgTable tbody tr:nth-child(even) {
      background: #f7f7f7; }
    .companyGhgTable tbody td {
      padding: 15px 15px;
      border-right: 1px solid #eee; }
      @media only screen and (max-width: 767px) {
        .companyGhgTable tbody td {
          padding: 10px 5px; } }
      .companyGhgTable tbody td:nth-child(1) {
        text-align: center;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .companyGhgTable tbody td:nth-child(1) {
            font-size: 14px;
            font-size: 1.4rem; } }
      .companyGhgTable tbody td:nth-child(2) {
        text-align: right; }
      .companyGhgTable tbody td:nth-child(3) {
        text-align: right; }
      .companyGhgTable tbody td.textAlignL {
        text-align: left; }
      .companyGhgTable tbody td.tdFontS {
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .companyGhgTable tbody td.tdFontS {
            font-size: 12px;
            font-size: 1.2rem; } }

.companyGhgGraph {
  margin: 30px 0; }

.ghgChart {
  width: 400px;
  height: 400px; }
  @media only screen and (max-width: 767px) {
    .ghgChart {
      width: 100%; } }

.companyTargetTable {
  width: 100%;
  margin: 0 0 30px;
  background: #fff;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4; }
  @media only screen and (max-width: 767px) {
    .companyTargetTable {
      font-size: 14px;
      font-size: 1.4rem; } }
  .companyTargetTable thead tr {
    background: #ccc; }
  .companyTargetTable thead th {
    padding: 15px;
    vertical-align: middle;
    position: relative;
    border-right: 1px solid #fff; }
    @media only screen and (max-width: 767px) {
      .companyTargetTable thead th {
        padding: 10px 5px;
        font-size: 12px;
        font-size: 1.2rem; } }
    .companyTargetTable thead th:first-of-type {
      width: 7em; }
    .companyTargetTable thead th:last-of-type {
      border-right: none; }
  .companyTargetTable tbody {
    border-left: 1px solid #eee; }
    .companyTargetTable tbody tr:nth-child(even) {
      background: #f7f7f7; }
    .companyTargetTable tbody td {
      padding: 15px 15px;
      border-right: 1px solid #eee;
      text-align: right; }
      @media only screen and (max-width: 767px) {
        .companyTargetTable tbody td {
          padding: 10px;
          font-size: 16px;
          font-size: 1.6rem; } }
      .companyTargetTable tbody td:nth-child(1) {
        text-align: center;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .companyTargetTable tbody td:nth-child(1) {
            font-size: 12px;
            font-size: 1.2rem; } }
      .companyTargetTable tbody td.textAlignL {
        text-align: left; }
      .companyTargetTable tbody td.tdFontS {
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .companyTargetTable tbody td.tdFontS {
            font-size: 10px;
            font-size: 1rem; } }

.targetyear {
  font-size: 15px;
  font-size: 1.5rem; }
  @media only screen and (max-width: 767px) {
    .targetyear {
      font-size: 10px;
      font-size: 1rem;
      display: block; } }

.companySource {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: normal;
  color: #666; }
  @media only screen and (max-width: 767px) {
    .companySource {
      font-size: 10px;
      font-size: 1rem; } }
  .companySource__item {
    margin: 5px 0; }
    .companySource__itemDate {
      font-size: 10px;
      font-size: 1rem; }
      @media only screen and (max-width: 767px) {
        .companySource__itemDate {
          font-size: 8px;
          font-size: 0.8rem; } }
  .companySource a {
    color: #666;
    text-decoration: underline; }

.companyDisc {
  margin: 30px 0; }
  @media only screen and (max-width: 767px) {
    .companyDisc {
      margin: 0 0; } }

.companyDiscTable {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  line-height: 1.6; }
  .companyDiscTable tr {
    border-bottom: 1px solid #ddd; }
  .companyDiscTable th {
    background: #f7f7f7;
    border-left: 1px solid #ddd;
    width: 12em; }
    @media only screen and (max-width: 767px) {
      .companyDiscTable th {
        font-size: 11px;
        font-size: 1.1rem;
        width: 8em; } }
  .companyDiscTable td {
    padding: 15px 0px;
    text-align: center;
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .companyDiscTable td {
        font-size: 15px;
        font-size: 1.5rem;
        padding: 8px 5px; }
        .companyDiscTable td .companySource__itemDate {
          display: block; } }

.tcfdDiscUrl {
  font-weight: normal;
  font-size: 14px;
  font-size: 1.4rem;
  margin: 10px 0 0;
  width: 100%;
  border-top: 1px solid #ddd;
  padding: 15px 15px 0;
  box-sizing: border-box; }
  @media only screen and (max-width: 767px) {
    .tcfdDiscUrl {
      font-size: 10px;
      font-size: 1rem; } }
  .tcfdDiscUrl__title {
    font-size: 20px;
    font-size: 2rem;
    font-weight: bold; }
    @media only screen and (max-width: 767px) {
      .tcfdDiscUrl__title {
        font-size: 15px;
        font-size: 1.5rem; } }
  .tcfdDiscUrl a {
    text-decoration: underline;
    word-break: break-all; }

.companyInitTable {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  line-height: 1.4;
  margin: 0 0 20px; }
  @media only screen and (max-width: 767px) {
    .companyInitTable {
      margin: 0 0 10px;
      font-size: 12px;
      font-size: 1.2rem; } }
  .companyInitTable thead tr {
    background: #eee; }
  .companyInitTable thead th {
    padding: 15px;
    vertical-align: middle;
    position: relative;
    border-right: 1px solid #fff;
    cursor: pointer; }
    .companyInitTable thead th:last-of-type {
      border-right: none; }
    @media only screen and (max-width: 767px) {
      .companyInitTable thead th {
        padding: 10px 5px;
        display: none; } }
  .companyInitTable tbody {
    border-left: 1px solid #eee; }
    @media only screen and (max-width: 767px) {
      .companyInitTable tbody {
        border-right: 1px solid #eee; } }
    .companyInitTable tbody tr:nth-child(even) {
      background: #f7f7f7; }
    .companyInitTable tbody td {
      padding: 15px 15px;
      border-right: 1px solid #eee; }
      @media only screen and (max-width: 767px) {
        .companyInitTable tbody td {
          padding: 10px 5px 0;
          display: block;
          border-right: none; } }
      .companyInitTable tbody td:nth-child(1) {
        text-align: center;
        width: 8em;
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: bold;
        color: #090909; }
        @media only screen and (max-width: 767px) {
          .companyInitTable tbody td:nth-child(1) {
            padding-left: 18px;
            width: 100%;
            box-sizing: border-box;
            text-align: left;
            font-size: 12px;
            font-size: 1.2rem; }
            .companyInitTable tbody td:nth-child(1) br {
              display: none; } }
      @media only screen and (max-width: 767px) {
        .companyInitTable tbody td:nth-child(2) {
          padding-top: 0; } }

.initiatives__item {
  display: block;
  line-height: 1.4;
  margin: 10px 0; }
  .initiatives__itemMain {
    padding: 0 1em;
    display: block;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.5;
    position: relative; }
    .initiatives__itemMain::before {
      content: '';
      width: 4px;
      height: 4px;
      transform: rotate(45deg);
      background: #00aeef;
      opacity: 0.7;
      display: -ms-inline-flexbox;
      display: inline-flex;
      position: absolute;
      top: 9px;
      left: 2px; }
      @media only screen and (max-width: 767px) {
        .initiatives__itemMain::before {
          width: 4px;
          height: 4px; } }
  .initiatives__itemSource {
    font-size: 11px;
    font-size: 1.1rem;
    color: #666;
    display: inline-block; }
    .initiatives__itemSource a {
      color: #666; }

.ly_indus {
  max-width: 1100px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: 20px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 1000px) {
    .ly_indus {
      width: 100%; } }
  @media only screen and (max-width: 767px) {
    .ly_indus {
      padding: 0 20px 20px; } }

.ly_indusDetail {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  @media only screen and (max-width: 767px) {
    .ly_indusDetail {
      -ms-flex-direction: column;
          flex-direction: column; } }

.ly_indusDetailMain {
  -ms-flex-preferred-size: calc(100% - 260px);
      flex-basis: calc(100% - 260px);
  -ms-flex-order: 2;
      order: 2; }
  @media only screen and (max-width: 767px) {
    .ly_indusDetailMain {
      -ms-flex-order: 1;
          order: 1;
      margin-bottom: 40px;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; } }

.ly_indusDetailSub {
  -ms-flex-preferred-size: 220px;
      flex-basis: 220px;
  -ms-flex-order: 1;
      order: 1; }
  @media only screen and (max-width: 767px) {
    .ly_indusDetailSub {
      -ms-flex-order: 2;
          order: 2;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; } }

.indusNav__grp {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media only screen and (max-width: 767px) {
    .indusNav__grp {
      width: calc(100% + 10px);
      margin: 0 -5px; } }
  .ly_indusDetailSub .indusNav__grp {
    display: block; }
    @media only screen and (max-width: 767px) {
      .ly_indusDetailSub .indusNav__grp {
        display: -ms-flexbox;
        display: flex; } }

.indusNav__item {
  display: block;
  -ms-flex-preferred-size: calc(16.66% - 20px);
      flex-basis: calc(16.66% - 20px);
  margin: 0 10px 20px; }
  @media only screen and (max-width: 767px) {
    .indusNav__item {
      -ms-flex-preferred-size: calc(25% - 10px);
          flex-basis: calc(25% - 10px);
      margin: 0 5px 10px; } }
  .ly_indusDetailSub .indusNav__item {
    margin: 0; }
    @media only screen and (max-width: 767px) {
      .ly_indusDetailSub .indusNav__item {
        margin: 0 5px 10px; } }
    .ly_indusDetailSub .indusNav__item:last-child .indusNav__btn {
      border-bottom: 1px solid #00aeef; }

.indusNav__btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 44px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #00aeef;
  color: #0d95bf;
  text-align: center; }
  .indusNav__btn:hover {
    background: #00aeef;
    color: #fff; }
  @media only screen and (max-width: 767px) {
    .indusNav__btn {
      font-size: 12px;
      font-size: 1.2rem;
      padding: 0 10px;
      line-height: 1.2;
      border-radius: 8px; } }
  .ly_indusDetailSub .indusNav__btn {
    border-radius: 0;
    border-bottom: 0;
    height: 36px;
    position: relative; }
    .ly_indusDetailSub .indusNav__btn::after {
      content: '';
      display: inline-block;
      width: 6px;
      height: 6px;
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translateY(-50%) rotate(45deg);
      transition: .2s ease-in-out;
      border-top: 2px solid #00aeef;
      border-right: 2px solid #00aeef; }
    .ly_indusDetailSub .indusNav__btn:hover::after {
      right: 7px;
      transition: .2s ease-in-out;
      border-color: #fff; }
    @media only screen and (max-width: 767px) {
      .ly_indusDetailSub .indusNav__btn {
        border-radius: 8px;
        border: 1px solid #00aeef; }
        .ly_indusDetailSub .indusNav__btn::after {
          display: none; } }

.indusDetailHead {
  margin: 0 0 40px; }
  @media only screen and (max-width: 767px) {
    .indusDetailHead {
      margin: 0 0 20px; } }
  .indusDetailHead__label {
    font-size: 18px;
    font-size: 1.8rem;
    margin: 0 0 10px;
    color: #090909; }
    @media only screen and (max-width: 767px) {
      .indusDetailHead__label {
        font-size: 15px;
        font-size: 1.5rem; } }
  .indusDetailHead__title {
    font-size: 40px;
    font-size: 4rem; }
    @media only screen and (max-width: 767px) {
      .indusDetailHead__title {
        font-size: 28px;
        font-size: 2.8rem; } }

.indusBox {
  margin: 0 0 80px;
  box-shadow: 0px 0px 12px -4px rgba(0, 0, 0, 0.6);
  background: #fff;
  padding: 40px 20px 20px; }
  .indusBox:last-of-type {
    margin-bottom: 30px; }
    @media only screen and (max-width: 767px) {
      .indusBox:last-of-type {
        margin-bottom: 10px; } }
  @media only screen and (max-width: 767px) {
    .indusBox {
      margin: 0 0 20px; } }
  @media only screen and (max-width: 767px) {
    .indusBox {
      padding: 20px 10px 10px; } }
  .indusBox__title {
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;
    margin: 0 0 30px;
    text-align: center;
    position: relative; }
    @media only screen and (max-width: 767px) {
      .indusBox__title {
        font-size: 16px;
        font-size: 1.6rem; } }
    .indusBox__title::before {
      content: '';
      background: #0d95bf;
      width: 24px;
      height: 2px;
      position: absolute;
      bottom: -10px;
      left: 50%;
      transform: translateX(-50%); }

.indusGraph {
  margin: 30px 0;
  box-sizing: border-box;
  min-height: 200px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  color: #090909; }
  @media only screen and (max-width: 767px) {
    .indusGraph {
      min-height: 100px; } }

/* =======================
	news
	======================================================= */
.news {
  max-width: 800px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: 50px; }
  @media only screen and (max-width: 1000px) {
    .news {
      width: 100%; } }
  @media only screen and (max-width: 767px) {
    .news {
      padding-bottom: 0; } }
  .news__grp {
    border-top: 1px solid #7adbf9; }
    @media only screen and (max-width: 767px) {
      .news__grp {
        margin-bottom: 20px; } }
  .news__item {
    display: block;
    list-style: none; }
  .news__link {
    color: #090909;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    line-height: 1.5;
    padding: 15px 15px;
    border-bottom: 1px solid #7adbf9;
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      .news__link {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding: 8px 0; } }
    .news__link:hover {
      background: #efefef; }
  .news__category {
    -ms-flex-preferred-size: 85px;
        flex-basis: 85px;
    margin: 0 10px 0 0; }
    @media only screen and (max-width: 767px) {
      .news__category {
        margin: 0 5px 5px 0; } }
  .news__date {
    color: #090909;
    font-weight: bold;
    -ms-flex-preferred-size: 100px;
        flex-basis: 100px; }
    @media only screen and (max-width: 767px) {
      .news__date {
        -ms-flex-preferred-size: 7.5em;
            flex-basis: 7.5em;
        font-size: 12px;
        font-size: 1.2rem; } }
    .news__item a:hover .news__date {
      transition: 0.3s ease-in-out; }
  .news__text {
    -ms-flex-preferred-size: calc(100% - 185px);
        flex-basis: calc(100% - 185px);
    text-align: left; }
    @media only screen and (max-width: 767px) {
      .news__text {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        font-size: 13px;
        font-size: 1.3rem; } }

.newsIcon {
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #00aeef;
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  padding: 0 10px; }

.newsNav__item {
  display: block;
  border-top: 1px solid #7adbf9; }
  .newsNav__item:last-child {
    border-bottom: 1px solid #7adbf9; }

.newsNav__link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  height: 44px;
  box-sizing: border-box;
  padding: 0 20px; }

.entryList {
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px; }
  @media only screen and (max-width: 1000px) {
    .entryList {
      width: 100%; } }
  .entryList__grp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: calc(100% + 40px);
    margin: 0 -20px 40px; }
    @media only screen and (max-width: 1100px) {
      .entryList__grp {
        width: calc(100% + 20px);
        margin: 0 -10px 40px; } }
    @media only screen and (max-width: 767px) {
      .entryList__grp {
        display: block;
        width: 100%;
        padding: 0 10px; } }
  .entryList__item {
    -ms-flex-preferred-size: calc(25% - 40px);
        flex-basis: calc(25% - 40px);
    margin: 0 20px 40px;
    display: block;
    text-align: left; }
    @media only screen and (max-width: 1100px) {
      .entryList__item {
        -ms-flex-preferred-size: calc(25% - 20px);
            flex-basis: calc(25% - 20px);
        margin: 0 10px 20px; } }
    @media only screen and (max-width: 767px) {
      .entryList__item {
        margin: 0 0 10px; } }
  .entryList__link {
    color: #000;
    display: block;
    width: 100%;
    height: 100%;
    background: #fff;
    padding: 15px;
    border-radius: 2px;
    box-shadow: 0 0 5px #fff, 0 0 5px rgba(0, 0, 0, 0.3), 0 0 1px rgba(0, 0, 0, 0.4);
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
    border: 3px solid #fff;
    position: relative;
    overflow: hidden;
    border: 2px solid #fff; }
    @media only screen and (max-width: 767px) {
      .entryList__link {
        display: -ms-flexbox;
        display: flex;
        padding: 10px; } }
    .entryList__link:hover {
      border: 2px solid #00aeef; }
  .entryList__img {
    width: 100%;
    overflow: hidden;
    position: relative;
    overflow: hidden; }
    .entryList__img::after {
      content: '';
      display: block;
      padding-top: 56%;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .entryList__img::after {
          display: none; } }
    .entryList__img img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: auto; }
      @media only screen and (max-width: 767px) {
        .entryList__img img {
          position: relative;
          top: auto;
          left: auto;
          height: 100%;
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: center;
             object-position: center; } }
    @media only screen and (max-width: 767px) {
      .entryList__img {
        -ms-flex-preferred-size: 80px;
            flex-basis: 80px;
        margin-right: 10px; } }
  @media only screen and (max-width: 767px) {
    .entryList__cont {
      -ms-flex-preferred-size: calc(100% - 90px);
          flex-basis: calc(100% - 90px); } }
  .entryList__title {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 10px 0;
    line-height: 1.4; }
    @media only screen and (max-width: 1200px) {
      .entryList__title {
        font-size: 16px;
        font-size: 1.6rem; } }
    @media only screen and (max-width: 767px) {
      .entryList__title {
        font-size: 14px;
        font-size: 1.4rem;
        margin: 0 0 8px; } }
  .entryList__date {
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 0 10px;
    display: block;
    color: #666;
    font-family: 'Abel', sans-serif; }
    @media only screen and (max-width: 767px) {
      .entryList__date {
        margin-bottom: 0; } }
  .entryList__desc {
    line-height: 1.4;
    font-size: 14px;
    font-size: 1.4rem; }
    @media only screen and (max-width: 767px) {
      .entryList__desc {
        display: none; } }

.entry {
  max-width: 1140px;
  margin: 0 auto;
  box-sizing: border-box;
  padding-right: 30px;
  padding-left: 30px;
  background: #fff;
  padding-right: 130px;
  padding-left: 130px;
  padding-bottom: 60px;
  margin-bottom: 0px;
  border-top: 2px solid #00aeef; }
  @media only screen and (max-width: 1000px) {
    .entry {
      padding-right: 60px;
      padding-left: 60px; } }
  @media only screen and (max-width: 767px) {
    .entry {
      padding-right: 20px;
      padding-left: 20px;
      padding-bottom: 30px; } }
  .entryCover__img {
    position: relative;
    overflow: hidden; }
    .entryCover__img::after {
      content: '';
      padding-top: 50%;
      display: block; }
    .entryCover__img img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 100%;
      height: auto;
      display: block; }
  .entryLead {
    padding: 0px 0 0px;
    margin: 0 0 50px;
    line-height: 1.8;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 600; }
    @media only screen and (max-width: 767px) {
      .entryLead {
        margin: 0 0 20px;
        font-size: 15px;
        font-size: 1.5rem; } }
  .entryHead {
    padding: 70px 0 0px;
    margin: 0 0 50px; }
    @media only screen and (max-width: 767px) {
      .entryHead {
        margin: 0 0 25px;
        padding-top: 20px; } }
    .entryHead__title {
      font-size: 28px;
      font-size: 2.8rem;
      margin: 0 0 20px 0; }
      @media only screen and (max-width: 767px) {
        .entryHead__title {
          font-size: 20px;
          font-size: 2rem;
          line-height: 1.4; } }
    .entryHead__statusBlock {
      display: -ms-flexbox;
      display: flex;
      margin: 0 0 30px; }
      @media only screen and (max-width: 767px) {
        .entryHead__statusBlock {
          margin-bottom: 10px; } }
    .entryHead__status {
      display: -ms-flexbox;
      display: flex;
      color: #666;
      margin: 0 30px 0 0; }
    .entryHead__label {
      margin: 0 10px 0 0;
      font-size: 14px;
      font-size: 1.4rem; }
      @media only screen and (max-width: 767px) {
        .entryHead__label {
          font-size: 12px;
          font-size: 1.2rem;
          margin: 0 5px 0 0; } }
    .entryHead__date {
      font-family: 'Abel', sans-serif; }
    .entryHead__category {
      margin: 0 0 30px; }
      @media only screen and (max-width: 767px) {
        .entryHead__category {
          margin-bottom: 15px; } }
  .entryBody {
    padding: 0 0 10px; }
    @media only screen and (max-width: 767px) {
      .entryBody {
        padding: 0 0px 10px; } }
    .entryBody h1 {
      font-size: 25px;
      font-size: 2.5rem;
      margin: 50px 0 20px;
      position: relative;
      background: #0d95bf;
      color: #fff;
      padding: 8px 10px;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        .entryBody h1 {
          margin: 40px 0 20px;
          line-height: 1.4;
          font-size: 22px;
          font-size: 2.2rem; } }
    .entryBody h2 {
      font-size: 22px;
      font-size: 2.2rem;
      margin: 50px 0 20px;
      position: relative;
      line-height: 1.2; }
      .entryBody h2::before {
        content: '';
        width: 3px;
        height: calc(100% + 12px);
        background: #0d95bf;
        display: block;
        position: absolute;
        top: -6px;
        left: -10px; }
      @media only screen and (max-width: 767px) {
        .entryBody h2 {
          margin: 40px 0 20px;
          line-height: 1.4;
          font-size: 20px;
          font-size: 2rem; } }
    .entryBody h3 {
      font-size: 20px;
      font-size: 2rem;
      margin: 50px 0 30px;
      display: inline-block;
      position: relative;
      line-height: 1.2; }
      .entryBody h3::before {
        content: '';
        width: calc(100% + 50px);
        height: 3px;
        background: #0d95bf;
        display: inline-block;
        position: absolute;
        bottom: -10px;
        left: 0px; }
      @media only screen and (max-width: 767px) {
        .entryBody h3 {
          margin: 40px 0 20px;
          line-height: 1.4;
          font-size: 18px;
          font-size: 1.8rem; } }
    .entryBody h4 {
      font-size: 18px;
      font-size: 1.8rem;
      margin: 50px 0 20px;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        .entryBody h4 {
          margin: 40px 0 20px;
          line-height: 1.4;
          font-size: 16px;
          font-size: 1.6rem; } }
    .entryBody h5 {
      font-size: 16px;
      font-size: 1.6rem;
      margin: 50px 0 20px;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        .entryBody h5 {
          margin: 40px 0 20px;
          line-height: 1.4;
          font-size: 15px;
          font-size: 1.5rem; } }
    .entryBody h6 {
      font-size: 15px;
      font-size: 1.5rem;
      margin: 50px 0 20px;
      line-height: 1.2; }
      @media only screen and (max-width: 767px) {
        .entryBody h6 {
          margin: 40px 0 20px;
          line-height: 1.4;
          font-size: 14px;
          font-size: 1.4rem; } }
    .entryBody p {
      margin-bottom: 2em; }
    .entryBody img {
      max-width: 100%;
      height: auto; }
    .entryBody ul {
      margin-bottom: 2em; }
      .entryBody ul li {
        position: relative;
        padding-left: 1em;
        margin-bottom: 1em;
        text-indent: -0.1em;
        list-style: none;
        line-height: 1.4; }
        .entryBody ul li::after {
          content: '・';
          position: absolute;
          top: 0;
          left: 0; }
    .entryBody blockquote {
      margin: 0 0 40px;
      padding: 30px 40px;
      box-sizing: border-box;
      background: #f7f7f7;
      line-height: 1.4; }
    .entryBody a {
      color: #00aeef; }

.caption {
  font-size: 12px;
  font-size: 1.2rem;
  margin: 10px 0;
  color: #848484; }
  @media only screen and (max-width: 767px) {
    .caption {
      font-size: 10px;
      font-size: 1rem; } }
  .caption a {
    color: #848484; }

.authorBox {
  display: -ms-flexbox;
  display: flex;
  background: #f7f7f7;
  box-sizing: border-box;
  padding: 30px 40px; }
  @media only screen and (max-width: 767px) {
    .authorBox {
      padding: 15px 20px; } }
  .authorBox__photo {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    overflow: hidden; }
    .authorBox__photo img {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
      -o-object-position: center;
         object-position: center; }
    @media only screen and (max-width: 767px) {
      .authorBox__photo {
        width: 40px;
        height: 40px; } }
  .authorBox__prof {
    -ms-flex-preferred-size: calc(100% - 80px);
        flex-basis: calc(100% - 80px);
    box-sizing: border-box;
    padding: 0 0 0 20px; }
    @media only screen and (max-width: 767px) {
      .authorBox__prof {
        -ms-flex-preferred-size: calc(100% - 40px);
            flex-basis: calc(100% - 40px); } }
  .authorBox__name {
    font-weight: bold;
    font-size: 16px;
    font-size: 1.6rem;
    margin: 0 0 10px; }
  .authorBox__text {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.4;
    color: #090909; }

.entryIndex {
  background: #f7f7f7;
  border: 3px solid #dddddd;
  margin: 0 0 40px; }
  .entryIndex__label {
    background: #dddddd;
    padding: 10px 20px;
    font-size: 16px;
    font-size: 1.6rem; }
    @media only screen and (max-width: 767px) {
      .entryIndex__label {
        font-size: 14px;
        font-size: 1.4rem; } }
  .entryIndex__body {
    padding: 20px 30px; }
    @media only screen and (max-width: 767px) {
      .entryIndex__body {
        padding: 15px 20px; } }
  .entryIndex__grp {
    counter-reset: index; }
  .entryIndex__item {
    list-style: none;
    line-height: 1.2;
    margin: 8px 0;
    position: relative; }
    .entryIndex__item::before {
      content: '';
      position: absolute;
      display: block; }
    .entryIndex__item--h1 {
      font-size: 24px;
      font-size: 2.4rem;
      margin-left: -5px; }
      @media only screen and (max-width: 767px) {
        .entryIndex__item--h1 {
          font-size: 17px;
          font-size: 1.7rem; } }
    .entryIndex__item--h2 {
      font-size: 20px;
      font-size: 2rem;
      padding-left: 1.3em; }
      @media only screen and (max-width: 767px) {
        .entryIndex__item--h2 {
          font-size: 17px;
          font-size: 1.7rem; } }
      .entryIndex__item--h2::before {
        content: counter(index);
        counter-increment: index;
        background: #0d95bf;
        border-radius: 50%;
        color: #fff;
        width: 26px;
        height: 26px;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
        top: 0px;
        left: -10px;
        font-size: 15px;
        font-size: 1.5rem; }
        @media only screen and (max-width: 767px) {
          .entryIndex__item--h2::before {
            width: 20px;
            height: 20px; } }
    .entryIndex__item--h3 {
      font-size: 18px;
      font-size: 1.8rem;
      padding-left: 2.5em; }
      @media only screen and (max-width: 767px) {
        .entryIndex__item--h3 {
          font-size: 16px;
          font-size: 1.6rem; } }
      .entryIndex__item--h3::before {
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 5px 0 5px 7px;
        border-color: transparent transparent transparent #0d95bf;
        top: 6px;
        left: 28px; }
    .entryIndex__item--h4 {
      font-size: 16px;
      font-size: 1.6rem;
      padding-left: 3.5em; }
      @media only screen and (max-width: 767px) {
        .entryIndex__item--h4 {
          font-size: 15px;
          font-size: 1.5rem; } }
      .entryIndex__item--h4::before {
        border-top: 2px solid #0d95bf;
        border-right: 2px solid #0d95bf;
        width: 5px;
        height: 5px;
        top: 7px;
        left: 38px;
        transform: rotate(45deg); }
    .entryIndex__item--h5 {
      font-size: 14px;
      font-size: 1.4rem;
      padding-left: 5em; }
      @media only screen and (max-width: 767px) {
        .entryIndex__item--h5 {
          font-size: 13px;
          font-size: 1.3rem; } }
      .entryIndex__item--h5::before {
        border-top: 1px solid #0d95bf;
        border-right: 1px solid #0d95bf;
        width: 5px;
        height: 5px;
        top: 5px;
        left: 52px;
        transform: rotate(45deg); }
    .entryIndex__item a {
      cursor: pointer; }
      .entryIndex__item a:hover {
        color: #00aeef; }

.categoryList {
  display: -ms-flexbox;
  display: flex;
  width: calc(100% + 12px);
  margin: 0 -6px; }
  .categoryList__item {
    display: block;
    margin: 0 6px; }
  .categoryList__link {
    padding: 0 12px;
    height: 24px;
    border-radius: 12px;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    background: #0d95bf; }
    .categoryList__link:hover {
      background: #0d95bf;
      color: #fff; }
    @media only screen and (max-width: 767px) {
      .categoryList__link {
        font-size: 9px;
        font-size: 0.9rem;
        height: 16px; } }

/* =======================
	about
	======================================================= */
.aboutBox {
  height: 400px;
  overflow: hidden; }
  .aboutBox--grad {
    background: linear-gradient(90deg, #0379e5, #17c817); }
  @media only screen and (max-width: 767px) {
    .aboutBox {
      height: auto;
      padding: 0 0 30px; } }
  @media only screen and (max-width: 767px) {
    .aboutBox:nth-child(2) .aboutBox__child {
      -ms-flex-order: 1;
          order: 1; }
    .aboutBox:nth-child(2) .aboutBox__child--img {
      -ms-flex-order: 2;
          order: 2; } }
  .aboutBox__inner {
    display: -ms-flexbox;
    display: flex; }
    @media only screen and (max-width: 767px) {
      .aboutBox__inner {
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-direction: column;
            flex-direction: column; } }
  .aboutBox__child {
    -ms-flex-preferred-size: 58.2%;
        flex-basis: 58.2%;
    padding: 80px 0 80px; }
    @media only screen and (max-width: 767px) {
      .aboutBox__child {
        padding: 30px 0 10px;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
        .aboutBox__child br {
          display: none; } }
    .aboutBox__child--img {
      -ms-flex-preferred-size: 41.8%;
          flex-basis: 41.8%;
      background: #fff;
      text-align: center;
      transform: rotate(20deg);
      height: 520px;
      margin-top: -120px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      padding-left: 0;
      overflow: hidden; }
      @media only screen and (max-width: 767px) {
        .aboutBox__child--img {
          transform: rotate(0);
          height: auto;
          margin: 0 auto;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
          width: 180px;
          padding: 20px 15px;
          border-radius: 50%; } }
      .aboutBox__child--img img {
        width: 95%;
        height: auto;
        transform: rotate(-20deg); }
        @media only screen and (max-width: 767px) {
          .aboutBox__child--img img {
            transform: rotate(0); } }
  .aboutBox__textBox {
    padding-left: 100px;
    color: #fff; }
    @media only screen and (max-width: 767px) {
      .aboutBox__textBox {
        padding-left: 10px; } }
  .aboutBox__title {
    font-size: 22px;
    font-size: 2.2rem;
    margin: 0 0 18px; }
    @media only screen and (max-width: 767px) {
      .aboutBox__title {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.4; } }
  .aboutBox__logo {
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .aboutBox__logo img {
        width: 150px;
        height: auto; } }
  .aboutBox__logoText {
    font-size: 18px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 767px) {
      .aboutBox__logoText {
        font-size: 15px;
        font-size: 1.5rem; }
        .aboutBox__logoText br {
          display: none; } }
  .aboutBox__data {
    margin: 0;
    padding: 0 0 0 1em; }
    .aboutBox__dataItem {
      line-height: 1.4;
      margin-bottom: 10px;
      font-size: 14px;
      font-size: 1.4rem; }

.termsBody {
  max-width: 800px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.5;
  font-size: 14px;
  font-size: 1.4rem;
  padding-bottom: 40px; }
  @media only screen and (max-width: 1000px) {
    .termsBody {
      width: 100%; } }
  @media only screen and (max-width: 767px) {
    .termsBody {
      width: 100%;
      padding: 20px 0 0; } }

.terms__box {
  margin: 0 0 40px;
  line-height: 1.6; }
  .terms__box:last-child {
    border-bottom: none; }
  @media only screen and (max-width: 767px) {
    .terms__box {
      margin: 0 0 20px; } }

.terms__title {
  font-size: 18px;
  font-size: 1.8rem;
  padding: 0 0 15px;
  font-weight: bold;
  margin: 0; }
  @media only screen and (max-width: 767px) {
    .terms__title {
      font-size: 16px;
      font-size: 1.6rem; } }

.terms__item {
  margin: 0 0 30px; }
  @media only screen and (max-width: 767px) {
    .terms__item {
      margin: 0 0 10px; } }
  .terms__item dl {
    margin: 0;
    padding: 0; }

.terms__label {
  margin: 0;
  padding: 0 0 10px;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem; }
  @media only screen and (max-width: 767px) {
    .terms__label {
      font-size: 16px;
      font-size: 1.6rem; } }

.terms__text {
  margin: 0; }

.terms__ol {
  margin: 0 0 1em;
  padding: 0;
  list-style-type: none;
  counter-reset: item; }
  .terms__ol--l1 > li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 0.5em; }
    .terms__ol--l1 > li::before {
      counter-increment: item;
      content: counter(item) ".";
      width: 1em;
      margin-right: 5px; }
  .terms__ol--l2 {
    padding: 0 0 0 1em; }
    .terms__ol--l2 > li {
      padding-left: 2em;
      text-indent: -3em; }
      .terms__ol--l2 > li::before {
        counter-increment: item;
        content: "（" counter(item) "）";
        width: 1em;
        margin-right: 5px; }

.termsContact {
  margin-bottom: 40px; }

.termsSign {
  text-align: right;
  padding-bottom: 40px; }
  @media only screen and (max-width: 767px) {
    .termsSign {
      padding-bottom: 20px; } }

.overview {
  max-width: 800px;
  margin: 0 auto 90px;
  padding: 0 50px; }
  @media only screen and (max-width: 1000px) {
    .overview {
      width: 100%;
      box-sizing: border-box; } }
  @media only screen and (max-width: 767px) {
    .overview {
      padding: 0 20px; } }

.overviewTable {
  line-height: 1.6;
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  border-spacing: 0; }
  .overviewTable tr:last-child th {
    border-bottom: 1px solid #00aeef; }
  .overviewTable tr:last-child td {
    border-bottom: 1px solid #aaa; }
  .overviewTable th {
    padding: 15px;
    width: 5em;
    border-top: 1px solid #00aeef;
    font-weight: normal; }
    @media only screen and (max-width: 767px) {
      .overviewTable th {
        padding: 8px; } }
  .overviewTable td {
    padding: 15px;
    border-top: 1px solid #aaa; }
    @media only screen and (max-width: 767px) {
      .overviewTable td {
        padding: 8px; } }

/* =======================
	components
	======================================================= */
.logoBox {
  display: inline-block;
  vertical-align: top;
  width: 170px;
  box-sizing: border-box;
  font-size: 15px;
  font-size: 1.5rem; }
  .logoBox--header {
    margin-left: 10px; }
    @media only screen and (max-width: 767px) {
      .logoBox--header {
        width: 110px;
        top: 15px;
        left: 10px; } }
  .logoBox--cover {
    width: 280px;
    margin: 0 auto 30px;
    display: block; }
    @media only screen and (max-width: 767px) {
      .logoBox--cover {
        width: 160px; } }
  .logoBox--login {
    width: 140px;
    padding: 0 0; }
    @media only screen and (max-width: 767px) {
      .logoBox--login {
        width: 80px; } }
  .logoBox--footer {
    width: 100px;
    padding: 0 0; }
    @media only screen and (max-width: 767px) {
      .logoBox--footer {
        width: 80px;
        margin: 0 auto 20px;
        display: block; } }
  .logoBox a {
    display: block; }
  .logoBox img {
    display: block;
    width: 100%;
    height: auto; }

.contBlock {
  padding: 50px 0 70px; }
  @media only screen and (max-width: 767px) {
    .contBlock {
      padding: 20px 0 30px; } }
  .contBlock--bgwhite {
    background: #fff; }
  .contBlock--about {
    padding-top: 1px; }
  .contBlock--blogEntry {
    padding-bottom: 0; }
    @media only screen and (max-width: 767px) {
      .contBlock--blogEntry {
        padding: 0px 0 0; } }
  .contBlockHead {
    text-align: center;
    margin: 40px 0; }
    .contBlockHead--s {
      margin: 20px 0 30px;
      text-align: left; }
    @media only screen and (max-width: 767px) {
      .contBlockHead {
        margin: 20px 0; } }
    .contBlockHead__title {
      font-size: 24px;
      font-size: 2.4rem; }
      @media only screen and (max-width: 767px) {
        .contBlockHead__title {
          font-size: 20px;
          font-size: 2rem; } }
      .contBlockHead__title--s {
        font-size: 16px;
        font-size: 1.6rem; }
        @media only screen and (max-width: 767px) {
          .contBlockHead__title--s {
            font-size: 14px;
            font-size: 1.4rem; } }
      .contBlockHead__titleEn {
        font-size: 16px;
        font-size: 1.6rem;
        margin-top: 10px;
        color: #0d95bf;
        font-family: 'Abel'; }
        @media only screen and (max-width: 767px) {
          .contBlockHead__titleEn {
            font-size: 12px;
            font-size: 1.2rem; } }
      .contBlockHead__titlePre {
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: normal; }
      .contBlockHead__titleAbout {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.6;
        position: relative; }
        .contBlockHead__titleAbout::before {
          content: '';
          background: #0d95bf;
          width: 24px;
          height: 2px;
          position: absolute;
          bottom: -10px;
          left: 50%;
          transform: translateX(-50%); }
        @media only screen and (max-width: 767px) {
          .contBlockHead__titleAbout {
            font-size: 16px;
            font-size: 1.6rem; } }
  .contBlock2col {
    margin: 0 auto;
    max-width: 1100px;
    display: -ms-flexbox;
    display: flex; }
    @media only screen and (max-width: 767px) {
      .contBlock2col {
        display: block; } }
    .contBlock2col__child {
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%; }

.iconBlank {
  display: inline-block;
  width: 18px; }
  .iconBlank--s {
    width: 12px; }

.iconHasMg {
  margin: 0 5px; }

.iconPdf {
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .iconPdf::after {
    content: '';
    background: url(/img/icon_pdf.svg);
    background-repeat: no-repeat;
    width: 18px;
    height: 21px;
    background-size: contain;
    transition: .2s background ease-in-out; }
  .iconPdf--s::after {
    width: 14px;
    height: 16px; }
  .btn:hover .iconPdf::after {
    transition: .2s background ease-in-out;
    background-image: url(/img/icon_pdf_white.svg); }

.iconToBottom {
  display: block;
  position: relative; }
  .iconToBottom:before {
    content: '';
    position: absolute;
    top: 2px;
    left: 50%;
    width: 6px;
    height: 6px;
    transform: translateX(-50%) rotate(45deg);
    border-bottom: 1px solid #00aeef;
    border-right: 1px solid #00aeef;
    transition: 0.2s ease-in-out; }

.pagination {
  margin: 30px 0;
  padding: 0;
  text-align: center; }
  @media only screen and (max-width: 767px) {
    .pagination {
      margin: 25px 0; } }

.pagination__grp {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: center;
      justify-content: center; }
  @media only screen and (max-width: 767px) {
    .pagination__grp {
      -ms-flex-pack: start;
          justify-content: flex-start;
      width: calc(100% + 10px);
      margin: 0 -5px; } }

.pagination__item {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: normal;
  margin: 0 10px 10px; }
  @media only screen and (max-width: 767px) {
    .pagination__item {
      font-size: 15px;
      font-size: 1.5rem;
      margin: 0 5px 10px; } }
  .pagination__item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    background: #fff;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    border: 1px solid #00aeef;
    color: #00aeef; }
    .pagination__item a:hover {
      background: #00aeef;
      color: #fff; }
    @media only screen and (max-width: 767px) {
      .pagination__item a {
        width: 38px;
        height: 38px; } }
  .pagination__item--current a {
    background: #0d95bf;
    border-color: #0d95bf;
    color: #fff;
    cursor: default;
    pointer-events: none; }
    .pagination__item--current a:hover {
      background: #00a0e9;
      border: 1px solid #00a0e9;
      color: #fff; }
  .pagination__item--first a {
    width: 100px; }
    .pagination__item--first a i {
      margin: 0 10px; }
  .pagination__item--last a {
    width: 100px; }
    .pagination__item--last a i {
      margin: 0 10px; }

.iconPrev, .iconNext {
  display: block;
  position: relative; }
  .iconPrev::after, .iconNext::after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%) rotate(-45deg);
    margin-left: 2px;
    transition: .2s ease-in-out;
    border-top: 2px solid #00aeef;
    border-left: 2px solid #00aeef; }
    a:hover .iconPrev::after, a:hover .iconNext::after {
      border-color: #fff; }

.iconNext::after {
  transform: translateY(-50%) translateX(-50%) rotate(135deg);
  margin-left: -2px; }

.socialBtns {
  display: -ms-flexbox;
  display: flex;
  margin: 10px 0 20px; }
  @media only screen and (max-width: 767px) {
    .socialBtns {
      margin: 5px 0 10px; } }
  .socialBtns__item {
    display: block; }
    .socialBtns__item--fb {
      margin-left: -6px; }

.breadcrumb {
  padding: 20px 0px; }
  @media only screen and (max-width: 767px) {
    .breadcrumb {
      padding: 0 0; } }
  .breadcrumb__grp {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-right: 0px;
    padding-left: 0px; }
    @media only screen and (max-width: 1200px) {
      .breadcrumb__grp {
        padding-right: 20px;
        padding-left: 20px; } }
    @media only screen and (max-width: 767px) {
      .breadcrumb__grp {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        width: 90%;
        overflow-x: scroll;
        white-space: nowrap;
        /* 横スクロールの指定 */
        overflow-scrolling: touch;
        /* スクロールを滑らかにする */
        -webkit-overflow-scrolling: touch;
        /* スクロールを滑らかにする */
        padding: 12px 10px; } }
  .breadcrumb__item {
    display: -ms-inline-flexbox;
    display: inline-flex;
    list-style: none;
    font-size: 12px;
    font-size: 1.2rem;
    margin: 0 20px 0 0;
    color: #090909;
    -ms-flex-align: center;
        align-items: center; }
    .breadcrumb__item::after {
      content: '';
      display: inline-block;
      width: 5px;
      height: 5px;
      transform: translateY(-1px) rotate(45deg);
      border-top: 1px solid #090909;
      border-right: 1px solid #090909;
      margin: 0 0 0 20px; }
      @media only screen and (max-width: 767px) {
        .breadcrumb__item::after {
          margin-left: 10px;
          transform: translateY(1px) rotate(45deg); } }
    .breadcrumb__item:last-child::after {
      display: none; }
    @media only screen and (max-width: 767px) {
      .breadcrumb__item {
        font-size: 10px;
        font-size: 1rem;
        margin-right: 10px; } }
    .breadcrumb__item a {
      color: #090909; }

.notFoundBody {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
  line-height: 1.5;
  font-size: 14px;
  font-size: 1.4rem;
  padding-bottom: 40px; }
  @media only screen and (max-width: 1000px) {
    .notFoundBody {
      width: 100%; } }
  @media only screen and (max-width: 767px) {
    .notFoundBody {
      width: 100%;
      padding: 20px 0 0; } }

.pageList {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 30px 0; }
  @media only screen and (max-width: 767px) {
    .pageList {
      display: block;
      padding: 10px 0; } }
  .pageList__item {
    display: block;
    margin: 0 10px;
    color: #00aeef; }
    @media only screen and (max-width: 767px) {
      .pageList__item {
        margin: 10px 0; } }
    .pageList__item::before {
      content: '・'; }
    .pageList__item a {
      color: #00aeef; }

/*
input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
input[type="tel"],
textarea {
  line-height: 1.4; }
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="number"]:focus,
  input[type="email"]:focus,
  input[type="tel"]:focus,
  textarea:focus {
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
    background: rgba(64, 158, 255, 0.2) !important; }
  input[type="text"].is-error,
  input[type="password"].is-error,
  input[type="number"].is-error,
  input[type="email"].is-error,
  input[type="tel"].is-error,
  textarea.is-error {
    background: rgba(255, 50, 0, 0.1);
    border: 1px solid #ff2200; }
  @media only screen and (max-width: 767px) {
    input[type="text"],
    input[type="password"],
    input[type="number"],
    input[type="email"],
    input[type="tel"],
    textarea {
      font-size: 16px;
  font-size: 1.6rem; } }
*/

.inputItem {
  position: relative;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  @media only screen and (max-width: 767px) {
    .inputItem {
      width: 100%; } }

input[type="text"].inputItem__freeword {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-right: 0; }
  @media only screen and (max-width: 1000px) {
    input[type="text"].inputItem__freeword {
      width: 150px;
      font-size: 14px;
      font-size: 1.4rem; } }
  @media only screen and (max-width: 767px) {
    input[type="text"].inputItem__freeword {
      width: 100%;
      font-size: 16px;
      font-size: 1.6rem; } }

.inputItem__search {
  border: 1px solid #ccc;
  border-radius: 15px;
  padding: 8px 50px 8px 12px;
  font-size: 15px;
  font-size: 1.5rem;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4;
  color: #777;
  cursor: pointer; }
  @media only screen and (max-width: 1000px) {
    .inputItem__search {
      width: 150px;
      font-size: 14px;
      font-size: 1.4rem; } }
  @media only screen and (max-width: 767px) {
    .inputItem__search {
      width: 100%; } }

.iconSearch {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background: #00aeef;
  border-radius: 50%;
  display: block; }
  .iconSearch::before {
    content: '';
    background-image: url(../img/icon_search.svg);
    background-repeat: no-repeat;
    background-size: cover;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: 9px;
    transform: translate(0%, -50%); }

input[type="checkbox"] {
  display: none; }

input[type="checkbox"] + label {
  font-size: calc(16/1440*100vw);
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: calc(5/1440*100vw) 0 calc(5/1440*100vw) calc(26/1440*100vw);
  vertical-align: middle;
  cursor: pointer; }
  @media only screen and (max-width: 767px) {
    input[type="checkbox"] + label {
      display: block;
      padding-bottom: 0px; } }

input[type="checkbox"] + label:hover:after,
input[type="checkbox"]:checked + label:after {
  border-color: #00aeef; }

input[type="checkbox"] + label:after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: calc(-10/1440*100vw);
  width: calc(16/1440*100vw);
  height: calc(16/1440*100vw);
  border: calc(2/1440*100vw) solid #ccc;
  border-radius: calc(6/1440*100vw);
  content: '';
  background: #fff;
  z-index: 0; }

input[type="checkbox"] + label:before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #00aeef;
  border-bottom: 3px solid #00aeef;
  content: '';
  opacity: 0;
  transform: rotate(45deg);
  z-index: 1; }

input[type="checkbox"]:checked + label:before {
  opacity: 1; }
input[type="radio"] {
  display: none; }

input[type="radio"] + label {
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 0px 0 0px 26px;
  vertical-align: middle;
  cursor: pointer; }
  @media only screen and (max-width: 767px) {
    input[type="radio"] + label {
      display: block;
      padding-bottom: 0px; } }

input[type="radio"] + label:hover:after,
input[type="radio"]:checked + label:after {
  border-color: #00aeef; }

input[type="radio"] + label:after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 6px;
  content: '';
  background: #fff;
  z-index: 0; }

input[type="radio"] + label:before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #00aeef;
  border-bottom: 3px solid #00aeef;
  content: '';
  opacity: 0;
  transform: rotate(45deg);
  z-index: 1; }

input[type="radio"]:checked + label:before {
  opacity: 1; }


.selectMenu {
  display: block;
  padding: 0;
  position: relative;
  /* Set options to normal weight */
  /* ------------------------------------  */
  /* START OF UGLY BROWSER-SPECIFIC HACKS */
  /* ----------------------------------  */
  /* FIREFOX won't let us hide the native select arrow, so we have to make it wider than needed and clip it via overflow on the parent container.
	 The percentage width is a fallback since FF 4+ supports calc() so we can just add a fixed amount of extra width to push the native arrow out of view. We're applying this hack across all FF versions because all the previous hacks were too fragile and complex.
	 You might want to consider not using this hack and using the native select arrow in FF. Note this makes the menus wider than the select button because they display at the specified width and aren't clipped. Targeting hack via http://browserhacks.com/#hack-758bff81c5c32351b02e10480b5ed48e */
  /* Show only the native arrow */
  display: block;
  border-radius: 3px;
  box-shadow: none;
  width: 140px; }
  .selectMenu::before, .selectMenu::after {
    content: '';
    display: block;
    position: absolute;
    pointer-events: none;
    z-index: 2; }
  .selectMenu select {
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    background: none;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    border: 1px solid transparent;
    font-size: 16px;
    outline: none;
    /* Focus style */ }
    .selectMenu select:focus {
      background-color: transparent;
      outline: none; }
  .selectMenu option {
    font-weight: normal; }
  .selectMenu x:-o-prefocus, .selectMenu::after {
    display: none; }
  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .selectMenu select::-ms-expand {
      display: none; }
    .selectMenu select:focus::-ms-value {
      background: transparent;
      color: #000; } }

@-moz-document url-prefix() {
  .selectMenu {
    overflow: hidden; }
    .selectMenu select {
      width: 120%;
      width: calc(100% + 3em);
      /* Firefox focus has odd artifacts around the text, this kills that. See https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring */ }
      @supports (-moz-appearance: none) {
        .selectMenu select {
          width: 100%; } }
      .selectMenu select:-moz-focusring {
        color: transparent;
        text-shadow: 0 0 0 #000; } }
  @supports (-moz-appearance: none) {
    .selectMenu {
      width: 100%; } }
  .selectMenu::before, .selectMenu::after {
    content: '';
    display: block;
    position: absolute;
    pointer-events: none;
    border: 1px solid transparent;
    width: 0;
    height: 0;
    right: 16px; }
  .selectMenu::before {
    bottom: 55%;
    border-width: 0 6.5px 8px 6.5px;
    border-bottom-color: #D6D6D6; }
  .selectMenu::after {
    border-width: 8px 6.5px 0 6.5px;
    border-top-color: #D6D6D6;
    top: 55%; }

@-moz-document url-prefix() {
  .selectMenu {
    border-right: 3px solid #E6E6E6; }
    .selectMenu:hover {
      border-right: 3px solid #00aeef; } }
  .selectMenu:hover select {
    box-shadow: 0 2px 3px rgba(0, 174, 239, 0.1) inset;
    border-color: #00aeef; }
    .selectMenu:hover select:focus {
      outline-color: transparent; }
  .selectMenu:hover::before {
    border-bottom-color: #00aeef; }
  .selectMenu:hover::after {
    border-top-color: #00aeef; }
  .selectMenu select {
    border: 3px solid #ccc;
    border-radius: 8px;
    font-weight: 400;
    color: inherit;
    padding: 11px 15px;
    line-height: normal;
    transition: border-color 0.2s ease, outline 0.2s ease; }
    .selectMenu select:focus {
      box-shadow: 0 3px 4px rgba(0, 174, 239, 0.3) inset;
      outline: 3px solid #00aeef;
      outline-offset: -3px; }
    .selectMenu select[disabled], .selectMenu select:disabled {
      opacity: 0.4;
      cursor: not-allowed; }
    .selectMenu select:not(:focus):invalid {
      color: #C7C7C7; }

.required {
  font-style: normal;
  color: #fff;
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: normal;
  background: #ff2200;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 0px 4px 1px;
  height: 18px;
  border-radius: 4px; }
  .required--abs {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%); }
    @media only screen and (max-width: 767px) {
      .required--abs {
        position: relative;
        top: auto;
        transform: translateY(0);
        margin-left: 5px; } }

.flashMsg {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 20px;
  text-align: center;
  box-sizing: border-box;
  color: #377a2c;
  border: 1px solid #377a2c;
  background: rgba(0, 255, 50, 0.1);
  padding: 12px;
  border-radius: 5px; }

.error {
  margin: 10px 0 0;
  color: #a20100;
  background: rgba(255, 50, 0, 0.1);
  border: 1px solid #a20100;
  box-sizing: border-box;
  padding: 12px;
  }

.formWrapper {
  max-width: 800px;
  margin: 0 auto;
  padding-top: 45px;
  padding-right: 42px;
  padding-left: 42px;
  padding-bottom: 45px;
  position: relative;
  box-sizing: border-box;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.4);
  border: 4px solid #7adbf9; }
  @media only screen and (max-width: 1100px) {
    .formWrapper {
      padding-right: 30px;
      padding-left: 30px; } }
  @media only screen and (max-width: 1000px) {
    .formWrapper {
      width: 90%; } }
  @media only screen and (max-width: 767px) {
    .formWrapper {
      width: calc(100% - 20px);
      word-wrap: break-word;
      padding-top: 30px;
      padding-right: 20px;
      padding-left: 20px;
      padding-bottom: 20px; } }

.formLogo {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 0 30px; }

.formNote {
  text-align: center;
  margin: 0 0 30px; }

.formItem {
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 30px;
  padding: 0; }
  @media only screen and (max-width: 767px) {
    .formItem {
      display: block;
      margin: 0 0 22px; } }
  .formItem--1col {
    -ms-flex-pack: center;
        justify-content: center; }
  .formItem__label {
    font-weight: bold;
    -ms-flex-preferred-size: 200px;
        flex-basis: 200px;
    zoom: 1;
    box-sizing: border-box;
    margin: 0 15px 0 0;
    padding-right: 15px;
    line-height: 1.2;
    display: -ms-flexbox;
    display: flex;
    height: 40px;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    color: #090909; }
    .formItem__label::before, .formItem__label::after {
      content: "";
      display: table; }
    .formItem__label::after {
      clear: both; }
    @media only screen and (max-width: 767px) {
      .formItem__label {
        font-size: 14px;
        font-size: 1.4rem;
        margin: 0 0 8px;
        height: auto;
        padding-right: 0; }
        .formItem__label br {
          display: none; } }
  .formItem__input {
    -ms-flex-preferred-size: calc(100% - 200px - 15px);
        flex-basis: calc(100% - 200px - 15px);
    margin: 0;
    padding: 0;
    min-height: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    line-height: 1.4; }

.inputElm {
  width: 100%; }

.attention {
  margin: 10px 0 0;
  font-size: 14px;
  font-size: 1.4rem;
  color: #090909; }

.formBtn {
  margin: 40px 0 40px; }

/* =======================
buttons
======================================================= */
.btnArea {
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 767px) {
    .btnArea {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .btnArea--center {
    -ms-flex-pack: center;
        justify-content: center; }
  .btnArea--haspb {
    padding-bottom: 70px; }

.btnWrapper {
  margin: 0 10px; }
  @media only screen and (max-width: 767px) {
    .btnWrapper {
      margin: 0 10px 10px; } }

.btn {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  background: #fff;
  margin: 0;
  color: #090909;
  box-sizing: border-box;
  text-align: center;
  border: none;
  font-size: inherit;
  transition: 0.2s ease-in-out;
  line-height: 1.2;
  height: 50px;
  cursor: pointer;
  font-weight: bold;
  position: relative;
  border-radius: 25px;
  padding: 0 20px;
  border: 1px solid #00aeef;
  color: #00aeef; }
  .btn:hover {
    transition: 0.3s ease-in-out;
    background: #00aeef;
    color: #fff; }
  .btn:focus {
    outline: 0; }
  .btn--large {
    width: 300px;
    height: 58px;
    border-radius: 28px; }
  .btn--full {
    width: 100%; }
  .btn--freeword {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    height: 40px;
    padding-left: 15px; }
    @media only screen and (max-width: 767px) {
      .btn--freeword {
        height: 42px;
        width: 70px;
        padding: 0; } }
  .btn--search {
    background: #00aeef;
    color: #fff;
    border-radius: 22px; }
    @media only screen and (max-width: 767px) {
      .btn--search {
        width: 120px;
        letter-spacing: 5px;
        text-indent: 5px;
        font-size: 16px;
        font-size: 1.6rem; } }
  .btn:disabled {
    background: #eee;
    color: #888;
    border-color: #666; }
  .btn--regist {
    background: #00a54f;
    border-color: #00a54f;
    color: #fff;
    -ms-flex-direction: column;
        flex-direction: column; }
    .btn--regist:hover {
      background: #047738;
      border-color: #047738;
      color: #fff; }
  .btn--registLarge {
    width: 300px;
    height: 58px;
    border-radius: 28px;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 18px;
    font-size: 1.8rem;
    padding: 10px 22px; }
  .btn--back {
    color: #090909;
    border-color: #090909; }
    .btn--back:hover {
      background: #888; }
  .btn--cancel {
    background: #eee;
    color: #666;
    border-color: #666; }
    .btn--cancel:hover {
      background: #888; }
  .btn--arrow {
    position: relative; }
    .btn--arrow::after {
      content: '';
      display: inline-block;
      width: 6px;
      height: 6px;
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translateY(-50%) rotate(45deg);
      transition: .2s ease-in-out;
      border-top: 2px solid #888;
      border-right: 2px solid #888; }
    .btn--arrow:hover::after {
      right: 7px;
      transition: .2s ease-in-out;
      border-color: #fff; }
    .btn--arrow--left {
      padding-left: 27px; }
      .btn--arrow--left::after {
        transform: translateY(-50%) rotate(-135deg);
        right: auto;
        left: 10px; }
      .btn--arrow--left:hover::after {
        left: 7px; }

.textlink {
  color: #666; }
  .textlink--back {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    padding: 0 0 0 6px; }
    .textlink--back:before {
      display: inline-block;
      content: '';
      width: 6px;
      height: 6px;
      transform: translateX(-50%) rotate(45deg);
      border-bottom: 1px solid #666;
      border-left: 1px solid #666;
      transition: 0.2s ease-in-out; }
  .textlink--hasUl {
    text-decoration: underline; }

/* ===== Module =============================================
   Author:
   ==================================================================== */
/*	text lifter
------------------------------------*/
.tx_strong {
  color: #00a54f;
  font-weight: bold; }

/*	 img
------------------------------------*/
.imgWcover {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover; }

/*  Movie Responsive
------------------------------------*/
.movie {
  position: relative;
  width: 100%;
  padding: 56.25% 0 0 0; }

.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/*  list
------------------------------------*/
.list__item {
  position: relative;
  padding-left: 1em;
  margin-bottom: 1em;
  text-indent: -0.1em; }
  .list__item::after {
    content: '・';
    position: absolute;
    top: 0;
    left: 0; }

/*	float
------------------------------------*/
/*	clearfix
------------------------------------*/
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }


/*  お問い合わせ
------------------------------------*/
.bg-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f0f0f0;
  z-index: -1;
}
.cp_formLocation {
  display: flex;
  justify-content: center;
  gap: 0 clamp(1.2rem, 1.5384615385vw, 10rem);
}
.cp_formLocation__item {
  display: block;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #004584;
  height: calc(110/1440*100vw);
  width: calc(310/1440*100vw);
  color: #004584;
  gap: clamp(0.6rem, 0.7692307692vw, 5rem);
  background: #f0f0f0;
  position: relative;
}
.cp_formLocation__item--current {
  background-color: #004584;
  color: #fff;
}
.cp_formLocation__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% - 1px);
  z-index: 2;
  transform: translateY(-50%);
  display: block;
  width: clamp(0.9rem, 1.1538461538vw, 7.5rem);
  height: clamp(1.5rem, 1.9230769231vw, 12.5rem);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  background: #f0f0f0;
}
.cp_formLocation__item--current::before {
  background: #004584;
}
.cp_formLocation__item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  z-index: 1;
  transform: translateY(-50%);
  display: block;
  width: calc(clamp(0.9rem, 1.1538461538vw, 7.5rem) + 0.5px);
  height: calc(clamp(1.5rem, 1.9230769231vw, 12.5rem) + 1.5px);
  clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
  background: #004584;
}
.cp_formLocation__item:last-of-type::before, .cp_formLocation__item:last-of-type::after {
  display: none;
}
.cp_formLocation__step {
  font-family: "Montserrat", "Noto Sans JP", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: calc(16/1440*100vw);
}
.cp_formLocation__label {
  font-size: calc(20/1440*100vw);
}
.inquiry .form_table dl dd label input[type=radio] + span {
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: calc(5/1440*100vw) 0 calc(5/1440*100vw) calc(20/1440*100vw);
  vertical-align: middle;
  cursor: pointer;
  font-size: calc(16/1440*100vw);
}
.inquiry .form_table dl dd label input[type=radio] + span::before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: calc(5/1440*100vw);
  display: block;
  margin-top: calc(-7/1440*100vw);
  width: calc(6/1440*100vw);
  height: calc(10/1440*100vw);
  border-right: calc(2/1440*100vw) solid #4164fb;
  border-bottom: calc(2/1440*100vw) solid #4164fb;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
  z-index: 1;
}
.inquiry .form_table dl dd label input[type=radio] + span::after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 55%;
  left: 0;
  display: block;
  margin-top: calc(-10/1440*100vw);
  width: calc(16/1440*100vw);
  height: calc(16/1440*100vw);
  border: calc(2/1440*100vw) solid #ccc;
  border-radius: 50%;
  content: "";
  background: #fff;
  z-index: 0;
}
.inquiry .form_table dl dd label input[type=radio]:checked + span:before {
  opacity: 1;
}
.inquiry .form_table dl dd label input[type=radio] + span:hover::after,
.inquiry .form_table dl dd label input[type=radio]:checked + span::after {
  border-color: #4164fb;
}
input[type="checkbox"] + label::before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 55%;
  left: calc(5/1440*100vw);
  display: block;
  margin-top: calc(-7/1440*100vw);
  width: calc(6/1440*100vw);
  height: calc(10/1440*100vw);
  border-right: calc(2/1440*100vw) solid #4164fb;
  border-bottom: calc(2/1440*100vw) solid #4164fb;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
  z-index: 1;
}
input[type="checkbox"] + label::after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 60%;
  left: 0;
  display: block;
  width: calc(16/1440*100vw);
  height: calc(16/1440*100vw);
  border: calc(2/1440*100vw) solid #ccc;
  border-radius: calc(2/1440*100vw);
  content: "";
  background: #fff;
  z-index: 0;
}
input[type="checkbox"] + label:hover::after,
input[type="checkbox"]:checked + label::after {
  border-color: #4164fb;
}

.inquiry{
    letter-spacing: .1em;
    line-height: 1.4;
    font-size: max(1.3rem, clamp(0.84rem, 1.0769230769vw, 7rem));
    max-width: calc(1100/1440*100vw);
    margin: 0 auto;
}
.inquiry > .text_c {
  font-size: calc(16/1440*100vw);
  line-height: 2;
  margin-bottom: calc(80/1440*100vw);
}
.inquiry h2{
    font-size: 3.2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 3rem;
}
.inquiry.confirm h2{
    margin-bottom: 6rem;
}
.inquiry h2 span{
}
.inquiry .form {
  margin-top: clamp(5.04rem, 6.4615384615vw, 42rem);
}
.inquiry .form_table{
    width: 100%;
}
.inquiry .form_table dl{
    display: flex;
    /*align-items: center;*/
    align-items: stretch;
}
.inquiry .form_table dl dt,
.inquiry .form_table dl dd{
    display: block;
    font-size: calc(16/1440*100vw);
}
.inquiry .form_table dl dt{
    width: 25%;
    position: relative;
    /* background: #eee; */
}
.inquiry .form_table dl dd{
    width: 75%;
    padding: 0em 0 0em calc(36/1440*100vw);
}
.inquiry .form_table dl:nth-child(1) dd{
    display: flex;
    align-items: center;
    gap: calc(30/1440*100vw);
    flex-wrap: wrap;
    padding: 0em 0 0em calc(36/1440*100vw);
    width: 75%;
}
.inquiry .form_table dl + dl{
    margin-top: calc(30/1440*100vw);
}
.inquiry .form_table dl dd select,
.inquiry .form_table dl dd input[type=text],
.inquiry .form_table dl dd input[type=number],
.inquiry .form_table dl dd input[type=email],
.inquiry .form_table dl dd textarea
{
    width: 100%;
    border: none;
    padding: 0px clamp(1.32rem, 1.6923076923vw, 2.4rem);
    height: calc(50/1440*100vw);
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4;
    background: #fff;
}
.inquiry .form_table dl dd textarea {
  height: calc(288/1440*100vw);
  padding-top: calc(20/1440*100vw);
  padding-bottom: calc(20/1440*100vw);
}
.inquiry .form_table dl dd select:focus,
.inquiry .form_table dl dd input[type=text]:focus,
.inquiry .form_table dl dd input[type=number]:focus,
.inquiry .form_table dl dd input[type=email]:focus,
.inquiry .form_table dl dd textarea:focus
{
    border-color: #F37E00 !important;
    outline: none;
    box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
}
.inquiry .form_table dl dt p{
    color: #000;
    font-size: calc(18/1440*100vw);
    line-height: 150%;
    padding: calc(9/1440*100vw) calc(47/1440*100vw) calc(18/1440*100vw) calc(13/1440*100vw);
    margin: 0;
}
.inquiry.confirm .form_table dl dt{
    min-height: unset;
}
.inquiry.confirm .form_table dl {
  align-items: center;
}
.inquiry.confirm .form_table dl dt p{
    position: static;
    transform: unset;
    font-size: calc(20/1440*100vw);
    padding: 0;
}
.inquiry .form_table dd p.address02_msg{
    font-size: 86%;
    color: red;
}
.inquiry .form_table dl dd div.check_group{
    margin-bottom: 1.5rem;
}
.inquiry .form_table dl dd div.check_group p{
    font-weight: bold;
    margin-bottom: .25rem;
}
.inquiry .form_table dl dd div.check_group .other{
    width: 100%;
}
.inquiry .form_table dl dd div.check_group .other label{
    display: inline-block;
    width: auto;
}
.inquiry .form_table dl dd div.check_group input[type="text"]{
    width: auto;
    margin-left: 1rem;
}
.inquiry .form_table dl dd div.check_wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
}
.inquiry .form_table dl dd div.check_wrap > p {
  font-size: calc(16/1440*100vw);
}
.inquiry .form_table dl dd div.check_wrap > p > a {
  color: #0064ff;
}
.inquiry .form_table dl dd div.check_wrap > div{
    width: calc( ( 100% - 1rem) / 2 );
}
.inquiry .form_table dl dd div.check_wrap .error-message{
    width: 100%;
}
.inquiry .form_table dl .require{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    line-height: 0;
    padding: 0;
}
.inquiry .form_table dl .require:after{
    content: "必須";
    display: block;
    padding: calc(5/1440*100vw);
    font-size: calc(11/1440*100vw);
    font-weight: bold;
    color: #fff;
    background: #004584;
    position: absolute;
    right: calc(15/1440*100vw);
    top: calc(14/1440*100vw);
    line-height: 1;
}
.inquiry .form_table dl dd .notice{
    font-size: 1.5rem;
    margin-top: .8rem;
}
.inquiry .form_table dl dd .notice p{
    margin: 0;
}
.inquiry .form_table dl dd .flex > *{
    min-width: 100px;
}
.inquiry .form_table dl dd .flex.text > * + *{
    margin-left: 1.5em;
}
.inquiry .form_table dl dd .flex.code > * + *{
    margin-left: 0em;
}
.inquiry .form_table dl dd .flex.check_wrap{
    flex-wrap: wrap;
}
.inquiry .form_table dl dd .flex.check_wrap > *{
    margin-right: 1.5em;
    margin-bottom: 1em;
}
.inquiry .form_table dl dd .flex.code .separator{
    width: 2%;
    min-width: 10px;
    position: relative;
}
.inquiry .form_table dl dd .flex.date .separator{
    width: 1.4em;
    min-width: 40px;
    line-height: 2em;
    padding-left: .6rem;
}
.inquiry .form_table dl dd .flex.code .separator span{
    display: block;
    background: #333;
    height: 1px;
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.inquiry .form_table dl dd h3{
    background: #666;
    color: #fff;
    font-size: 1.6rem;
    padding: 1rem;
    margin-bottom: 1.6rem;
    font-weight: 400;
}
.inquiry .form_table dl dd > * + * h3{
    margin-top: 3rem;
}
.inquiry .form_table dl dd .check_wrap input[type="radio"]{
    display: none;
}
.inquiry .form_table dl dd .check_wrap input[type="radio"] + label{
    margin-right: .5em;
}
.inquiry .form_table dl dd .check_wrap input[type="radio"] + label:before{
    width: 14px;
    height: 14px;
    left: 3px;
    top: 12px;
    border: none;
    background: #a20100;
    border-radius: 8px;
}
.inquiry .form_table dl dd .check_wrap input[type="radio"] + label:after{
    border: 1px solid #333;
    border-radius: 10px;
    width: 20px;
    height: 20px;
}
.inquiry .form_table dl dd .check_wrap input[type="radio"] + label{
    transition: color 0.2s linear;
}
.inquiry .form_table dl dd .check_wrap input[type="radio"]:checked + label,
.inquiry .form_table dl dd .check_wrap input[type="radio"] + label:hover{
    color: #a20100;
}
.inquiry .form_table dl dd .check_wrap input[type="radio"]:checked + label:after,
.inquiry .form_table dl dd .check_wrap input[type="radio"] + label:hover:after{
    border: 1px solid #a20100 !important;
}
.error-message{
  font-size: calc(16/1440*100vw);
  margin: calc(10/1440*100vw) 0 0;
  color: #ff2200;
  background: rgba(255, 50, 0, 0.1);
  border: 1px solid #ff2200;
  box-sizing: border-box;
  padding: calc(12/1440*100vw);
  border-radius: calc(5/1440*100vw);
  width: 100%;
  line-height: 1;
}
.inquiry .btn_wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(3rem, 3.8461538462vw, 25rem);
  margin-bottom: clamp(3rem, 3.8461538462vw, 25rem);
  gap: 0 clamp(1.2rem, 1.5384615385vw, 10rem);
}
.inquiry .btn_wrap button,
.inquiry.thanks .btn{
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 calc(22/1440*100vw);
    width: calc(230/1440*100vw);
    height: calc(46/1440*100vw);
    border-radius: calc(45/1440*100vw);
    border: 1px solid #0064ff;
    color: #0064ff;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    font-weight: bold;
    font-family: "Montserrat", "Noto Sans JP", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    outline: none;
    will-change: transform;
}
.inquiry.thanks .btn {
  background: initial;
}
.inquiry .btn_wrap button:hover,
.inquiry.thanks .btn:hover {
  color: #fff;
  transition: color 0.3s ease-in-out;
}
.inquiry.thanks .btn:hover {
  background: unset;
}
.inquiry .btn_wrap button::before,
.inquiry.thanks .btn::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0s linear 0.3s;
  pointer-events: none;
  z-index: -1;
  transform: scaleX(0);
  opacity: 0;
  background-color: #0064ff;
  transform-origin: left;
}
.inquiry .btn_wrap button:hover::before,
.inquiry.thanks .btn:hover::before {
  transform: scaleX(1);
  transform-origin: left;
  opacity: 1;
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0s linear 0s;
}
.inquiry .btn_wrap button span,
.inquiry.thanks .btn{
    font-size: calc(16/1440*100vw);
}
.inquiry .btn_wrap button:hover span{
    color: #fff !important;
}
.inquiry .btn_wrap button::after,
.inquiry.thanks .btn::after{
    position: absolute;
    content: "";
    width: calc(18/1440*100vw);
    height: calc(18/1440*100vw);
    top: 50%;
    transform: translateY(-50%);
    right: calc(20/1440*100vw);
    background-repeat: no-repeat;
    background-image: url(../img/icon_arrow_blue.svg);
    object-fit: contain;
}
.inquiry .btn_wrap button:hover::after,
.inquiry.thanks .btn:hover::after{
  background-image: url(../img/icon_arrow_white.svg);
  transition: background-image 0.3s ease-in-out;
}
.inquiry .confirm_btn_wrap {
    margin-top: calc(50/1440*100vw);
    display: flex;
}
.inquiry .viewed_consider {
    margin-bottom: 20px;
    display: flex;
}
.inquiry .viewed_consider_title {
    width: 150px;
}
.inquiry .privacy_policy{
    font-size: 1.5rem;
}
.inquiry .privacy_policy h3{
    margin-bottom: 1em;
}
.inquiry .policy_link{}
.inquiry .policy_link li{
     margin-bottom: 1em;
}
.inquiry .policy_link a{
    color: #a20100 !important;
}
.inquiry .policy_link .ex_link:after{
    content: "";
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    background: url(/img/icon_exlink.svg) center / contain no-repeat;
    margin-left: .5rem;
}

.inquiry .child_space{
    display: flex;
    margin-top: 10px;
    gap: 1em;
}
.inquiry .child_space_radio{
    display: flex;
    flex: 1;
}
.inquiry .child_space_radio > .check_wrap{
    width: 20%;
    min-width: 75px;
}

.inquiry .form_table dl dd select.form-error,
.inquiry .form_table dl dd input[type=text].form-error,
.inquiry .form_table dl dd input[type=number].form-error,
.inquiry .form_table dl dd input[type=email].form-error,
.inquiry .form_table dl dd textarea.form-error{
    border-color: #a20100 !important;
}
@media screen and (max-width: 750px){
  .inquiry .form_table dl dd .check_wrap input[type="radio"] + label:after{
      width: 21px;
      height: 21px;
  }
  .inquiry .form_table dl dd .check_wrap input[type="radio"] + label:before{
      width: 13px;
      height: 13px;
      left: 4px;
      top: 50%;
      transform: translateY(1px);
      border: none;
      background: #F37E00;
      border-radius: 8px;
  }
  .inquiry > .text_c {
    font-size: 13px;
    margin-bottom: 40px;
  }
  .cp_formLocation {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .cp_formLocation__item {
    width: 70%;
    padding-top: 18px;
    padding-bottom: 18px;
    height: auto;
  }
  .cp_formLocation__step {
    font-size: 12px;
  }
  .cp_formLocation__label {
    font-size: 14px;
  }
  .cp_formLocation__item::before {
    top: calc(100% - 0.5px);
    left: 50%;
    transform: translate(-50%, 0);
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    width: 23.3px;
    height: 13.4px;
  }
  .cp_formLocation__item::after {
    top: 100%;
    left: 50%;
    transform: translate(-50%, 0);
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    width: 24.3px;
    height: 14.4px;
  }
  .inquiry .form_table dl .require:after {
    padding: 2px 10px 3px;
    font-size: 11px;
    height: auto;
  }
  .inquiry .form {
    margin-top: 40px;
  }
  .inquiry .form_table dl dd label input[type=radio] + span {
    font-size: 13px;
    padding: 5px 0 5px 26px;
  }
  .inquiry .form_table dl:nth-child(1) dd {
    padding-left: 0;
    width: 100%;
  }
  .inquiry .form_table dl dd input[type=text] {
    padding: 6px 15px;
    height: 38px;
    font-size: 13px;
  }
  .error-message {
    font-size: 13px;
    margin: 10px 0 0;
    padding: 12px;
    border-radius: 5px;
  }
  .inquiry .form_table dl dd div.check_wrap > p {
    font-size: 13px;
  }
  .inquiry .btn_wrap button {
    border-radius: 22px;
    min-width: 180px;
    padding: 0 20px;
    height: 44px;
  }
  .inquiry .btn_wrap button::after {
    right: 10px;
    width: 20px;
    height: 20px;
  }
  .inquiry .form_table dl dd label input[type=radio] + span::after {
    width: 16px;
    height: 16px;
    margin-top: -10px;
  }
  .inquiry .form_table dl dd label input[type=radio] + span::before {
    width: 5px;
    height: 9px;
    left: 6px;
    margin-top: -7px;
    top: 51%;
  }
  .inquiry .form_table dl dd textarea {
    height: 181px;
    padding: 12px;
    font-size: 13px;
  }
  input[type="checkbox"] + label::before {
    left: 6px;
    margin-top: -7px;
    width: 5px;
    height: 9px;
  }
  input[type="checkbox"] + label::after {
    width: 16px;
    height: 16px;
    border-radius: 2px;
    top: 25%;
  }
}
/*  SHINKOお問い合わせ
------------------------------------*/
.shinko_contact{
    letter-spacing: .1em;
    line-height: 1.4;
    padding: 18rem 0 5%;
}
.shinko_contact h2{
    font-size: 3.2rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 3rem;
}
.shinko_contact.confirm h2{
    margin-bottom: 6rem;
}
.shinko_contact h2 span{
}
.shinko_contact .form_table{
    width: 100%;
}
.shinko_contact .form_table dl{
    display: flex;
    /*align-items: center;*/
    align-items: stretch;
}
.shinko_contact .form_table dl dt,
.shinko_contact .form_table dl dd{
    display: block;
    font-size: 1.8rem;
}
.shinko_contact .form_table dl dt{
    width: 25%;
    position: relative;
    background: #eee;
}
.shinko_contact .form_table dl dd{
    padding: 0em 0 0em 2em;
    width: 75%;
}
.shinko_contact .form_table dl + dl{
    margin-top: 2rem;
}
.shinko_contact .form_table dl dd select,
.shinko_contact .form_table dl dd input[type=text],
.shinko_contact .form_table dl dd input[type=number],
.shinko_contact .form_table dl dd input[type=email],
.shinko_contact .form_table dl dd textarea
{
    width: 100%;
    padding: .5rem 1rem;
    font-size: 1.8rem;
    border-radius: 2px;
    border: 0.1rem solid #333;
    outline: none;
    background: #fff;
}
.shinko_contact .form_table dl dd select:focus,
.shinko_contact .form_table dl dd input[type=text]:focus,
.shinko_contact .form_table dl dd input[type=number]:focus,
.shinko_contact .form_table dl dd input[type=email]:focus,
.shinko_contact .form_table dl dd textarea:focus
{
    border-color: #F37E00 !important;
}
.shinko_contact .form_table dl dt p{
    /*
    position: absolute;
    top: 50%;
    left: 0;
    transform:translateY(-50%);
    */
    line-height: 150%;
    padding: 1em 4.75rem 1em 1em;
    margin: 0;
}
.shinko_contact.confirm .form_table dl dt{
    min-height: unset;
}
.shinko_contact.confirm .form_table dl dt p{
    position: static;
    transform: unset;
}
.shinko_contact .form_table dd p.address02_msg{
    font-size: 86%;
    color: red;
}
.shinko_contact .form_table dl dd div.check_group{
    margin-bottom: 1.5rem;
}
.shinko_contact .form_table dl dd div.check_group p{
    font-weight: bold;
    margin-bottom: .25rem;
}
.shinko_contact .form_table dl dd div.check_group .other{
    width: 100%;
}
.shinko_contact .form_table dl dd div.check_group .other label{
    display: inline-block;
    width: auto;
}
.shinko_contact .form_table dl dd div.check_group input[type="text"]{
    width: auto;
    margin-left: 1rem;
}
.shinko_contact .form_table dl dd div.check_wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
}
.shinko_contact .form_table dl dd div.check_wrap > div{
    width: calc( ( 100% - 1rem) / 2 );
}
.shinko_contact .form_table dl dd div.check_wrap .error-message{
    width: 100%;
}
@media only screen and (max-width: 1000px) {
    .shinko_contact .form_table dl dt{
        padding: 1.5rem 5rem 1.5rem 1rem;
    }
    .shinko_contact .form_table dl dt span{
        position: static;
    }
}
.shinko_contact .form_table dl .require{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    line-height: 0;
    padding: 0;
}
.shinko_contact .form_table dl .require:after{
    content: "必須";
    display: block;
    padding: .5rem;
    font-size: 1.1rem;
    font-weight: bold;
    color: #fff;
    /*background: #72bf44;*/
    background: #a20100;
    position: absolute;
    right: 1.5rem;
    top: 2em;
    line-height: 1;
}
.shinko_contact .form_table dl dd .notice{
    font-size: 1.5rem;
    margin-top: .8rem;
}
.shinko_contact .form_table dl dd .notice p{
    margin: 0;
}
.shinko_contact .form_table dl dd .flex > *{
    min-width: 100px;
}
.shinko_contact .form_table dl dd .flex.text > * + *{
    margin-left: 1.5em;
}
.shinko_contact .form_table dl dd .flex.code > * + *{
    margin-left: 0em;
}
.shinko_contact .form_table dl dd .flex.check_wrap{
    flex-wrap: wrap;
}
.shinko_contact .form_table dl dd .flex.check_wrap > *{
    margin-right: 1.5em;
    margin-bottom: 1em;
}
.shinko_contact .form_table dl dd .flex.code .separator{
    width: 2%;
    min-width: 10px;
    position: relative;
}
.shinko_contact .form_table dl dd .flex.date .separator{
    width: 1.4em;
    min-width: 40px;
    line-height: 2em;
    padding-left: .6rem;
}
.shinko_contact .form_table dl dd .flex.code .separator span{
    display: block;
    background: #333;
    height: 1px;
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.shinko_contact .form_table dl dd h3{
    background: #666;
    color: #fff;
    font-size: 1.6rem;
    padding: 1rem;
    margin-bottom: 1.6rem;
    font-weight: 400;
}
.shinko_contact .form_table dl dd > * + * h3{
    margin-top: 3rem;
}
.shinko_contact .form_table dl dd .check_wrap input[type="radio"]{
    display: none;
}
.shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label{
    margin-right: .5em;
}
.shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label:before{
    width: 14px;
    height: 14px;
    left: 3px;
    top: 12px;
    border: none;
    background: #a20100;
    border-radius: 8px;
}
.shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label:after{
    border: 1px solid #333;
    border-radius: 10px;
    width: 20px;
    height: 20px;
}
.shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label{
    transition: color 0.2s linear;
}
.shinko_contact .form_table dl dd .check_wrap input[type="radio"]:checked + label,
.shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label:hover{
    color: #a20100;
}
.shinko_contact .form_table dl dd .check_wrap input[type="radio"]:checked + label:after,
.shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label:hover:after{
    border: 1px solid #a20100 !important;
}
@media screen and (max-width: 750px){
    .shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label:after{
        width: 21px;
        height: 21px;
    }
    .shinko_contact .form_table dl dd .check_wrap input[type="radio"] + label:before{
        width: 13px;
        height: 13px;
        left: 4px;
        top: 50%;
        transform: translateY(1px);
        border: none;
        background: #F37E00;
        border-radius: 8px;
    }
}
.shinko_contact .form_table dl dd .check_wrap input[type="checkbox"] + label:before{
    border-right: 3px solid #F37E00;
    border-bottom: 3px solid #F37E00;
    left: 7px;
    margin-top: -6px;
}
.shinko_contact .form_table dl dd .check_wrap input[type="checkbox"] + label:after{
    border: 1px solid #333;
    border-radius: 0px;
    width: 20px;
    height: 20px;
}
.shinko_contact .form_table dl dd .check_wrap input[type="checkbox"] + label{
    transition: color 0.2s linear;
}
.shinko_contact .form_table dl dd .check_wrap input[type="checkbox"]:checked + label,
.shinko_contact .form_table dl dd .check_wrap input[type="checkbox"] + label:hover{
    color: #F37E00;
}
.shinko_contact .form_table dl dd .check_wrap input[type="checkbox"]:checked + label:after,
.shinko_contact .form_table dl dd .check_wrap input[type="checkbox"] + label:hover:after{
    border: 1px solid #F37E00 !important;
}
.shinko_contact .btn_wrap button{
    display: block;
    width: 34%;
    min-width: 200px;
    margin: 3rem auto 0;
    background-color: #726864;
    padding: 2rem 0;
    text-align: center;
    position: relative;
    z-index: 1;
    border: none;
}
.shinko_contact .btn_wrap button.back{
    background-color: #999;
}
.shinko_contact .btn_wrap button span{
    font-size: 1.6rem;
    color: #fff;
}
.shinko_contact .btn_wrap button:hover{
    outline: 0.15rem solid #726864;
}
.shinko_contact .btn_wrap button:hover span{
    color: #726864 !important;
}
.shinko_contact .btn_wrap button:after{
    position: absolute;
    content: "";
    width: 0;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
    background: #fff;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    outline: 0px solid #00aba6;
}
.shinko_contact .btn_wrap button:hover:after{
    width: 100%;
}
.shinko_contact .confirm_btn_wrap {
    margin-top: 50px;
    display: flex;
}
.shinko_contact .viewed_consider {
    margin-bottom: 20px;
    display: flex;
}
.shinko_contact .viewed_consider_title {
    width: 150px;
}
.shinko_contact .privacy_policy{
    font-size: 1.5rem;
}
.shinko_contact .privacy_policy h3{
    margin-bottom: 1em;
}
.shinko_contact .policy_link{}
.shinko_contact .policy_link li{
     margin-bottom: 1em;
}
.shinko_contact .policy_link a{
    color: #a20100 !important;
}
.shinko_contact .policy_link .ex_link:after{
    content: "";
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    background: url(/img/icon_exlink.svg) center / contain no-repeat;
    margin-left: .5rem;
}

.shinko_contact .child_space{
    display: flex;
    margin-top: 10px;
    gap: 1em;
}
.shinko_contact .child_space_radio{
    display: flex;
    flex: 1;
}
.shinko_contact .child_space_radio > .check_wrap{
    width: 20%;
    min-width: 75px;
}

.shinko_contact .form_table dl dd select.form-error,
.shinko_contact .form_table dl dd input[type=text].form-error,
.shinko_contact .form_table dl dd input[type=number].form-error,
.shinko_contact .form_table dl dd input[type=email].form-error,
.shinko_contact .form_table dl dd textarea.form-error{
    border-color: #a20100 !important;
}


@media screen and (max-width: 750px){
    html{
        font-size: 1.3vw;
    }
    /* お問い合わせ */
    .inquiry{
        width: 100%;
        margin: 0;
        max-width: initial;
        padding-top: 46px;
    }
    .inquiry h2{
        font-size: 3.6rem;
    }
    .inquiry .form_table dl{
        display: block;
    }
    .inquiry .form_table dl + dl{
        margin-bottom: 30px;
        margin-top: 30px;
    }
    .inquiry .form_table dl dt {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .inquiry .form_table dl dt,
    .inquiry .form_table dl dd{
        width: 100%;
        min-height: unset;
        padding: 0;
    }
    .inquiry .form_table dl dt{
        margin-bottom: 1rem;
        font-size: 2.4rem;
        padding: 0;
    }
    .inquiry .form_table dl dt p{
        padding: 0;
        position: static;
        display: inline;
        transform: unset;
        font-size: 15px;
    }
    .inquiry .form_table dl dt .require,
    .inquiry .form_table dl dt .require:after{
        position: static;
        display: inline-block;
        transform: unset;
    }
    .inquiry .form_table dl dd .flex > *{
        min-width: 80px;
    }
    .inquiry .form_table dl dd select,
    .inquiry .form_table dl dd input[type=text],
    .inquiry .form_table dl dd input[type=number],
    .inquiry .form_table dl dd input[type=email]{
        background: #fff;
        color: #000;
        outline: none;
        font-size: 13px;
        padding: 12px;
    }
    .inquiry .form_table dl dd.confirm{
        font-size: 150%;
        padding: 1rem;
    }
    .inquiry .confirm_btn_wrap {
        margin-top: 50px;
        display: block;
    }
    .inquiry .viewed_consider {
        display: block;
    }
    .inquiry .form_table dl dd .check_wrap input[type="checkbox"] + label{
        font-size: 13px;
        padding: 0 0 0 26px;
    }
    .inquiry .privacy_policy h3,
    .inquiry .privacy_policy{
        font-size: 2.2rem;
    }
    .inquiry .form_table dl dd div.check_group p{
        font-size: 2.4rem;
    }
    .inquiry .btn_wrap button span{
        font-size: 13px;
    }
    .inquiry .form_table dl dd div.check_wrap{
        gap: 1rem 2rem;
    }
    .inquiry .form_table dl dd div.check_wrap > div{
        width: 100%;
    }

    .inquiry .child_space{
        margin-top: 20px;
    }
    .inquiry .child_space_radio > .check_wrap{
        width: 30%;
        min-width: 70px;
    }




    /* SHINKO お問い合わせ */
    .shinko_contact{
        width: 100%;
        padding: 21rem 3% 5rem;
    }
    .shinko_contact h2{
        font-size: 3.6rem;
    }
    .shinko_contact .form_table dl{
        display: block;
    }
    .shinko_contact .form_table dl + dl{
        margin-top: 3.5rem;
    }
    .shinko_contact .form_table dl dt,
    .shinko_contact .form_table dl dd{
        width: 100%;
        min-height: unset;
        padding: 0;
    }
    .shinko_contact .form_table dl dt{
        margin-bottom: 1rem;
        font-size: 2.4rem;
        padding: .75rem;
    }
    .shinko_contact .form_table dl dt p{
        padding: 0;
        position: static;
        display: inline;
        transform: unset;
    }
    .shinko_contact .form_table dl dt .require,
    .shinko_contact .form_table dl dt .require:after{
        position: static;
        display: inline-block;
        transform: unset;
    }
    .shinko_contact .form_table dl dt .require:after{
        font-size: 2.1rem;
    }
    .shinko_contact .form_table dl dd .flex > *{
        min-width: 80px;
    }
    .shinko_contact .form_table dl dd select,
    .shinko_contact .form_table dl dd input[type=text],
    .shinko_contact .form_table dl dd input[type=number],
    .shinko_contact .form_table dl dd input[type=email]{
        background: #fff;
        color: #000;
        outline: none;
        font-size: 16px;
        padding: 1rem;
    }
    .shinko_contact .form_table dl dd.confirm{
        font-size: 150%;
        padding: 1rem;
    }
    .shinko_contact .confirm_btn_wrap {
        margin-top: 50px;
        display: block;
    }
    .shinko_contact .viewed_consider {
        display: block;
    }
    .shinko_contact .form_table dl dd .check_wrap input[type="checkbox"] + label{
        font-size: 2.4rem;
        padding: 0 0 0 26px;
    }
    .shinko_contact .privacy_policy h3,
    .shinko_contact .privacy_policy{
        font-size: 2.2rem;
    }
    .shinko_contact .form_table dl dd div.check_group p{
        font-size: 2.4rem;
    }
    .shinko_contact .btn_wrap button span{
        font-size: 2.6rem;
    }
    .shinko_contact .form_table dl dd div.check_wrap{
        gap: 1rem 2rem;
    }
    .shinko_contact .form_table dl dd div.check_wrap > div{
        width: 100%;
    }

    .shinko_contact .child_space{
        margin-top: 20px;
    }
    .shinko_contact .child_space_radio > .check_wrap{
        width: 30%;
        min-width: 70px;
    }
}

/* 追加CSS */
.cp_formContact {
  width: clamp(24rem, 30.7692307692vw, 200rem);
  margin: 0 auto clamp(3.6rem, 4.6153846154vw, 30rem);
}
.cp_formContact__titleEn {
  font-family: "Montserrat", "Noto Sans JP", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: max(0.96rem, clamp(0.72rem, 0.9230769231vw, 6rem));
  color: #0064ff;
  margin-bottom: clamp(0.48rem, 0.6153846154vw, 4rem);
}
.cp_formContact__title {
  font-size: max(1.6rem, clamp(1.2rem, 1.5384615385vw, 10rem));
  font-weight: 700;
  margin-bottom: clamp(0.6rem, 0.7692307692vw, 5rem);
}
.cp_formContact__contents {
  line-height: 1.6;
}
.cp_formContact__tel {
  margin-top: clamp(0.72rem, 0.9230769231vw, 6rem);
  font-size: max(1.92rem, clamp(1.44rem, 1.8461538462vw, 12rem));
}
.thanks-btn-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(3rem, 3.8461538462vw, 25rem);
  margin-bottom: clamp(3rem, 3.8461538462vw, 25rem);
  gap: 0 clamp(1.2rem, 1.5384615385vw, 10rem);
}
.inquiry.confirm .btn_wrap button.back{
  border-color: #666;
  color: #666;
  padding: 0 calc(22/1440*100vw) 0 calc(48/1440*100vw);
}
.inquiry.confirm .btn_wrap button.back:hover span{
  color: #666 !important;
}
.inquiry.confirm .btn_wrap button.back::before {
  background-color: #ccc;
}
.inquiry.confirm .btn_wrap button.back::after {
  background-image: url(../img/icon_arrow_gray.svg);
  transform: translateY(-50%) rotate(180deg);
  left: calc(20/1440*100vw);
}
.inquiry.confirm .btn_wrap button.back:hover::after {
  transition: background-image 0.3s ease-in-out;
}
.thanks_br {
  display: block;
}
.cp_pageHead {
  background: linear-gradient(to left, #0864F4 0%, #074AA6 100%);
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 20px;
  color: #fff;
}
.cp_pageHead__contents {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding-top: clamp(11.16rem, 14.3076923077vw, 93rem);
  padding-bottom: clamp(2.76rem, 3.5384615385vw, 23rem);
  padding-left: clamp(1.8rem, 2.3076923077vw, 15rem);
  padding-right: clamp(1.8rem, 2.3076923077vw, 15rem);
}
.cp_pageHead__titles {
  position: relative;
  z-index: 2;
}
.cp_pageHead__en {
  margin-bottom: clamp(1.2rem, 1.5384615385vw, 10rem);
  font-family: "Montserrat", "Noto Sans JP", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: max(0.96rem, clamp(0.72rem, 0.9230769231vw, 6rem));
  letter-spacing: clamp(0.03rem, 0.0384615385vw, 0.25rem);
  display: flex;
  align-items: center;
}
.cp_pageHead__title {
  font-size: max(6.72rem, clamp(5.04rem, 6.4615384615vw, 42rem));
  font-weight: 700;
}
.cp_pageHead--contact .cp_pageHead__contents::after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 0;
  background-color: #fff;
  width: 100%;
  height: 0.6px;
}
.pr_shinkoContactPageHead {
  text-align: center;
  margin-bottom: clamp(1.8rem, 2.3076923077vw, 15rem);
}
.pr_shinkoContactPageHead__en {
  color: #014992;
  margin-bottom: clamp(1.2rem, 1.5384615385vw, 10rem);
  font-family: "Montserrat", "Noto Sans JP", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: max(1.12rem, clamp(0.84rem, 1.0769230769vw, 7rem));
  letter-spacing: clamp(0.03rem, 0.0384615385vw, 0.25rem);
}
.pr_shinkoContactPageHead__title {
  font-size: max(3.2rem, clamp(2.4rem, 3.0769230769vw, 20rem));
  display: inline-flex;
  font-weight: 700;
  background: linear-gradient(to right, #014992 0%, #000 30%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.cp_formLead {
  margin-bottom: clamp(4.08rem, 5.2307692308vw, 34rem);
}
.cp_formLead > p {
  font-size: 16px;
}
.txt_center {
  text-align: center;
}
body[data-header-theme=auto][data-header-elevated="1"] .ly_header .cp_headerContainer {
  background: #f0f0f0;
}
@media screen and (max-width: 750px) {
  .cp_formContact {
    width: 100%;
  }
  .cp_formContact {
    width: 100%;
  }
  .cp_formContact {
    max-width: 600px;
    margin-bottom: 36px;
  }
  .cp_formContact__contents {
    font-size: 13px;
  }
  .cp_formContact__titleEn {
    font-family: "Montserrat", "Noto Sans JP", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 10px;
    color: #0064ff;
    margin-bottom: 5px;
  }
  .cp_formContact__title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 6px;
  }
  .cp_formContact__contents {
    line-height: 1.6;
  }
  .cp_formContact__tel {
    margin-top: 7.2px;
    font-size: 19px;
  }
  .inquiry.thanks .thanks-btn-wrap {
    margin: 30px 0;
  }
  .inquiry.thanks .thanks-btn-wrap .btn {
    border-radius: 22px;
    min-width: 180px;
    padding: 0 20px;
    height: 44px;
    font-size: 13px;
  }
  .inquiry.thanks .thanks-btn-wrap .btn::after {
    right: 10px;
    width: 20px;
    height: 20px;
  }
  .thanks_br {
    display: none;
  }
  .inquiry.confirm .form_table dl dt p {
    font-size: 15px;
    color: #000;
  }
  .inquiry .form_table dl dd.confirm {
    font-size: 13px;
    color: #000;
    padding: 8px 0;
  }
  .inquiry.confirm .btn_wrap button.back {
    padding: 0 32px;
  }
  .inquiry.confirm .confirm_btn_wrap {
    display: flex;
    gap: 12px;
  }
  .cp_pageHead__contents {
    padding-top: 116px;
    flex-direction: column;
    justify-content: start;
    align-items: start;
    padding-left: 0;
  }
  .cp_pageHead--contact .cp_pageHead__contents {
    padding-bottom: 10px;
  }
  .cp_pageHead__titles {
    margin-bottom: 56px;
  }
  .cp_pageHead__en {
    font-size: 12px;
    margin-bottom: 12px;
    letter-spacing: normal;
  }
  .cp_pageHead__title {
    font-size: 50px;
  }
  .pr_shinkoContactPageHead__en {
    font-size: 12px;
    margin-bottom: 4px;
    letter-spacing: normal;
  }
  .pr_shinkoContactPageHead__title {
    font-size: 31px;
  }
  .cp_formLead {
    margin-bottom: 40px;
  }
  .cp_formLead > p {
    font-size: 13px;
  }
}
