@charset "UTF-8";
/*
@mixin mPc { 
	@media screen and (min-width: 961px) and (max-width: 1280px){
		@content;
	}	
}
*/
/* ----------------------------------------
	.loading
---------------------------------------- */
.loading {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #FFFFFF; }
  .loading .loading_img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .loading .loading_img img {
      width: 15vw;
      height: auto;
      -webkit-animation: rotation 10s ease-in-out infinite;
      -moz-animation: rotation 10s ease-in-out infinite;
      -o-animation: rotation 10s ease-in-out infinite;
      animation: rotation 10s ease-in-out infinite; }
@keyframes rotation {
  10% {
    transform: scale(1.5); } }
/* ----------------------------------------
	#content
---------------------------------------- */
#content {
  margin-top: 0px !important; }

h2.homeTitle {
  font-weight: 700;
  line-height: 1.0;
  color: #3f3530;
  text-align: center;
  margin-bottom: 30px;
  font-size: 2.0rem; }
  @media screen and (min-width: 768px) {
    h2.homeTitle {
      font-size: 3.0rem;
      margin-bottom: 65px; } }

h3.subtitle {
  margin-bottom: 30px;
  font-size: 2.0rem;
  font-weight: 600; }
  @media screen and (min-width: 961px) {
    h3.subtitle {
      font-size: 3.0rem; } }

