@charset "UTF-8";
/* ------------------------------------------------------
	Default Styling
------------------------------------------------------ */
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body {
    color: #333333;
    font-family: "Noto Sans JP", sans-serif;
}
a {
    color: #333333;
    text-decoration: none;
    cursor: pointer;
}
a, input, textarea {
    transition: all .15s ease-in-out;
}
a:hover {
    color: #20348c;
    text-decoration: underline;
}
button:hover, button:focus {
    cursor: pointer;
    transition-duration: .5s;
}
figure {
    margin: 0;
}
img {
    max-width: 100%;
}
p {
    letter-spacing: .02em;
    margin-block-start: 0;
}
ol {
    margin-top: 0;
    padding-inline-start: 2rem;
}
ol > li {
    letter-spacing: 0;
}
ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
}
ul.arw_r > li::after {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-bottom: .35rem;
    padding-left: 2.5em;
    background-image: url("../img/arw_r.png");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    content: "";
}
ul.arw_r > li {
    margin-bottom: 2rem;
}

/* ----- Reusable Classes ----- */
.container {
    max-width: 1200px;
    margin: 0 auto;
}

.f_bold {
    font-weight: bold;
}
.txt_r {
    text-align: right;
}
.txt_c {
    text-align: center;
}
.mb28 {
    margin-bottom: 2.8rem !important;
}
.mb50 {
    margin-bottom: 5rem !important;
}
.mb80 {
    margin-bottom: 8rem !important;
}
.att {
    margin-left: 1em;
    font-weight: normal;
    font-size: 1.4rem;/* 0.75em */
    line-height: 2.86;
    letter-spacing: 0;
    text-indent: -1em;
}
.att::before {
    content: "※";
}

/* ----- Header ----- */
header div.container {
    display: flex;
    align-items: center;
}
.h_logo:hover img {
    opacity: .7;
}

/* ----- Main ----- */
.title .container {
    display: flex;
    align-items: center;
}
h1 {
    color: #ffffff;
    font-weight: 500;
    font-family: Barlow, sans-serif;
    letter-spacing: .1em;
}
h1::first-letter {
    color: #FFF243;
}
h1 span {
    display: block;
    font-weight: bold;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: .1em;
}
#topicpath {
    background-color: #f5f5f5;
    color: #1e272e;
}
#topicpath ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 100%;
    min-height: 3.4rem;
    row-gap: .4rem;
}
#topicpath li {
    display: inline;
}
#topicpath li::after {
    display: inline-block;
    padding-right: 1em;
    padding-left: 1em;
    content: ">";
}
#topicpath li:last-child:after {
    content: none;
}
#topicpath a {
    color: #1e272e;
    text-decoration: underline;
}
h2.ttl {
    color: #1e272e;
    font-weight: 500;
    line-height: 1.2;
    font-family: Barlow, sans-serif;
    text-align: center;
}
h2.ttl span {
    display: block;
    color: #1e272e;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: .1em;
}
h3.contract {
    margin-bottom: 3rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #d9d9d9;
    font-size: 1.8rem;
    line-height: 2.22;
    letter-spacing: .05em;
    font-weight: bold;
}
/* 共通ボタン */
.btn02{
    position: relative;
    color: #FFFFFF; /* 文字の色を白に設定 */
    margin: 0 auto;
    width: 60%;
    height: 70px;
    border: 1px solid #FFFFFF;
    background-color: rgba(255, 255, 255, 0.1); /* 不透明度10%の白色 */
    font-size: 20px;
    font-weight: 700;
    border-radius: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition-duration: 0.5s;
}

.btn02:hover{
    background-color: #FFF243;
    color: #20348C;
    opacity: 1;
    text-decoration: none;
}

.btn02::before { /* 背景の表示設定 */
    content: "";
    position: absolute;
    right: 23px;
    width: 18px; /* 横幅 */
    height: 18px; /* 高さ */
    border-radius: 50%; /* 角の丸み */
    background: #ffffff;
    transition-duration: 0.5s;
}
  
.btn02::after { /* くの字の表示設定 */
    content: "";
    position: absolute;
    right: 30px;
    width: 5.5px; 
    height: 5.5px; 
    border-top: 2px solid rgba(0, 0, 0, 100); 
    border-right: 2px solid rgba(0, 0, 0, 100); 
    transform: rotate(45deg); 
    transition-duration: 0.5s;
}

.btn02:hover::before { 
    background-color: #20348C; /* ホバー時の背景色 */ 
    opacity: 1;
} 

.btn02:hover::after { 
    border-top-color: #FFF243; /* ホバー時のくの字の色 */ 
    border-right-color: #FFF243; 
    opacity: 1;
}

.btn02:active::before { 
    background-color: #20348C; /* クリック時の背景色 */ 
    opacity: 1;
} 

.btn02:active::after { 
    border-top-color: #FFF243; /* クリック時のくの字の色 */ 
    border-right-color: #FFF243; 
    opacity: 1;
}

