@charset "UTF-8";

@layer {
  html {
    box-sizing: border-box;
    overflow-y: scroll;
    text-size-adjust: 100%
  }

  *,
  :before,
  :after {
    background-repeat: no-repeat;
    box-sizing: inherit
  }

  :before,
  :after {
    text-decoration: inherit;
    vertical-align: inherit
  }

  * {
    padding: 0;
    margin: 0;
    box-sizing: border-box
  }

  article,
  aside,
  footer,
  header,
  main,
  nav,
  section {
    display: block
  }

  [hidden],
  template {
    display: none
  }

  a {
    background-color: transparent;
    text-decoration-skip: objects
  }

  a:active,
  a:hover {
    outline-width: 0
  }

  code {
    font-family: monospace, monospace
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: 400
  }

  li {
    list-style: none
  }

  table,
  table th,
  table td {
    border-spacing: 0
  }

  input {
    border-radius: 0
  }

  button,
  [type=button],
  [type=reset],
  [type=submit] {
    cursor: pointer
  }

  [disabled] {
    cursor: default
  }

  [type=number] {
    width: auto
  }

  textarea {
    overflow: auto;
    resize: vertical
  }

  button,
  input,
  optgroup,
  select,
  textarea {
    font: inherit
  }

  optgroup {
    font-weight: 700
  }

  button {
    overflow: visible
  }

  button::-moz-focus-inner,
  [type=button]::-moz-focus-inner,
  [type=reset]::-moz-focus-inner,
  [type=submit]::-moz-focus-inner {
    border-style: 0;
    padding: 0
  }

  button:-moz-focusring,
  [type=button]::-moz-focus-inner,
  [type=reset]::-moz-focus-inner,
  [type=submit]::-moz-focus-inner {
    outline: 1px dotted ButtonText
  }

  button,
  html[type=button],
  [type=reset],
  [type=submit] {
    appearance: button
  }

  button,
  select {
    text-transform: none
  }

  button,
  input,
  select,
  textarea {
    background-color: transparent;
    border-style: none;
    color: inherit
  }

  select {
    appearance: none
  }

  select::-ms-expand {
    display: none
  }

  select::-ms-value {
    color: currentcolor
  }

  legend {
    border: 0;
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
  }

  ::-webkit-file-upload-button {
    appearance: button;
    font: inherit
  }

  img {
    border-style: none
  }

  progress {
    vertical-align: baseline
  }

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

  progress {
    display: inline-block
  }

  @media screen {
    [hidden~=screen] {
      display: inherit
    }

    [hidden~=screen]:not(:active, :focus, :target) {
      position: absolute !important;
      clip: rect(0 0 0 0) !important
    }
  }

  ::selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
  }
}

:root {
  scroll-behavior: smooth
}

html:has(dialog[open]) {
  overflow: hidden
}

body {
  font-family: Noto Sans JP, sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  color: #1a1a1a;
  background-color: #fff
}

body {
  font-size: clamp(.8rem, .4rem + .8vw, 1rem)
}

@media screen and (max-width:767px) {
  body {
    font-size: 14px
  }
}

a {
  color: inherit;
  text-decoration: none
}

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

h1 {
  font-size: clamp(1.875rem, 1.625rem + .5vw, 2rem)
}

@media screen and (max-width:767px) {
  h1 {
    font-size: 30px
  }
}

h2 {
  font-size: clamp(1.5rem, .75rem + 1.5vw, 1.875rem)
}

@media screen and (max-width:767px) {
  h2 {
    font-size: 24px
  }
}

h3 {
  font-size: clamp(1.5rem, 1.25rem + .5vw, 1.625rem)
}

@media screen and (max-width:767px) {
  h3 {
    font-size: 22px
  }
}

h4 {
  font-size: clamp(1.2rem, .6rem + 1.2vw, 1.5rem)
}

@media screen and (max-width:767px) {
  h4 {
    font-size: 20px
  }
}

h5 {
  font-size: clamp(1.1rem, .55rem + 1.1vw, 1.375rem)
}

@media screen and (max-width:767px) {
  h5 {
    font-size: 18px
  }
}

h6 {
  font-size: clamp(1rem, .5rem + 1vw, 1.25rem)
}

@media screen and (max-width:767px) {
  h6 {
    font-size: 16px
  }
}

p {
  line-height: 1.8
}

