/*
Theme Name: Borderless
Text Domain: Borderless
Version: 1.0
Author: FINDCOLOR.ex
Author URI: https://fc-ex.co.jp/
*/
div#breadcrumbs {
  margin: 50px auto 30px;
}


*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}

:root {
  --main-text: #222;
  --color-blue: #036eb8;/*(3,110,184,1)*/
  --color-red: #e50012;/*(229,0,18,1)*/
  --color-blue2: #edf6ff;
  --color-red2: #ffedec;
  --color-red3: #fdcecc;
  --color-yellow: #ffe500;
  --color-green: #22a127;
  --color-green2: #0F9635;/*(15,150,53,1) ssw green*/
  --link-text: #222;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("./fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("./fonts/NotoSansJP-Medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans JP";
  src: url("./fonts/NotoSansJP-Bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "LINESeedJP";
  src: url("./fonts/LINESeedJP_OTF_Bd.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "LINESeedJP";
  src: url("./fonts/LINESeedJP_OTF_Eb.woff2") format("woff2");
  font-weight: 950;
  font-display: swap;
}

@font-face {
  font-family: "LINESeedJP";
  src: url("/.fonts/LINESeedJP_OTF_Rg.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "LINESeedJP";
  src: url("./fonts/LINESeedJP_OTF_Th.woff2") format("woff2");
  font-weight: 100;
  font-display: swap;
}

html {
  scroll-padding-top: 80px;
  font-size: 62.5%;
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 60px;
  }
}

body,h1,h2,h3,h4,h5,h6,
p,th,td,dt,dd,li {
  font-size: 1.6rem;
  font-family: "Helvetica Neue",
    Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: var(--main-text);
}
@media screen and (max-width: 1024px) {
  body,h1,h2,h3,h4,h5,h6,
  p,th,td,dt,dd,li {
    font-size: 1.4rem;
  }
}
/*@media screen and (max-width: 519px) {
  body,h1,h2,h3,h4,h5,h6,
  p,th,td,dt,dd,li {
    font-size: 1.4rem;
  }
}*/

h1,h2,h3,h4,h5,h6,
dt,th,b,strong {
  font-weight: 700;
}

body {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
  overflow-x: clip;
}

main {
  flex: 1;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
i {
  font-style: normal;
}
::placeholder {
  color: #c9c8c8;
}

a,
a:link,
a:visited {
  color: var(--link-text);
  text-decoration: none;
}

@media (hover: hover) {

  /* リンクの場合 */
  a:any-link:hover {
    opacity: .7;
    color: var(--color-blue);
  }

  /* ボタンの場合 */
  button:enabled:hover {
    opacity: .7;
    color: var(--color-blue);
  }

  /* 特定できない場合 
  .button:where(:any-link, :enabled, summary):hover {}*/
}

input[type=text],
input[type=email],
input[type=password],
input[type=tel] {
  padding: .25em .5em;
}

button {
  border: none;
  cursor: pointer;
}

.ucase {
  text-transform: uppercase;
}

.blgrad {
  background: linear-gradient(to right, var(--color-blue) 0%, var(--color-red) 100%);
}

.blgrad2 {
  background: linear-gradient(to right, #ffffff 0%, #ffffff 20%, var(--color-red) 100%);
}

.blgrad,
.blgrad2 {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: "Noto Sans JP";
}

.home .wrapper {
  margin: 0 auto;
  /*width: min(1512px, 100%);*/
	width:100%;
}

.pagetop {
  position: fixed;
  display: none;
  right: 5%;
  bottom: 10%;
  padding: 0;
  width: 60px;
  height: 60px;
  transition: .15s ease-in-out;
  z-index: 2;
  text-align: center;
  border: 1px solid #000;
  border-radius: 50%;
  background: #fff;
	font-size: 1.2rem;
}

.pagetop a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
}

main p {
  line-height: 2.1;
}
@media screen and (max-width: 1024px) {
  main p {
    line-height: 1.5;
  }
}
/*@media screen and (max-width: 519px) {
  main p {
    line-height: 1.5;
  }
}*/

.w3em {
  display: inline-block;
	width: 3em;
  text-align-last: justify;
}

/**
  header
**/
header {
  position: sticky;
  top: 0;
  margin: 0 calc(50% - 50vw);
  z-index: calc(infinity);
  background: #fff;
}
header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  width: min(1100px, 100%);
  height: 80px;
}
header .logo {
  width: 255px;
  height: 50px;
}

header nav {
  margin-left: auto;
}


header #menu-home,
header #menu-biz {
  display: flex;
}
header #menu-home li,
header #menu-biz li {
  height: 80px;
  font-weight: 700;
  line-height: 1.4;
	padding:0 11px;
}
header #menu-home li:first-child,
header #menu-home li:nth-of-type(3) {
  /*width: 160px;*/
}
header #menu-home li:nth-of-type(2) {
  /*width: 160px;*/
}
header #menu-home li:last-child {
  /*width: 100px;*/
}