.btn03{
    font-size: 18px;
    width: 400px;
    height: 60px; 
    background-color: #1e272e;
    color: #FFF;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    position: relative ;
    line-height: 1.3;
    box-shadow: 0 3px 6px rgba(0,0,0,.1);
    letter-spacing: .02em;
    transition-duration: 0.5s; 
  }
  .btn03:hover{
    background-color: #FFF243;
    color: #00267F;
    text-decoration: none;
    opacity: 1;
  }
  .btn03::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #FFFFFF;
    right: 18px;
    transition-duration: 0.5s;
  }
  .btn03:hover::before {
    background-color: #00267F;
  }
  .btn03::after { 
    content: '';
    width: 5.5px;
    height: 5.5px;
    position: absolute;
    right: 22px;
    border-top: 2px solid #1E272E;
    border-right: 2px solid #1E272E;
    transform: translate(-50%, 0) rotate(45deg);
    transition-duration: 0.5s;
  }
  .btn03:hover::after{
    border-top: 2px solid #FFF243;
    border-right: 2px solid #FFF243;
  }

.btn04{
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 50%);
  font-size: 18px;
  width: 300px;
  height: 60px; 
  background-color: #FFF;
  border-radius: 30px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .1);
  display: flex;
  align-items: center; /* 縦方向の中央揃え */
  justify-content: center; /* 横方向の中央揃え */
  transition-duration: 0.5s; 
  border: 2px solid #fff;
  box-sizing: border-box;
  color: #1e272e;
  font-weight: 500;
  letter-spacing: .1em;
}
.btn04:hover{
  background-color: #FFF243;
  color: #00267F;
  text-decoration: none;
  opacity: 1;
}
.btn04::before {
  content: '';
  position: absolute;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #333;
  right: 18px;
  transition-duration: 0.5s;
}
.btn04:hover::before {
  background-color: #00267F;
}
.btn04::after { 
  content: '';
  width: 5.5px;
  height: 5.5px;
  position: absolute;
  right: 22px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  transform: translate(-50%, 0) rotate(45deg);
  transition-duration: 0.5s;
}
.btn04:hover::after{
  border-top: 2px solid #FFF243;
  border-right: 2px solid #FFF243;
}
/* ----- Footer ----- */
#footer {
    background-color: #ffffff;
}
.f_acd-check {
    display: none;
}
.f_acd-content {
    padding: 0;
}
.f_acd-content li {
    font-weight: normal;
    font-size: 1.4rem;
    letter-spacing: 0;
}
/*
.f_acd-content a {
    margin-left: .5em;
    text-indent: -.5em;
}
*/
.f_acd-content a::before {
    content: "- ";
}
#f_logo img {
    width: 317px;
    height: 51.5px;
}
#f_logo:hover img {
    opacity: .7;
}
#under_f_logo > li {
    line-height: 2.86;
    font-size: 1.4rem;
}
#copy {
    border-top: 1px solid #eeeeee;
    letter-spacing: 0;
    text-align: center;
}

/* ----- scrollTop btn ----- */
#scrollTop a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    background-color: #ffffff;
}
#scrollTop a::after {
    transform: translateY(25%) rotate(-45deg);
    width: 16px;
    height: 16px;
    border-top: 2px solid #333333;
    border-right: 2px solid #333333;
    box-sizing: border-box;
    content: "";
}
#scrollTop a:hover {
    background: #FFF243;
}
#scrollTop a:hover::after {
    border-top: 2px solid #1f348c;
    border-right: 2px solid #1f348c;
}
#scrollTop {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 9999;
    transform: translateY(100px);
}
#scrollTop.UpMove {
    animation: UpAnime .5s forwards;
}

@keyframes UpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
#scrollTop.DownMove {
    animation: DownAnime .5s forwards;
}

@keyframes DownAnime {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 1;
        transform: translateY(100px);
    }
}

/* お問い合わせ */
.con{
    height: 450px;
}
.contact-banner{
    margin-top: 315px;
    height: 325px; /* 高さを325pxに設定 */ 
    width: 100%; /* 幅を100%に設定 */ 
    background-color: #171E24; /* 背景色を#1E272Eに設定 */ 
    border-top: 10px solid #FFF243;
}

.contact-item{
    width: 100%; 
    height: 100%; 
    margin-top: -225px;
    background-image:linear-gradient(rgba(30, 39, 46, .3), rgba(30, 39, 46, .3)), url(../../cmn/img/contact.webp);
    background-position: center;
    background-size: cover;
    border-radius: 15px; 
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.contact-item h2{
    color: #FFFFFF; 
    font-size: 50px; 
    margin: 0 0;
    font-family: Barlow, sans-serif; 
    font-weight: 500; 
    letter-spacing: 0.1em; 
}

.contact-item h2::first-letter{
    color: #FFF243;
}

.contact-item h2 span{
    display: block;
    font-size: 18px;
}

.contact-item p{
    color: #FFFFFF;
    font-size: 18px;
    font-weight: 500;
    margin: 30px 0;
}