p {
  font-size: clamp(.8rem, .4rem + .8vw, 1rem)
}

@media screen and (max-width:767px) {
  p {
    font-size: 14px
  }
}

textarea,
input[type=text],
input[type=tel],
input[type=url],
input[type=email],
input[type=date],
input[type=number],
input[type=password],
input[type=file] {
  padding: .5em;
  width: 100%;
  border: 1px solid #dadada;
  background-color: #fff
}

textarea {
  min-height: 10em
}

::placeholder {
  color: #dadada
}

.ly_wrap {
  position: relative
}

.ly_wrap.__main {
  background: url(../../images/contact/bg_body_top.svg) no-repeat top center, url(../../images/contact/bg_body_btm.svg) no-repeat bottom center;
  background-size: contain, contain
}

@media screen and (max-width:767px) {
  .ly_wrap.__main {
    background: none
  }
}

.ly_wrap.__contact {
  background: url(../../images/contact/bg_body_btm.svg) no-repeat bottom center;
  background-size: contain, contain
}

@media screen and (max-width:767px) {
  .ly_wrap.__contact {
    background: none
  }
}

.ly_main {
  width: 100%
}

.ly_gHead {
  overflow: hidden;
  background-color: #60bbff21
}

.ly_gFoot {
  overflow: hidden;
  padding: 2em 0;
  width: auto;
  background-color: #60bbff21
}

.ly_gFoot_inner {
  position: relative;
  margin-inline: auto;
  padding: 1em 0;
  width: min(92%, 1200px)
}

.ly_gFoot_inner.__border {
  border-bottom: 1px solid #dadada
}

.ly_pageScroll {
  position: fixed;
  right: 2vw;
  bottom: 0;
  z-index: 1;
  opacity: 0;
  transform: translate(0 100px)
}

@media screen and (max-width:767px) {
  .ly_pageScroll {
    display: none
  }
}

.ly_pageScroll a {
  display: block;
  width: min(15vw, 2em);
  transition: all .3s
}

.ly_pageScroll a:hover {
  opacity: .7
}

.ly_pageScroll.is_show {
  animation: scrollTopShow .5s forwards
}

.ly_pageScroll.is_hide {
  animation: scrollTopHide .5s forwards
}

.ly_ctn {
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  padding: min(8vw, 6em) 0
}

.ly_ctn:first-child {
  padding-top: min(6vw, 4em)
}

.ly_ctn.__blue {
  background-color: #eaf6ff
}

.ly_ctn_inner {
  margin: 0 auto;
  padding: 0;
  width: min(92%, 1000px)
}

.el_btn_common {
  display: block;
  padding: .8em 2em;
  width: min(100%, 300px);
  text-align: center;
  font-weight: 600;
  color: #fff;
  border-radius: 10em;
  background-color: #262c4d;
  border: 2px solid #262C4D
}

.el_btn_common {
  font-size: clamp(1rem, .5rem + 1vw, 1.25rem)
}

@media screen and (max-width:767px) {
  .el_btn_common {
    font-size: 16px
  }
}

.el_btn_common {
  position: relative;
  z-index: 0;
  transition: background-color .5s, width .3s;
  overflow: hidden
}

.el_btn_common:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 0;
  height: 100%;
  background-color: #fff;
  transition: all .3s
}

.el_btn_common:hover {
  color: #262c4d;
  background-color: #fff
}

.el_btn_common:hover:after {
  width: 100%
}

.el_btn_close {
  display: block;
  padding: .8em 2em;
  width: min(100%, 300px);
  text-align: center;
  font-weight: 600;
  color: #1a1a1a;
  border-radius: 10em;
  background-color: #dadada;
  border: 2px solid #a3a3a3
}

.el_btn_close {
  font-size: clamp(1rem, .5rem + 1vw, 1.25rem)
}

@media screen and (max-width:767px) {
  .el_btn_close {
    font-size: 16px
  }
}

.el_btn_close {
  position: relative;
  z-index: 0;
  transition: background-color .5s, width .3s;
  overflow: hidden
}

.el_btn_close:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 0;
  height: 100%;
  background-color: #fff;
  transition: all .3s
}

.el_btn_close:hover {
  color: #262c4d;
  background-color: #fff
}

.el_btn_close:hover:after {
  width: 100%
}