/* ----------------------------------------
	#visualHome
---------------------------------------- */
#visualHome {
  position: relative;
  margin-top: 60px;
  background: url("../images/home/visual_bg.png?1") repeat-x bottom;
  height: 350px; }
  @media screen and (min-width: 481px) and (max-width: 767px) {
    #visualHome {
      height: 450px;
      margin-top: 60px; } }
  @media screen and (min-width: 768px) and (max-width: 960px) {
    #visualHome {
      height: 550px;
      margin-top: 60px; } }
  @media screen and (min-width: 961px) and (max-width: 1280px) {
    #visualHome {
      height: 550px;
      margin-top: 120px; } }
  @media screen and (min-width: 1281px) and (max-width: 1500px) {
    #visualHome {
      height: 640px;
      margin-top: 120px; } }
  @media screen and (min-width: 1501px) {
    #visualHome {
      height: 690px;
      margin-top: 120px; } }
  #visualHome .inner {
    width: 100%; }
    @media screen and (max-width: 960px) {
      #visualHome .inner {
        background: url("../images/home/visual_main_sp.png") right bottom no-repeat; } }
    @media screen and (max-width: 480px) {
      #visualHome .inner {
        background-size: 400px;
        background-position: 100% 30%;
        height: 100%;
        padding: 20px 5%; } }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #visualHome .inner {
        background-size: 100%;
        background-position: 100% 70%;
        height: 100%;
        padding: 8% 5% 0 5% !important; } }
    @media screen and (min-width: 768px) and (max-width: 960px) {
      #visualHome .inner {
        background-size: 85%;
        height: 100%;
        padding: 12% 5% 0 5% !important; } }
    @media screen and (min-width: 961px) and (max-width: 1280px) {
      #visualHome .inner {
        background: url("../images/home/visual_main_pc.png") right bottom no-repeat;
        background-size: auto 100%;
        height: 100%;
        padding: 8% 5% 0 5%; } }
    @media screen and (min-width: 1281px) {
      #visualHome .inner {
        padding: 80px 30px;
        max-width: 1280px;
        margin: 0px auto; } }
  #visualHome .visual_main {
    position: absolute;
    right: 0px;
    bottom: 0px; }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #visualHome .visual_main {
        height: 450px; } }
    @media screen and (min-width: 768px) and (max-width: 960px) {
      #visualHome .visual_main {
        height: 550px; } }
    @media screen and (min-width: 961px) and (max-width: 1280px) {
      #visualHome .visual_main {
        height: 550px; } }
    @media screen and (min-width: 1281px) and (max-width: 1500px) {
      #visualHome .visual_main {
        height: 640px; } }
    @media screen and (min-width: 1501px) {
      #visualHome .visual_main {
        height: 690px; } }
    #visualHome .visual_main img {
      height: 100%; }
    @media screen and (max-width: 1280px) {
      #visualHome .visual_main {
        display: none; } }
  #visualHome .corner {
    position: absolute;
    right: 0px;
    bottom: 0px; }
    @media screen and (max-width: 480px) {
      #visualHome .corner {
        width: 180px; } }
    @media screen and (min-width: 1281px) {
      #visualHome .corner {
        width: 240px; } }
  #visualHome #visual_ol {
    background: url("../images/home/visual_line.png?2") left;
    background-size: cover;
    height: inherit; }
  #visualHome .catch {
    color: #3eb3e7;
    font-size: 1.6rem;
    font-weight: 800;
    margin-bottom: 10px; }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #visualHome .catch {
        font-size: 2.0rem;
        margin-bottom: 20px; } }
    @media screen and (min-width: 768px) and (max-width: 1280px) {
      #visualHome .catch {
        font-size: 2.8vw; } }
    @media screen and (min-width: 1281px) {
      #visualHome .catch {
        font-size: 3.4rem; } }
  #visualHome h2.main {
    color: #171714;
    font-size: 2.0rem;
    font-weight: 700;
    margin-bottom: 30px; }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #visualHome h2.main {
        font-size: 4.0vw; } }
    @media screen and (min-width: 768px) and (max-width: 960px) {
      #visualHome h2.main {
        font-size: 3.5vw; } }
    @media screen and (min-width: 961px) and (max-width: 1280px) {
      #visualHome h2.main {
        font-size: 3vw; } }
    @media screen and (min-width: 1281px) {
      #visualHome h2.main {
        font-size: 4.1rem; } }
  #visualHome h3.sub {
    color: #171714;
    font-size: 1.6rem;
    font-weight: bold;
    font-family: "Times New Roman", "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "source-han-serif-japanese", serif; }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #visualHome h3.sub {
        font-size: 3.2vw; } }
    @media screen and (min-width: 768px) and (max-width: 960px) {
      #visualHome h3.sub {
        font-size: 2.0vw; } }
    @media screen and (min-width: 961px) and (max-width: 1280px) {
      #visualHome h3.sub {
        font-size: 2.0vw; } }
    @media screen and (min-width: 1281px) {
      #visualHome h3.sub {
        font-size: 3.0rem; } }
    #visualHome h3.sub span.line {
      font-size: 1.6rem;
      background: linear-gradient(transparent 60%, #fabd00 60%); }
      @media screen and (min-width: 481px) and (max-width: 767px) {
        #visualHome h3.sub span.line {
          font-size: 3.0vw; } }
      @media screen and (min-width: 768px) and (max-width: 960px) {
        #visualHome h3.sub span.line {
          font-size: 2.0vw; } }
      @media screen and (min-width: 961px) and (max-width: 1280px) {
        #visualHome h3.sub span.line {
          font-size: 2.0vw; } }
      @media screen and (min-width: 1281px) {
        #visualHome h3.sub span.line {
          font-size: 3.0rem; } }
  @media screen and (max-width: 960px) {
    #visualHome .pc {
      display: none; } }
  @media screen and (min-width: 961px) {
    #visualHome .sp {
      display: none; } }