header #menu-biz li:first-child,
header #menu-biz li:nth-of-type(2) {
  /*width: 105px;*/
}
header #menu-biz li:nth-of-type(3) {
  /*width: 120px;*/
}
header #menu-biz li:nth-of-type(4) {
  /*width: 140px;*/
}
/*header #menu-biz li.register,
header #menu-biz li.login,*/
header #menu-biz li:nth-last-child(2),
header #menu-biz li:last-child {
  width: 80px;
}
/*header #menu-biz li.register,*/
header #menu-biz li:nth-last-child(2) {
  background: var(--color-red);
}
/*header #menu-biz li.login,*/
header #menu-biz li:last-child {
  background: var(--color-blue);
}
header #menu-home li a,
header #menu-biz li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
}
/*header #menu-biz li.register a,
header #menu-biz li.login a,*/
header #menu-biz li:nth-last-child(2) a,
header #menu-biz li:last-child a {
  color: #fff;
}


header #menu-global {
  display: flex;
}

header #menu-global > li {
  position: relative;
}
/*header #menu-global > li:first-child {
  display: none;
}*/

header #menu-global li a,
header #menu-home li a,
header #menu-biz li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  font-weight: 500;
	font-size: 1.4rem;
}
header #menu-global > li:not(:last-child) a {
  padding: 0 22px;
}
/*header #menu-global > li:nth-of-type(4) a {
  padding-right: 44px;
}*/
header #menu-global > li:last-child a {
  width: 80px;
  color: #fff;
  background: var(--color-blue);
}

header #menu-global li.menu-item-has-children ul {
  position: absolute;
  visibility: hidden;
  transition: all .3s ease;
  -webkit-transition: 0.3s all ease;
  -moz-transition: 0.3s all ease;
  -o-transition: 0.3s all ease;
  opacity: 0;
  left: 50%;
/*  translate: -50%;*/
  transform: translateX(-50%);
  width: 180px;
}

header #menu-global li.menu-item-has-children:hover ul {
  visibility: visible;
  opacity: 1;
  z-index: 2;
}

header #menu-global li.menu-item-has-children:hover ul li {
  margin: 0;
}

header #menu-global li.menu-item-has-children:hover ul li:not(:last-child) {
  border-bottom: 1px solid #fff;
}

header #menu-global li ul li a {
  height: 60px;
}
header #menu-global li.menu-item-has-children:hover ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  background: #000;
  color: #fff;
}

header #menu-global li.menu-item-has-children:hover ul li a:hover {
  opacity: 1;
  color: var(--color-blue);
}

.drawerBtn {
  display: none;
}


@media screen and (max-width: 1200px) {
  header {
    margin: 0 auto;
  }
  header .logo {
    margin-left: 10px;
  }
}

