@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

/*--------------------------------------------------------------------------
 *   default;
 *---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
 *	 html, body;
 *---------------------------------------------------------------------------*/
html, body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-family: "Noto Sans JP", Avenir, 'Helvetica neue', Helvetica, '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  color: #2D2D2D;
  background: #fff;
  width: 100%;
  min-width: 1240px;
  height: 100%;
  line-height: 1.4;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%; }

/*
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){
  body {
    font-size: 75%;
  }
}
*/
/*--------------------------------------------------------------------------
 *	 elements;
 *---------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0; }

li {
  list-style-type: none; }

ol, ul {
  margin: 0;
  padding: 0; }

a {
  cursor: pointer; }

a:hover {
  opacity: 0.8; }

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

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }

.sp {
  display: none !important; }

@-webkit-keyframes gnaviAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes gnaviAnime {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.c-headerMenuSp__bg {
  position: fixed;
  z-index: 3;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #4694D1;
  -webkit-transform: scale(0);
          transform: scale(0);
  right: -50px;
  top: -50px;
  -webkit-transition: all .6s;
  transition: all .6s; }
  .c-headerMenuSp__bg.is-active {
    -webkit-transform: scale(50);
            transform: scale(50); }

.c-headerMenuSp__button {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 9999;
  /*ボタンを最前面に*/
  cursor: pointer;
  width: 50px;
  height: 50px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 50%; }
  .c-headerMenuSp__button span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #2D2D2D;
    width: 45%; }
    .c-headerMenuSp__button span:nth-of-type(1) {
      top: 15px; }
    .c-headerMenuSp__button span:nth-of-type(2) {
      top: 23px; }
    .c-headerMenuSp__button span:nth-of-type(3) {
      top: 31px; }
  .c-headerMenuSp__button.is-active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    -webkit-transform: translateY(6px) rotate(-45deg);
            transform: translateY(6px) rotate(-45deg);
    width: 30%; }
  .c-headerMenuSp__button.is-active span:nth-of-type(2) {
    opacity: 0; }
  .c-headerMenuSp__button.is-active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    -webkit-transform: translateY(-6px) rotate(45deg);
            transform: translateY(-6px) rotate(45deg);
    width: 30%; }