/******************************************************
#home_banner_area
******************************************************/
#home_banner_area {
  background: #3eb3e7;
  text-align: center; }
  #home_banner_area .inner {
    padding-top: 30px;
    padding-bottom: 30px; }
    @media screen and (min-width: 768px) {
      #home_banner_area .inner {
        padding-top: 70px;
        padding-bottom: 70px; } }
  #home_banner_area .titText {
    color: #FFFFFF;
    font-weight: bold;
    margin-bottom: 30px;
    font-size: clamp(2.3rem, 3.08vw, 3.8rem); }
    #home_banner_area .titText span.quotation {
      color: yellow;
      font-size: clamp(2.6rem, 4.1vw, 4.6rem); }
    #home_banner_area .titText span.mirai {
      font-size: clamp(2.6rem, 4.1vw, 4.6rem); }
  @media screen and (max-width: 767px) {
    #home_banner_area ul.banner {
      max-width: 400px;
      margin: 0px auto; } }
  @media screen and (min-width: 768px) {
    #home_banner_area ul.banner {
      margin: 0px auto;
      display: flex;
      justify-content: space-between; } }
  @media screen and (max-width: 767px) {
    #home_banner_area ul.banner li {
      margin-bottom: 15px; } }
  @media screen and (min-width: 768px) {
    #home_banner_area ul.banner li {
      width: 49%; } }
  #home_banner_area ul.banner li:hover img {
    opacity: 0.8; }