@media screen and (max-width: 1099px) {
  .drawerBtn {
    display: block;
  }

  .drawerBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    z-index: 10;
    cursor: pointer;
    background: var(--color-blue);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .drawerBtn > div {
    width: 40px;
    height: auto;
  }

  .drawerBtn span {
    display: block;
    width: 100%;
    height: 2px;
    background: #fff;
    transition: .3s;
    border-radius: 2px;
  }

  .drawerBtn span + span {
    margin-top: 14px;
  }

  .drawerBtn.on span:nth-of-type(1) {
    transform: rotate(135deg) translate(6px, -6px);
    transform: rotate(135deg) translate(12px, -9px);
  }

  .drawerBtn.on span:nth-of-type(2) {
    opacity: 0;
  }

  .drawerBtn.on span:nth-of-type(3) {
    transform: rotate(-135deg) translate(6.5px, 6px);
    transform: rotate(-135deg) translate(13px, 12px);
  }

  .menu-global-container,
  .menu-home-container,
  .menu-biz-container {
    position: fixed;
    display: block;
    visibility: hidden;
    width: 300px;
    height: 100%;
    top: 80px;
    right: 0;
    z-index: 10;
    background: #e0e0e0;
    background: #fff;
    transition: all .3s;
    transform: translateX(300px);
  }

  .menu-global-container.on,
  .menu-home-container.on,
  .menu-biz-container.on {
    visibility: visible;
    transition: all .3s;
    transform: translateX(0);
    z-index: 11;
  }

  .menu-global-container #menu-global,
  .menu-home-container #menu-home,
  .menu-biz-container #menu-biz {
    display: block;
    width: 100%;
    height: unset;
  }

  header #menu-global li:first-child {
    display: block;
    width: unset;
  }
  header #menu-global > li:last-child a {
    width: 100%;
  }

  .menu-global-container #menu-global li,
  .menu-global-container #menu-global li a,
  .menu-home-container #menu-home li:first-child,
  .menu-home-container #menu-home li:nth-of-type(2),
  .menu-home-container #menu-home li:nth-of-type(3),
  .menu-home-container #menu-home li:last-child,
  .menu-home-container #menu-home li a,
  .menu-biz-container #menu-biz li a {
    display: flex;
    align-items: center;
    width: 100%;
    height: 50px;
  }

  .menu-global-container #menu-global li.on {
    display: block;
    height: unset;
  }

  .overlay {
    display: none;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    height: calc(100vh + 100px);
    position: absolute;
    top: -100px;
    z-index: 9;
  }

  .menu-global-container.on + .overlay,
  .menu-home-container.on + .overlay,
  .menu-biz-container.on + .overlay {
    display: block;
    animation: show 0.2s linear 0s;
  }

  .menu-global-container #menu-global a,
  .menu-home-container #menu-home a/*,
  .menu-biz-container #menu-biz a*/ {
    display: block;
/*    margin: .2em 0;*/
    width: 100%;
  }
  .menu-global-container #menu-global > li a,
  .menu-home-container #menu-home > li a,
  .menu-biz-container #menu-biz > li a {
    border-bottom: 1px solid rgba(0,0,0,.1);
  }
  .menu-global-container #menu-global > li.on a:not([href]),
  .menu-home-container #menu-home > li.on a:not([href]),
  .menu-biz-container #menu-biz > li.on a:not([href]) {
    border: none;
  }

  .menu-global-container #menu-global .menu-item-has-children.on .sub-menu,
  .menu-global-container #menu-global .menu-item-has-children.on .sub-menu:hover {
    position: relative;
    display: block;
    top: unset;
    width: 100%;
    background: none;
/*    transform: unset;*/
    text-align: left;
    visibility: visible;
    opacity: 1;
  }

  header #menu-global li.menu-item-has-children.on ul li a {
    background: #fcfcfc;
    color: var(--main-text);
    height: 50px;
/*    border-bottom: 1px solid rgba(0, 0, 0, .1);*/
    background: rgba(0,0,0,.1);
  }