.el_btn_cta {
  display: flex;
  justify-content: center;
  gap: .5em;
  padding: .8em 2em;
  width: min(100%, 600px);
  font-weight: 600;
  color: #1a1a1a;
  border-radius: 10em;
  background-color: #ff7736;
  border: 2px solid #FF7736
}

.el_btn_cta {
  font-size: clamp(1rem, .5rem + 1vw, 1.25rem)
}

@media screen and (max-width:767px) {
  .el_btn_cta {
    font-size: 16px
  }
}

.el_btn_cta {
  position: relative;
  z-index: 0;
  transition: background-color .5s, width .3s;
  overflow: hidden
}

.el_btn_cta:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 0;
  height: 100%;
  background-color: #fff;
  transition: all .3s
}

.el_btn_cta:hover {
  color: #262c4d;
  background-color: #fff
}

.el_btn_cta:hover:after {
  width: 100%
}

@media screen and (max-width:767px) {
  .el_btn_cta {
    flex-direction: column;
    align-items: center;
    gap: 0
  }
}

.el_btn_sideR {
  padding: 1em;
  font-weight: 600;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  border-radius: .8em 0 0 .8em;
  background-color: #ff7736;
  border: 2px solid #FF7736;
  border-right: unset
}

.el_btn_sideR {
  font-size: clamp(1rem, .5rem + 1vw, 1.25rem)
}

@media screen and (max-width:767px) {
  .el_btn_sideR {
    font-size: 16px
  }
}

.el_btn_sideR {
  position: relative;
  z-index: 0;
  transition: background-color .5s, width .3s;
  overflow: hidden
}

.el_btn_sideR:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: block;
  width: 0;
  height: 100%;
  background-color: #fff;
  transition: all .3s
}

.el_btn_sideR:hover {
  color: #262c4d;
  background-color: #fff
}

.el_btn_sideR:hover:after {
  width: 100%
}

.el_btn_skip {
  display: none;
  padding: .5em 0;
  text-align: center;
  text-decoration: underline
}

.el_txt_link {
  color: #1a1a1a;
  font-weight: 500;
  text-decoration: underline
}

.el_txt_link:hover {
  text-decoration: none
}

.el_txt_en {
  font-family: Roboto, sans-serif
}

.el_txt_bold600 {
  font-weight: 600
}

.el_txt_bold700 {
  font-weight: 700
}

.el_txt_center {
  text-align: center
}

.el_txt_s {
  font-size: clamp(.7rem, .35rem + .7vw, .875rem)
}

@media screen and (max-width:767px) {
  .el_txt_s {
    font-size: 12px
  }
}

.el_list_icn>li {
  position: relative;
  margin-bottom: .3em;
  padding-left: 1em;
  line-height: 1.6
}

.el_list_icn>li:before {
  content: "●";
  position: absolute;
  top: 1.6em;
  left: 0;
  font-size: .4em;
  color: #1a1a1a;
  transform: rotate(90deg)
}

.el_list_icn li li {
  position: relative;
  padding-left: 1em
}

.el_list_icn li li>ul,
.el_list_icn li li>ol {
  margin-top: .5em
}

.el_list_icn li:last-of-type {
  margin-bottom: 0
}

.el_list_deci>li {
  margin-bottom: .5em;
  list-style: decimal
}

.el_list_deci li {
  position: relative;
  margin-left: 1.5em
}

.el_list_deci li:last-of-type {
  margin-bottom: 0
}

.el_list_deci li>ul,
.el_list_deci li>ol {
  margin-top: .5em
}

.el_ttl_main {
  padding: 1em 1em 0;
  text-align: center;
  font-weight: 600
}

.el_ttl_main {
  font-size: clamp(1rem, .5rem + 1vw, 1.25rem)
}

@media screen and (max-width:767px) {
  .el_ttl_main {
    font-size: 16px
  }
}

.el_ttl_section {
  margin-bottom: 1em;
  font-weight: 600;
  text-align: center
}

.el_ttl_section {
  font-size: clamp(1.5rem, .75rem + 1.5vw, 1.875rem)
}

@media screen and (max-width:767px) {
  .el_ttl_section {
    font-size: 24px
  }
}

.el_ttl_section_icn {
  display: block;
  text-align: center
}

.el_ttl_lead {
  margin: min(3vw, 2em) 0;
  font-size: 1.1em;
  text-align: center
}

.ut_mt05 {
  margin-top: .5em !important
}

.ut_mt10 {
  margin-top: 1em !important
}