.c-headerMenuSp__list {
  opacity: 0;
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.c-headerMenuSp__listItem {
  text-align: center;
  list-style: none; }
  .c-headerMenuSp__listItem a {
    color: #ffffff;
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold; }

.c-headerMenuSp__nav.is-active {
  position: fixed;
  z-index: 999;
  top: 0;
  width: 100%;
  height: 100vh; }
  .c-headerMenuSp__nav.is-active .c-headerMenuSp__list {
    opacity: 1; }
  .c-headerMenuSp__nav.is-active .c-headerMenuSp__listItem {
    -webkit-animation-name: gnaviAnime;
            animation-name: gnaviAnime;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-delay: .2s;
            animation-delay: .2s;
    /*0.2 秒遅らせて出現*/
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    opacity: 0; }

.c-footerTitle {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  color: #ffffff;
  margin-bottom: 16px; }
  .c-footerTitle__ja {
    font-size: 32px;
    font-weight: bold;
    margin-right: 16px; }
  .c-footerTitle__en {
    font-weight: bold; }

.c-footerText {
  color: #ffffff;
  width: 570px;
  line-height: 32px; }
  .c-footerText__large {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 8px;
    color: #ffffff; }

.c-footerCard {
  padding: 48px;
  background: #ffffff;
  border-radius: 20px; }
  .c-footerCard__wrap {
    display: -webkit-box;
    display: flex; }
  .c-footerCard__logo {
    margin-right: 64px; }
  .c-footerCard__list {
    display: -webkit-box;
    display: flex;
    border-left: solid 1px #C4C4C4;
    margin-bottom: 70px; }
  .c-footerCard__listItem {
    padding: 0 24px;
    border-right: solid 1px #C4C4C4; }
    .c-footerCard__listItem a {
      text-decoration: none;
      color: #2D2D2D; }
  .c-footerCard__text {
    font-size: 20px;
    font-weight: bold; }
  .c-footerCard__address {
    line-height: 26px; }

.c-footerEntry {
  margin-top: 32px; }

.c-footerCopy {
  font-size: 14px;
  color: #ffffff;
  text-align: center;
  padding: 16px 0; }

@media screen and (max-width: 768px) {
  html, body {
    min-width: 320px !important;
    font-size: 16px; }
  .sp {
    display: block !important; }
  .pc {
    display: none !important; }
  .c-footerTitle {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    color: #ffffff;
    margin-bottom: 16px; }
    .c-footerTitle__ja {
      font-size: 32px;
      font-weight: bold;
      margin-right: 16px; }
    .c-footerTitle__en {
      font-weight: bold; }
  .c-footerText {
    width: 100%;
    margin-bottom: 64px; }
    .c-footerText__large {
      margin-bottom: 24px;
      line-height: 40px; }
  .c-footerEntry {
    display: block;
    margin: 0 auto; }
  .c-footerCard {
    padding: 24px 0;
    background: #ffffff;
    border-radius: 20px; }
    .c-footerCard__wrap {
      display: block; }
    .c-footerCard__logo {
      display: block;
      margin: 0 auto 24px; }
    .c-footerCard__list {
      display: block;
      border-left: none;
      border-top: solid 1px #C4C4C4;
      margin-bottom: 16px;
      font-size: 14px;
      text-align: center; }
    .c-footerCard__listItem {
      padding: 12px 0;
      border-right: none;
      border-bottom: solid 1px #C4C4C4; }
    .c-footerCard__text {
      font-size: 20px;
      font-weight: bold;
      padding: 0 14px;
      box-sizing: border-box; }
    .c-footerCard__address {
      padding: 0 14px;
      box-sizing: border-box; } }

/* layout
-----------------------------------------------------------------*/
.l-wrapper {
  max-width: 1440px;
  margin: 0 auto; }

.l-wrapperUnder {
  margin: 80px auto; }
  .l-wrapperUnder__mb16 {
    margin-bottom: 16px; }
  .l-wrapperUnder__mb32 {
    margin-bottom: 32px; }
  .l-wrapperUnder__mb48 {
    margin-bottom: 48px; }
  .l-wrapperUnder__mb64 {
    margin-bottom: 64px; }

.l-inner {
  max-width: 1000px;
  margin: 0 auto; }

.l-innerSmall {
  max-width: 800px;
  margin: 0 auto; }

.l-footer {
  background: #4694D1;
  padding: 64px 0 0; }
  .l-footer.is-ptSmall {
    padding: 32px 0 0; }
  .l-footer__wrap {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
            align-items: flex-start;
    margin-bottom: 64px; }
  .l-footer__inner {
    width: 1000px;
    margin: 0 auto; }

@media screen and (max-width: 768px) {
  .l-wrapper {
    width: 100%; }
  .l-inner {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box; }
  .l-innerSmall {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 20px; }
  .l-footer {
    background: #4694D1;
    padding: 40px 0 0 0; }
    .l-footer__wrap {
      display: block;
      margin-bottom: 64px; }
    .l-footer__inner {
      width: 100%;
      padding: 0 20px;
      box-sizing: border-box;
      margin: 0 auto; } }

.p-topCommonTitle {
  margin: 80px 0 24px; }
  .p-topCommonTitle__jp {
    font-size: 32px;
    font-weight: bold; }
  .p-topCommonTitle__en {
    font-weight: normal;
    font-family: Helvetica; }

.p-topCommonCard {
  padding: 32px 48px 48px 48px;
  background: #FFFFFF;
  max-width: 444px;
  box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
  line-height: 32px; }
  .p-topCommonCard__content {
    margin-bottom: 16px; }
  .p-topCommonCard__button {
    font-weight: bold;
    display: block;
    padding: 16px 0 0 66px;
    position: relative;
    text-decoration: none;
    color: #2D2D2D; }
    .p-topCommonCard__button:before {
      content: '';
      position: absolute;
      left: 0;
      bottom: 10px;
      display: inline-block;
      width: 40px;
      height: 1px;
      background-color: #C4C4C4; }

.p-topHeader {
  width: 100%;
  height: 540px;
  background: url("../img/top/mv_bg_pc.png") no-repeat;
  background-size: cover;
  position: relative;
  margin-bottom: 40px; }
  .p-topHeader__image {
    width: 100%; }

.p-topKv__item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); }

.p-topHeaderNav {
  background: #fff;
  display: -webkit-box;
  display: flex;
  margin: 0 auto;
  width: 1000px;
  border-radius: 0 0 20px 20px;
  overflow: hidden; }
  .p-topHeaderNav__logoWrap {
    padding: 16px 40px;
    border-right: solid 1px #E6E6E6; }
  .p-topHeaderNav__list {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center; }
  .p-topHeaderNav__listItem {
    text-align: center;
    width: 185px;
    font-weight: bold;
    border-right: solid 1px #E6E6E6; }
    .p-topHeaderNav__listItem:last-child {
      border: none; }
      .p-topHeaderNav__listItem:last-child a {
        border-radius: 0 0 20px 0; }
    .p-topHeaderNav__listItem a {
      width: 100%;
      padding: 33px 0;
      color: #2D2D2D;
      text-decoration: none;
      display: block; }
      .p-topHeaderNav__listItem a:hover {
        background: #EBF5FA;
        color: #4694D1; }

.p-topSec01 {
  margin-bottom: 80px; }
  .p-topSec01__bg {
    background: url("../img/top/sec_01_bg_pc.png") no-repeat right top;
    background-size: 464px 510px; }
  .p-topSec01__title {
    font-size: 40px;
    font-weight: bold;
    font-family: Helvetica;
    margin: 40px 0;
    padding-top: 40px; }
  .p-topSec01__content {
    width: 640px;
    margin-left: 40px; }
  .p-topSec01__subTitle {
    font-size: 32px;
    font-weight: bold;
    padding-bottom: 64px;
    position: relative; }
    .p-topSec01__subTitle:after {
      content: '';
      position: absolute;
      left: 0;
      bottom: 32px;
      display: inline-block;
      width: 180px;
      /*線の長さ*/
      height: 4px;
      /*線の太さ*/
      background-color: #EBF5FA;
      /*線の色*/ }
  .p-topSec01__text {
    line-height: 32px; }

.p-topSec02 {
  margin-bottom: 80px; }
  .p-topSec02__bg {
    background: url("../img/top/sec_02_bg_pc.png") no-repeat left top;
    background-size: cover;
    padding: 80px 0 160px; }

.p-topSec03 {
  margin-bottom: 80px; }
  .p-topSec03__bg {
    background: url("../img/top/sec_03_bg_pc.png") no-repeat right top;
    background-size: cover;
    padding: 80px 0 160px; }
  .p-topSec03 .p-topCommonTitle {
    text-align: right; }
  .p-topSec03 .p-topCommonCard {
    margin-left: auto; }

@media screen and (max-width: 768px) {
  .p-topKvSp__item {
    width: 100%; }
  .p-topSec01 {
    margin-bottom: 0; }
    .p-topSec01__bg {
      background: url("../img/top/sec_01_bg_pc.png") no-repeat right 114%;
      background-size: 90%;
      height: 100%;
      padding-bottom: 88%; }
    .p-topSec01__title {
      margin: 40px 0 24px; }
    .p-topSec01__content {
      width: 100%;
      margin-left: 0; }
  .p-topSec02 {
    margin-bottom: 16px; }
    .p-topSec02__bg {
      background: url("../img/top/sec_02_bg_sp.png") no-repeat center top;
      background-size: contain;
      padding: 43% 0 0; }
  .p-topSec03 {
    margin-bottom: 80px; }
    .p-topSec03__bg {
      background: url("../img/top/sec_03_bg_sp.png") no-repeat center top;
      background-size: contain;
      padding: 43% 0 0; }
    .p-topSec03 .p-topCommonTitle {
      text-align: left; }
    .p-topSec03 .p-topCommonCard {
      margin-left: 0; } }

.p-underHeaderNav {
  background: #fff;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  overflow: hidden; }
  .p-underHeaderNav__logoWrap {
    padding: 16px 40px; }
  .p-underHeaderNav__list {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    border-left: solid 1px #E6E6E6; }
  .p-underHeaderNav__listItem {
    text-align: center;
    width: 185px;
    font-weight: bold;
    border-right: solid 1px #E6E6E6; }
    .p-underHeaderNav__listItem.is-active a {
      background: #EBF5FA;
      color: #4694D1; }
    .p-underHeaderNav__listItem:last-child {
      border: none; }
      .p-underHeaderNav__listItem:last-child a {
        border-radius: 0 0 20px 0; }
    .p-underHeaderNav__listItem a {
      width: 100%;
      padding: 33px 0;
      color: #2D2D2D;
      text-decoration: none;
      display: block; }
      .p-underHeaderNav__listItem a:hover {
        background: #EBF5FA;
        color: #4694D1; }

.p-underPageTitle {
  background: #4694D1;
  color: #ffffff;
  padding: 80px 0; }
  .p-underPageTitle__item {
    text-align: center;
    font-size: 40px;
    font-weight: bold; }

.p-underCatchCopy__title {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px; }

.p-underCatchCopy__description {
  text-align: center;
  line-height: 32px; }

.p-underTitle__item {
  text-align: center;
  font-size: 40px;
  font-weight: bold; }

.p-underTitleBorder__item {
  font-size: 32px;
  font-weight: bold;
  display: inline-block;
  padding-bottom: 8px;
  margin-bottom: 58PX;
  border-bottom: solid 4px #EBF5FA; }

.p-underTitleBg {
  margin-bottom: 16px; }
  .p-underTitleBg__item {
    font-size: 24px;
    font-weight: bold;
    background: #EBF5FA;
    padding: 16px;
    border-radius: 8px; }

.p-card {
  padding: 48px 64px;
  border: solid 1px #C4C4C4;
  border-radius: 20px; }

.p-image {
  display: block;
  margin: 0 auto; }
  .p-image.is-mt {
    margin-top: 48px; }

.p-definition__title {
  font-weight: bold;
  margin-bottom: 16px; }

.p-definition__list {
  margin-bottom: 48px; }
  .p-definition__list:last-child {
    margin-bottom: 0; }

.p-definition__wrap {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  padding: 8px 0;
  border-bottom: solid 1px #C4C4C4; }

.p-table {
  width: 100%;
  border-top: solid 1px #C4C4C4; }
  .p-table.is-bNone {
    border-top: none; }
  .p-table.is-small {
    max-width: 768px;
    margin: 0 auto; }
  .p-table__tr {
    border-bottom: solid 1px #C4C4C4; }
  .p-table__th {
    text-align: left;
    padding-right: 16px;
    font-weight: bold; }
  .p-table__td {
    padding: 16px; }

.p-map {
  width: 100%;
  margin-top: 48px; }
  .p-map iframe {
    width: 100%; }

.p-tel {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  margin: 0 0 24px;
  -webkit-box-pack: center;
          justify-content: center; }
  .p-tel__en {
    font-size: 20px;
    font-weight: bold;
    margin-right: 16px; }
  .p-tel__ja {
    font-size: 48px;
    font-weight: bold; }

.p-info {
  background: #F5F5F5;
  padding: 24px;
  box-sizing: border-box;
  text-align: center; }
  .p-info__title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 12px; }

@media screen and (max-width: 768px) {
  .p-image {
    width: 100%; }
  .p-card {
    padding: 32px 16px;
    border: solid 1px #C4C4C4;
    border-radius: 20px; }
  .p-definition__list {
    margin-bottom: 48px; }
    .p-definition__list:last-child {
      margin-bottom: 0; }
  .p-definition__wrap {
    display: block; }
  .p-definition__term {
    margin-bottom: 8px; }
  .p-tel__en {
    font-size: 14px; }
  .p-tel__ja {
    font-size: 32px; } }