/*  header #menu-global li.menu-item-has-children:hover ul li:first-child a {
    border-top: 1px solid rgba(0, 0, 0, .1);
  }*/

  .menu-global-container #menu-global .menu-item-has-children.on .sub-menu li.menu-item-has-children {
    position: relative;
  }

  li.menu-item-has-children::before,
  li.menu-item-has-children::after {
    display: block;
    position: absolute;
    background: var(--main-text);
    content: '';
    width: 15px;
    height: 1px;
    top: 10px;
    top: 22px;
    right: 10px;
    right: 15px;
  }

  li.menu-item-has-children::after {
    transform: translateY(-50%) rotate(90deg);
    transition: all .3s;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
  }

  li.menu-item-has-children.on::after {
    transform: translateY(-50%) rotate(0deg) !important;
  }

  li.menu-item-has-children ul {
    display: none;
    width: 330px;
    background: #ff9696;
    transition: all .3s;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
  }

  li.menu-item-has-children.on ul {
    display: block;
    transition: all .3s;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    -o-transition: all .3s;
  }

  .menu-global-container #menu-global li:not(.menu-item-has-children),
  li.menu-item-has-children.on li,
  .menu-home-container #menu-home li,
  .menu-biz-container #menu-biz li {
    position: relative;
  }

  header .menu-biz-container #menu-biz li {
    width: 100%;
    height: 50px;
  }

  .menu-global-container #menu-global li:not(.menu-item-has-children)::after,
  li.menu-item-has-children.on li::after,
  .menu-home-container #menu-home li::after,
  .menu-biz-container #menu-biz li::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 26px;
    right: 25px;
    width: 9px;
    height: 9px;
    border-top: solid 1px var(--main-text);
    border-right: solid 1px var(--main-text);
    transform: rotate(45deg) translateY(-50%);
    pointer-events: none;
  }

}
@media screen and (max-width: 767px) {
  header,
  header .inner {
    height: 60px;
  }
  header .inner {
    align-items: start;
  }
  header .logo {
    margin-top: 10px;
    width: 180px;
    height: 40px;
  }
  header #menu-global li a {
    height: 60px;
  }
  header #menu-global > li:not(:last-child) a {
    padding: 0;
  }

  .menu-global-container,
  .menu-home-container,
  .menu-biz-container {
    top: 60px;
  }
  

  .drawerBtn {
    width: 60px;
    height: 60px;
  }

  .drawerBtn span + span {
    margin-top: 7px;
  }

  .drawerBtn > div {
    width: 27px;
  }

  .drawerBtn.on span:nth-of-type(1) {
    transform: rotate(135deg) translate(6px, -6px);
  }

  .drawerBtn.on span:nth-of-type(3) {
    transform: rotate(-135deg) translate(6.5px, 6px);
  }
}

/**
  汎用、共用の可能性があるもの
*/
.tb,
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .tb {
    display: block;
  }
}
@media screen and  (max-width: 599px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  [class^="sec_"] .inner {
    padding: 0 15px;
  }
}


form .required {
  display: inline-block;
  margin-right: 10px;
  padding: 2px 10px 0;
  font-size: 1.1rem;
  text-align: center;
  color: #fff;
  background: var(--color-red);
}

.tbl_basic {
  border-collapse: collapse;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  margin: 0 auto;
  width: min(1000px, 96%);
}

.tbl_basic tr th {
  width: 220px;
  background: #f0f0f0;
  text-align: left;
  font-weight: 500;
}

.tbl_basic tr th,
.tbl_basic tr td {
  padding: 15px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  vertical-align: top;
}
@media screen and (max-width: 599px) {
  .tbl_basic tr th,
  .tbl_basic tr td {
    display: block;
    width: 100%;
  }
}