.ut_mt_thin {
  margin-top: min(3vw, 2em)
}

.ut_inlineBlock {
  display: inline-block
}

.ut_block {
  display: block
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fadeOut {
  0% {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes shrink-v {
  0% {
    height: 0
  }

  50% {
    height: 100%
  }

  to {
    height: 0%
  }
}

@keyframes shrink-h {
  0% {
    width: 0
  }

  50% {
    width: 100%
  }

  to {
    width: 0%
  }
}

@keyframes modal_open {
  0% {
    opacity: 0;
    width: 0;
    height: 0
  }

  1% {
    opacity: 0;
    width: 100%;
    height: 100vh
  }

  to {
    opacity: 1;
    width: 100%;
    height: 100vh
  }
}

@keyframes modal_close {
  0% {
    opacity: 1;
    width: 100%;
    height: 100vh
  }

  99% {
    opacity: 0;
    width: 100%;
    height: 100vh
  }

  to {
    opacity: 0;
    width: 0;
    height: 0
  }
}

@keyframes loadingbar {

  0%,
  40%,
  to {
    transform: scaleY(.4)
  }

  20% {
    transform: scaleY(1)
  }
}

@keyframes scrollTopShow {
  0% {
    opacity: 0;
    translate: 0 10vw
  }

  to {
    opacity: 1;
    translate: 0 0
  }
}

@keyframes scrollTopHide {
  0% {
    opacity: 1;
    translate: 0 0
  }

  to {
    opacity: 0;
    translate: 0 10vw
  }
}

@keyframes trigger-icon {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(-90deg);
    top: 35%;
    right: 27%
  }
}

@keyframes trigger-line-top {
  0% {
    top: 10%;
    opacity: 1
  }

  to {
    top: 45%;
    opacity: 0
  }
}

@keyframes trigger-line-mid {
  0% {
    top: 45%;
    opacity: 1
  }

  to {
    top: 10%;
    opacity: 0
  }
}

@keyframes trigger-line-btm {
  0% {
    top: 80%;
    opacity: 1
  }

  to {
    top: 10%;
    opacity: 0
  }
}

.bl_gFoot {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center
}

@media screen and (max-width:767px) {
  .bl_gFoot {
    display: block
  }
}

.bl_gFoot_nav {
  display: flex;
  justify-content: flex-end;
  border-right: 1px solid #a3a3a3
}

@media screen and (max-width:767px) {
  .bl_gFoot_nav {
    flex-direction: column;
    border-right: unset
  }

  .bl_gFoot_nav>li {
    position: relative;
    margin-bottom: .3em;
    padding-left: 1em;
    line-height: 1.6
  }

  .bl_gFoot_nav>li:before {
    content: "●";
    position: absolute;
    top: 1.6em;
    left: 0;
    font-size: .4em;
    color: #1a1a1a;
    transform: rotate(90deg)
  }

  .bl_gFoot_nav li li {
    position: relative;
    padding-left: 1em
  }

  .bl_gFoot_nav li li>ul,
  .bl_gFoot_nav li li>ol {
    margin-top: .5em
  }

  .bl_gFoot_nav li:last-of-type {
    margin-bottom: 0
  }
}

.bl_gFoot_nav>li {
  padding: 0 1.5em;
  border-left: 1px solid #a3a3a3
}

.bl_gFoot_nav>li {
  font-size: clamp(.7rem, .35rem + .7vw, .875rem)
}

@media screen and (max-width:767px) {
  .bl_gFoot_nav>li {
    font-size: 12px
  }
}

@media screen and (max-width:767px) {
  .bl_gFoot_nav>li {
    margin: .5em 0;
    padding: 0 0 0 1em;
    border-left: unset
  }
}

.bl_gFoot_nav>li a:hover {
  text-decoration: underline
}

.bl_gFootLinks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2em;
  width: 80%
}

.bl_gFootLinks a {
  transition: all .3s
}

.bl_gFootLinks a:hover {
  opacity: .6
}

@media screen and (max-width:767px) {
  .bl_gFootLinks {
    grid-template-columns: 1fr;
    width: 75%
  }
}

.bl_gFootPrivacy {
  position: absolute;
  right: 0;
  transform: translateY(-100px)
}

@media screen and (max-width:767px) {
  .bl_gFootPrivacy {
    width: min(25vmin, 80px);
    transform: translateY(-80px)
  }
}