/* ----------------------------------------
	#information
---------------------------------------- */
#home_information {
  background: #FFFFFF;
  color: #00233f; }
  #home_information a, #home_information p, #home_information div, #home_information ul, #home_information li {
    color: #00233f; }
  #home_information .inner {
    padding-top: 40px;
    border-radius: 30px;
    max-width: 1260px; }
    @media screen and (min-width: 961px) {
      #home_information .inner {
        padding-top: 60px; } }
  #home_information h2.Title {
    font-weight: bold;
    color: #00233f;
    line-height: 1.3;
    font-size: clamp(1.6rem, 0.82vw, 2rem);
    margin-bottom: 60px; }
    @media screen and (min-width: 961px) {
      #home_information h2.Title {
        margin-bottom: 50px; } }
    #home_information h2.Title span.en {
      padding-right: 18px;
      font-size: clamp(3.8rem, 5.54vw, 6.5rem);
      font-family: "Jost", sans-serif;
      font-style: italic; }
  #home_information .titText {
    width: 130px;
    margin: 0px auto; }
    @media screen and (min-width: 768px) {
      #home_information .titText {
        width: 255px; } }
  #home_information ul.informationList {
    margin: 0px auto;
    border-top: 1px solid #00233f;
    margin-bottom: 25px; }
    @media screen and (min-width: 961px) {
      #home_information ul.informationList {
        margin-bottom: 45px; } }
    #home_information ul.informationList li {
      transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
      padding: 20px 5px;
      position: relative;
      border-bottom: 1px solid #00233f;
      line-height: 2.0; }
      @media screen and (min-width: 961px) {
        #home_information ul.informationList li {
          padding: 35px 5px; } }
      #home_information ul.informationList li:hover {
        background: #ebebeb; }
      #home_information ul.informationList li::after {
        content: url("../images/common/arrow_cir_blue.svg");
        display: inline-block;
        top: 32%;
        width: 15px;
        right: 5px;
        background-size: contain;
        position: absolute; }
      #home_information ul.informationList li .date {
        text-align: left;
        display: inline-block;
        font-size: 1.5rem;
        width: 80px; }
        @media screen and (min-width: 961px) {
          #home_information ul.informationList li .date {
            width: 100px; } }
      #home_information ul.informationList li .cat {
        background: #00233f;
        color: #ffffff;
        border-radius: 30px;
        display: inline-block;
        line-height: 1.0;
        padding: 5px 5px 7px 5px;
        width: 110px;
        font-size: clamp(1.2rem, 0.37vw, 1.3rem);
        text-align: center;
        margin-right: 15px; }
        @media screen and (min-width: 961px) {
          #home_information ul.informationList li .cat {
            width: 120px; } }
      #home_information ul.informationList li .title {
        text-align: left;
        display: inline-block; }
        @media screen and (max-width: 767px) {
          #home_information ul.informationList li .title {
            width: 100%;
            display: inline-block; } }
    @media screen and (max-width: 480px) {
      #home_information ul.informationList a {
        font-size: 1.5rem; } }
  #home_information .info_tab {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0px;
    max-width: 100%;
    position: relative; }
  #home_information .info_tab > label {
    /*flex: 1 1;
    order: -1;*/
    opacity: 1.0;
    /*min-width: 70px;*/
    /*max-width: 115px;*/
    border-radius: 5px 5px 0 0;
    border-right: 1px solid #00233f;
    border-top: 1px solid #00233f;
    background-color: #dde7e9;
    color: #00233f;
    font-size: 1.2rem;
    text-align: center;
    cursor: pointer;
    position: absolute; }
    @media screen and (max-width: 767px) {
      #home_information .info_tab > label {
        width: 60px;
        height: 50px;
        padding: 15px 0px 5px 0px;
        top: -50px; } }
    @media screen and (min-width: 481px) and (max-width: 767px) {
      #home_information .info_tab > label {
        flex: 1 1;
        order: -1;
        min-width: 60px; } }
    @media screen and (min-width: 768px) {
      #home_information .info_tab > label {
        width: 115px;
        font-size: 1.3rem;
        padding: 7px 0px;
        top: -36px; } }
  #home_information .info_tab > label:nth-of-type(1) {
    right: 250px; }
    @media screen and (min-width: 768px) {
      #home_information .info_tab > label:nth-of-type(1) {
        right: 460px; } }
  #home_information .info_tab > label:nth-of-type(2) {
    right: 190px; }
    @media screen and (min-width: 768px) {
      #home_information .info_tab > label:nth-of-type(2) {
        right: 345px; } }
  #home_information .info_tab > label:nth-of-type(3) {
    right: 130px; }
    @media screen and (min-width: 768px) {
      #home_information .info_tab > label:nth-of-type(3) {
        right: 230px; } }
  #home_information .info_tab > label:nth-of-type(4) {
    right: 70px; }
    @media screen and (min-width: 768px) {
      #home_information .info_tab > label:nth-of-type(4) {
        right: 115px; } }
  #home_information .info_tab > label:nth-of-type(5) {
    right: 0; }
    @media screen and (max-width: 767px) {
      #home_information .info_tab > label:nth-of-type(5) {
        width: 70px;
        padding: 5px 0px; } }
  #home_information .info_tab .categoryTit {
    position: absolute;
    right: 575px;
    background: none !important;
    border: none;
    font-weight: 500;
    font-family: "Jost", sans-serif;
    font-style: italic;
    font-size: 2.0rem;
    padding-top: 0px;
    right: 360px; }
    @media screen and (min-width: 768px) {
      #home_information .info_tab .categoryTit {
        right: 575px; } }
    @media screen and (max-width: 480px) {
      #home_information .info_tab .categoryTit {
        display: none; } }
  #home_information .info_tab .categoryTit:hover {
    color: #00233f !important;
    cursor: default; }
  #home_information .info_tab > label.all {
    background-color: #00233f;
    color: #ffffff; }
  #home_information .info_tab > label:hover {
    background-color: #00233f;
    color: #ffffff; }
  #home_information .info_tab input {
    display: none; }
  #home_information .info_tab > div {
    display: none;
    width: 100%;
    background-color: #fff; }
  #home_information .tinfo_tab label:has(:checked) {
    opacity: 1; }
  #home_information .info_tab label:has(:checked) + div {
    display: block; }
  #home_information a.present_tab, #home_information a.seminar_tab {
    font-size: 1.2rem;
    display: block; }
    @media screen and (min-width: 768px) {
      #home_information a.present_tab, #home_information a.seminar_tab {
        font-size: 1.3rem; } }
    #home_information a.present_tab:hover, #home_information a.seminar_tab:hover {
      color: #ffffff; }
  #home_information label.present:hover, #home_information label.seminar:hover {
    color: #ffffff; }
  #home_information .moreBtn {
    margin: 0 0 0 auto; }
    @media screen and (max-width: 480px) {
      #home_information .moreBtn {
        margin: 0px auto; } }
    #home_information .moreBtn a {
      display: block;
      background: #00233f;
      color: #FFFFFF; }
      #home_information .moreBtn a:hover {
        background: #005fb7; }