/* ▼ 汎用会社概要テーブル ▼*/
.sec_company {
  padding-top: 90px;
}
.sec_company h2 {
  margin-bottom: 45px;
}
.sec_company table {
  /*margin: 50px auto 0;*/
  margin: 0 auto;
  border-collapse: collapse;
  width: min(800px, 100%);
}
.sec_company table tr th,
.sec_company table tr td {
  /*padding: 1em 0;*/
  padding: 1.4em 0;
  background: #fff;
}
.sec_company table tr:nth-of-type(2n) th,
.sec_company table tr:nth-of-type(2n) td {
  background: #f5f5f5;
}
.sec_company table caption span {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 100%;
  height: 100px;
}
.sec_company table tr th {
  width: 300px;
  padding-left: 120px;
  text-align: left;
  font-weight: 500;
}
.sec_company table td {
  padding-right: 1em;
  width: auto;
}
.sec_company table td ul {
  margin-top: 4px;
}
.sec_company table td ul li {
  list-style: disc;
  margin-left: 1.5em;
}
.sec_company th,
.sec_company td,
.sec_company table td ul li {
  font-size: 1.4rem;
}
.sec_company table td a {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .sec_company table tr th {
    padding-left: unset;
    width: 25%;
    text-align: center;
  }
}
@media screen and (max-width: 539px) {
  .sec_company {
    padding-top: 0;
  }
  .sec_company table tr th {
    padding-left: .5em;
    text-align: left;
  }
}
/* ▲ 汎用会社概要テーブル ▲*/


/* ▼ 仮登録 ▼ */
.modal-window {
  display: none;
  position: fixed;
  top: 50%;
  top: 120px;
  left: 50%;
  transform: translate(-50%, -50%);
  transform: translateX(-50%);
  border: 3px solid var(--color-blue);
  border-radius: 20px;
  width: min(730px, 96%);
  height: 80vh;
  max-height: 860px;
  background-color: #fff;
  z-index: 11;
  z-index: calc(infinity);

  overflow-y: scroll;

  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal-window::-webkit-scrollbar {
  display: none;
}

.modal-inner {
  margin: 0 auto;
  padding-top: 32px;
  width: min(474px, 96%);
}

.modal-window h5 {
  margin: 0 0 22px;
  font-size: 3.2rem;
  color: var(--color-blue);
  text-align: center;
}

.modal-window th,
.modal-window td,
.modal-window p,
.modal-window h6 {
  font-size: 1.4rem;
  font-weight: 400;
}

.modal-window table {
  margin-bottom: 40px;
}

.modal-window table th {
  width: 147px;
  text-align: left;
}

.modal-window table th span {
  display: inline-block;
}

.modal-window table th,
.modal-window table td {
  padding: 10px 0;
}

.modal-window table td {
  width: 330px;
}

.modal-window table td input {
  width: 100%;
  border: 1px solid #000;
}

.modal-window h6 {
  margin-bottom: 10px;
  text-align: center;
}

.modal-window .rules {
  margin-bottom: 25px;
  padding: 0 .25em;
  border: 1px solid rgba(0, 0, 0, .1);
  height: 140px;
  overflow-y: scroll;
}

.modal-window .rules p {
  margin: .5em 0;
  line-height: 2;
}

.modal-window .agreement {
  margin: 25px 0 35px;
  text-align: center;
}

.modal-window .submit button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 36px auto;
  width: 280px;
  height: 72px;
  font-size: 3rem;
  background-color: var(--color-red);
  color: #fff;
  border-radius: 30px;
  cursor: pointer;
}

.modal-window .modal-close {
  padding-bottom: 32px;
  text-align: center;
}

.button-close {
  border-radius: 3px;
  line-height: 1.5;
}

#overlay.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  z-index: 10;
  z-index: calc(infinity);
}

/* ▲ 仮登録 ▲ */

/* ▼ 検索ページ遷移用 ▼ */
.modal-window2 {
  display: none;
  position: fixed;
  top: 50%;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  width: fit-content;
  z-index: calc(infinity);
}
.modal-window2 h5 {
  margin: 0 0 100px;
  font-size: 4rem;
  color: var(--color-yellow);
  text-align: center;
}
.modal-window2 ul {
  display: flex;
  justify-content: center;
  column-gap: 50px;
  margin: 0 auto;
  width: min(850px, 96%);
}
.modal-window2 ul li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  width: 250px;
  height: 250px;
  font-size: 3.2rem;
  font-weight: 700;
  background: #fff;
}
.modal-window2 ul li:first-child a {
  border: 5px solid var(--color-red);
}
.modal-window2 ul li a span:first-child {
  font-size: 4rem;
}
.modal-window2 ul li:first-child a span:first-child {
  color: var(--color-red);
}
.modal-window2 ul li:nth-of-type(2) a {
  border: 5px solid var(--color-blue);
}
.modal-window2 ul li:nth-of-type(2) a span:first-child {
  color: var(--color-blue);
}
.modal-window2 ul li:nth-of-type(3) a {
  border: 5px solid var(--color-green2);
}
.modal-window2 ul li:nth-of-type(3) a span:first-child {
  color: var(--color-green2);
}
.modal-window2 .modal-close2 {
  padding-bottom: 32px;
  text-align: center;
}
.button-close2 {
  border-radius: 3px;
  line-height: 1.5;
}
#overlay2.overlay2 {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 100%;
  z-index: 10;
  z-index: calc(infinity);
}

@media screen and (max-width: 849px) {
  .modal-window2 ul li a {
    width: calc(100vw / 4);
    height: calc(100vw / 4);
    font-size: 2.4rem;
  }
  .modal-window2 ul li a span:first-child {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .modal-window2 h5 {
    margin-bottom: 2em;
    font-size: 3rem;
  }
  .modal-window2 ul {
    gap: 20px;
  }
  .modal-window2 ul li a {
    font-size: 2rem;
  }
  .modal-window2 ul li a span:first-child {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 519px) {
  .modal-window2 {
    top: 5%;
  }
  .modal-window2 h5 {
    font-size: 2.4rem;
  }
  .modal-window2 ul {
    flex-wrap: wrap;
    gap: 10px 20px;
    width: 100vw;
  }
  .modal-window2 ul li a {
    width: 160px;
    height: 160px;
  }
}
/* ▲ 検索ページ遷移用 ▲ */

main {
  padding-bottom: 100px;
}


/*
  Footer
*/
footer {
  position: relative;
  padding-bottom: 100px;
  width: 100%;
  text-align: center;
  font-weight: 500;
  color: #fff;
  background: var(--color-blue);
}
.home footer {
  padding-bottom: 0;
}
.page-id-158 footer,
.parent-pageid-158 footer,
.archive footer,
.single footer {
  padding-bottom: 0;
}

footer small {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
}

footer .for_wide {
  position: fixed;
  display: flex;
  align-items: center;
  bottom: 0;
  width: 100%;
  height: 100px;
  background: rgba(3, 2, 2, 1);
}

footer .for_wide ul {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
  flex-wrap: wrap;
  margin: 0 auto;
}
footer .for_wide li:nth-of-type(3) {
  width: 190px;
  cursor: unset;
}
footer .for_wide li {
  width: min(320px, 30%);
  width: 250px;
  cursor: pointer;
}

footer .for_narrow {
  display: none;
}
footer .for_narrow p {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  color: var(--color-yellow);
  font-weight: 700;
  background: var(--main-text);
}
footer .for_narrow ul {
  display: flex;
  width: 100vw;
}
footer .for_narrow li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% / 3);
  min-height: 60px;
}
footer .for_narrow li:first-child {
  background: var(--color-red);
}
footer .for_narrow li:nth-of-type(2) {
  background: #00b900;
}
footer .for_narrow li:nth-of-type(3) {
  background: var(--color-blue);
}
footer .for_narrow li a img {
  display: inline-block;
  margin: auto;
  max-height: 60px;
}

@media screen and (max-width: 999px) {
  footer {
    padding-bottom: 70px;
  }
  footer .for_wide {
    height: 70px;
  }
  footer .for_wide li:nth-of-type(3),
  footer .for_wide li {
    width: calc(100vw / 5);
  }
}
@media not all and (min-resolution:.001dpcm) and (max-width: 999px) {
  @supports (not (translate: none)) {
    footer .for_wide ul li {
      margin-right: 10px;

    }
  }
}

@media screen and (max-width: 519px) {
  footer {
    padding-bottom: 84px;
  }
  footer .for_wide {
    display: none;
  }
  footer .for_narrow {
    display: block;
    position: fixed;
    bottom: 0;
  }
}


#home .sec_register {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), rgba(205, 236, 250, 0.5) calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), rgba(205, 236, 250, 0.5) calc(100% - 1px));
  background-size: 25px 25px;
  background-repeat: repeat;
  background-position: center center;
}