/* ----------------------------------------
	#home_story-vision
---------------------------------------- */
#home_story-vision {
  text-align: center;
  background: url("../images/home/story-vision_bg.jpg");
  background-size: cover; }
  #home_story-vision h2.Title {
    font-weight: 600;
    font-family: "Jost", sans-serif;
    font-style: italic;
    color: #3eb3e7;
    line-height: 1.3;
    font-size: clamp(4.8rem, 10.4vw, 10rem); }
    #home_story-vision h2.Title span {
      font-size: clamp(4.8rem, 11.56vw, 10rem);
      font-weight: 300;
      font-family: "Jost", sans-serif; }
  #home_story-vision h3.subTitle {
    position: relative;
    padding: 0 65px;
    text-align: center;
    margin-bottom: 80px; }
    #home_story-vision h3.subTitle::before {
      position: absolute;
      top: calc(50% - 1px);
      left: 0;
      width: 100%;
      height: 2px;
      content: '';
      background: #00b9e0; }
    #home_story-vision h3.subTitle span {
      position: relative;
      padding: 0 1em;
      background: #fcfcfc;
      font-size: clamp(1.8rem, 1.2vw, 2.4rem);
      color: #005fb7;
      font-weight: bold; }
  #home_story-vision p {
    margin-bottom: 60px;
    line-height: 2.5; }
  #home_story-vision .moreBtn {
    margin: 0px auto; }
    #home_story-vision .moreBtn a {
      background-image: linear-gradient(90deg, #0a56a3, #0b5fb3 15%, #0bb8de); }
      #home_story-vision .moreBtn a:hover {
        background: #005fb7; }

/* ----------------------------------------
	#home_merit-benefits
---------------------------------------- */
#home_merit-benefits {
  background-image: linear-gradient(90deg, #0bb8de, #0b5fb3); }
  @media screen and (min-width: 961px) {
    #home_merit-benefits #merit-benefits_ol {
      background: url("../images/home/merit.png") no-repeat;
      background-size: 35%; } }
  @media screen and (min-width: 961px) and (max-width: 1280px) {
    #home_merit-benefits #merit-benefits_ol {
      background-position: 96% 70%; } }
  @media screen and (min-width: 1281px) {
    #home_merit-benefits #merit-benefits_ol {
      background-position: 92% 80%;
      background-size: 35%; } }
  #home_merit-benefits h2.Title {
    font-weight: 500;
    margin-bottom: 30px;
    color: #ffffff;
    font-size: clamp(1.6rem, 0.82vw, 2rem); }
    @media screen and (max-width: 960px) {
      #home_merit-benefits h2.Title {
        text-align: center; } }
    @media screen and (min-width: 1281px) {
      #home_merit-benefits h2.Title {
        margin-bottom: 75px; } }
    #home_merit-benefits h2.Title span.en {
      display: inline-block;
      width: 100%;
      color: #00233f;
      font-weight: 500;
      font-size: clamp(5rem, 11.11vw, 10rem);
      font-family: "Jost", sans-serif;
      font-style: italic;
      line-height: 1.0; }
  @media screen and (min-width: 961px) {
    #home_merit-benefits .inner {
      display: flex;
      justify-content: space-between; } }
  @media screen and (max-width: 960px) {
    #home_merit-benefits .inner #aboutArea {
      text-align: center; } }
  @media screen and (max-width: 960px) {
    #home_merit-benefits .inner #imgArea {
      max-width: 500px;
      margin: 0px auto;
      margin-bottom: 30px; } }
  @media screen and (min-width: 961px) {
    #home_merit-benefits .inner #imgArea {
      display: none; } }
  @media screen and (max-width: 960px) {
    #home_merit-benefits ul {
      display: inline-block;
      margin: 0px auto; } }
  #home_merit-benefits ul li {
    color: #FFFFFF;
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 20px;
    text-align: left; }
    @media screen and (min-width: 768px) {
      #home_merit-benefits ul li {
        font-size: 1.8rem; } }
  #home_merit-benefits ul span {
    font-weight: bold; }
  #home_merit-benefits span.number {
    color: #00233f;
    font-size: clamp(4.5rem, 3.33vw, 6rem);
    padding-right: 20px;
    font-family: "Jost", sans-serif;
    font-style: italic;
    font-weight: 500;
    line-height: 1.0; }
    @media screen and (max-width: 767px) {
      #home_merit-benefits span.number {
        display: inline-block;
        width: 100%;
        padding-right: 0px; } }
  #home_merit-benefits span.point {
    color: #00233f;
    font-size: 2.0rem; }
    @media screen and (min-width: 768px) {
      #home_merit-benefits span.point {
        font-size: 2.4rem; } }
  #home_merit-benefits .moreBtn a {
    background: #00233f; }