body.error404 {
  display: flex;
  flex-flow: column;
  min-height: 100vh;
}
body.error404 .wrapper {
  flex: 1;
}
.error404 .sec_404 {
  margin: 100px auto 0;
  width: min(760px, 96%);
}

.style03 {
  margin-bottom: 25px;
  padding-left: 15px;
  border-left: 5px solid var(--color-blue);
  font-weight: 500;
  line-height: 1.3;
}

/*
.sec_gdp
*/


.sec_gdp {
  margin-left: calc(50% - 50vw);
  width: 100vw;
  background: #002f4f;
}
.sec_gdp .inner {
  padding-top: 100px;
  padding-bottom: 115px;
}
.sec_gdp h3 {
  margin-bottom: 32px;
  font-size: 2.4rem;
  color: #fff;
  text-align: center;
}
.sec_gdp .message {
  margin-bottom: 28px;
  text-align: center;
}
.sec_gdp .message p {
  color: #fff;
  font-weight: 700;
  line-height: calc(50 / 30);
}
.sec_gdp .message p:first-of-type {
  font-size: 3rem;
}
.sec_gdp .message p:nth-of-type(2) {
  font-size: 4rem;
}
.sec_gdp .message p:nth-of-type(2) span {
  font-size: 5rem;
}
.sec_gdp .message p:nth-of-type(2) span:nth-of-type(3) {
  color: #ffc900;
}
.sec_gdp .message p:nth-of-type(2) span span {
  font-size: 4rem;
}
.sec_gdp dl {
  margin: 0 auto 50px;
  width: min(680px, 100%);
}
.sec_gdp dl dt {
  color: #ffc900;
  line-height: calc(50 / 30);
  background: url('./images/common/icon_caution.png') no-repeat left center;
  background-size: 40px 35px;
}
.sec_gdp dl dt:first-of-type {
  font-size: 3rem;
}
.sec_gdp dl dt:nth-of-type(2) {
  font-size: 2.6rem;
}
.sec_gdp dl dt,
.sec_gdp dl dd {
  padding-left: 55px;
}
.sec_gdp dl dd {
  color: #fff;
  font-size: 1.8rem;
  line-height: 2;
}
.sec_gdp dl dd:not(:last-of-type) {
  margin-bottom: 35px;
}
.sec_gdp .btn a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  border-radius: 10px;
  width: min(480px, 100%);
  height: 90px;
  background: #daae00;
  line-height: 1.2;
}
.sec_gdp .btn a span {
  display: block;
  color: #fff;
}
.sec_gdp .btn a span:first-of-type {
  font-size: 2.4rem;
}

@media screen and (max-width: 1024px) {

}

@media screen and (max-width: 767px) {
  .sec_gdp .message p:first-of-type,
  .sec_gdp .message p:nth-of-type(2),
  .sec_gdp dl dt:first-of-type,
  .sec_gdp dl dt:nth-of-type(2),
  .sec_gdp .message p:nth-of-type(2) span span {
    font-size: 2.4rem;
  }
  .sec_gdp .message p:nth-of-type(2) span {
    font-size: 3rem;
  }
  .sec_gdp .message p:nth-of-type(2) span:nth-of-type(3) {
    display: inline-block;
  }

  .sec_gdp dl dt {
    background-size: 24px 21px;
    background-position: left .4em;
  }
  .sec_gdp dl dt,
  .sec_gdp dl dd {
    padding-left: 32px;
	  font-size: 1.4rem;
  }
}

@media screen and (max-width: 599px) {
  .sec_gdp .message p:nth-of-type(2) span {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 519px) {
  /*.sec_gdp dl dt,*/
  .sec_gdp dl dt:first-of-type,
  .sec_gdp dl dt:nth-of-type(2) {
    /*font-size: 1.8rem;*/
    font-size: 1.6rem;
    background-size: 20px 18px;
    background-position: left .35em;
  }
  .sec_gdp dl dd {
    /*font-size: 1.6rem;*/
    font-size: unset;
  }
}