/* ----------------------------------------
	#for-owners
---------------------------------------- */
#for-owners {
  background-image: linear-gradient(90deg, #00233f, black);
  color: #ffffff; }
  @media screen and (min-width: 961px) {
    #for-owners .inner {
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 1281px) {
    #for-owners .inner #titleArea {
      width: 350px; } }
  @media screen and (max-width: 960px) {
    #for-owners .inner #listArea {
      max-width: 450px;
      margin: 0px auto;
      text-align: center;
      margin-bottom: 30px; } }
  @media screen and (min-width: 961px) and (max-width: 1280px) {
    #for-owners .inner #listArea {
      width: -webkit-calc(100% -380px);
      width: calc(100% - 380px);
      padding-left: 5%; } }
  @media screen and (min-width: 1281px) {
    #for-owners .inner #listArea {
      width: 620px; } }
  #for-owners h2.Title {
    font-weight: 500;
    font-size: clamp(1.6rem, 0.82vw, 2rem);
    margin-bottom: 30px; }
    @media screen and (max-width: 960px) {
      #for-owners h2.Title {
        text-align: center;
        margin: 0px auto;
        margin-bottom: 30px; } }
    @media screen and (min-width: 961px) {
      #for-owners h2.Title {
        margin-bottom: 80px; } }
    #for-owners h2.Title span.en {
      display: inline-block;
      font-size: clamp(3.8rem, 5.54vw, 6.5rem);
      font-family: "Jost", sans-serif;
      font-style: italic;
      line-height: 1.0;
      margin-bottom: 10px;
      width: 100%; }
  #for-owners #listArea {
    margin-bottom: 30px; }
    #for-owners #listArea ul {
      border-top: 1px solid #ffffff; }
      #for-owners #listArea ul li {
        display: block;
        padding: 25px 30px 25px 10px;
        line-height: 1.3;
        border-bottom: 1px solid #ffffff; }
        @media screen and (min-width: 961px) {
          #for-owners #listArea ul li {
            padding: 25px 50px 25px 25px;
            font-size: 1.8rem; } }
  @media screen and (min-width: 961px) {
    #for-owners .moreBtn {
      margin: 0; } }
  #for-owners .moreBtn a {
    background-image: linear-gradient(90deg, #0a56a3, #0b5fb3 15%, #0bb8de); }
    #for-owners .moreBtn a:hover {
      background: #005fb7; }
  @media screen and (max-width: 960px) {
    #for-owners .moreBtn.pc {
      display: none; } }
  @media screen and (min-width: 961px) {
    #for-owners .moreBtn.sp {
      display: none; } }
