@charset "UTF-8";

/* 共通 */
body { padding-top: 80px; }
p { line-height: 1.65; text-align: justify; }
.lead { letter-spacing: 0.1em; }
a { -webkit-transition: opacity .5s; transition: opacity .5s; }
a:active, a:hover, a:focus { outline: 0 !important; box-shadow:none !important; }
a:hover { opacity: .7; }
.main-cont { margin: 0 auto; padding: 3%; max-width: 1200px; }

/* margin */
.mb-30 { margin-bottom: 30px; }
.mb-50 { margin-bottom: 50px; }
.mb-70 { margin-bottom: 70px; }
.mb-90 { margin-bottom: 90px; }
.mb-120 { margin-bottom: 120px; }

/* ボタン */
.btn_15 { display: block; text-align: center; text-decoration: none; position: relative; width: 220px; margin: auto; padding: 1rem 4rem; font-weight: bold; border-radius: 0.3rem; background-color: #e9f6fb; border-image-source: repeating-linear-gradient(45deg, #27acd9 0, #27acd9 6px, rgba(0, 0, 0, 0) 6px, rgba(0, 0, 0, 0) 8px); border-image-slice: 4; border-width: 4px; border-image-repeat: round; border-style: solid; color: #27acd9; font-size: 18px; }
.btn_15:hover { color: #27acd9; }

/* カード */
.card-title { font-size: 22px; padding-bottom: 5px; border-bottom: solid 1px; }
.card-link { color: #000; text-decoration: none; }
.card-link:hover { color: #000; }
.card-img, .card-img-bottom, .card-img-top { height: auto; }

/* ヘッドナビ */
.navbar { position: fixed; top: 0; width: 100%; z-index: 999; opacity: 1; background: url(/img/u_line01.png) bottom left repeat-x #fff; padding-bottom: 17px; }
.navbar a { font-weight: bold; }
.navbar-light .navbar-brand { color: #fff; margin-left: 20px; border: solid 2px; padding: 10px; border-radius: 10px; }
.navbar-light .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E"); }
.navbar-dark .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E"); }
.navbar-toggler:focus { box-shadow: none; }
.navbar-light .navbar-nav .nav-link { color: dodgerblue; }
.navbar-light .navbar-nav .nav-link:hover { color: dodgerblue; }
.navbar a:focus,.navbar a:hover { opacity: 0.75; box-shadow: none; }
.navbar-light .navbar-brand:hover { color: #fff; }
.nav-item { width: 120px; text-align: center; }

/* 下層ページメイン画像 */
.sub-mv { position: relative; }
.sub-mv p { font-size: 60px; position: absolute; top: 50%; left: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); margin:0; padding:0; color:#fff; font-weight: bold; text-shadow: rgba(0, 0, 0, 0.3) 1px 1px 30px, rgba(0, 0, 0, 0.3) -1px 1px 30px, rgba(0, 0, 0, 0.3) 1px -1px 30px, rgba(0, 0, 0, 0.3) -1px -1px 30px; line-height: 1; }
.sub-mv img { max-width: 100%; }


/* メールフォーム */
.contact {  }
#mailform label { margin-bottom: 3px; font-weight: 700; display: block; }
#mailform label span { color: #d04343; margin-left: 4px; font-weight: 400; }
#mailform input[type=text],
#mailform input[type=email] { font-size: 16px; width: 100%; margin-bottom: 13px; box-sizing: border-box; height: 40px;
padding: 0 10px; }
#mailform textarea { margin-bottom: 13px; padding: 10px; width: 100%; box-sizing: border-box; font-size: 16px; }

.common_btn_area { text-align: center; margin: 30px auto; }
.common_btn { border: 1px solid #000; border-radius: 4px; font-size: 18px; font-weight: 700; line-height: 50px; text-decoration: none; color: #000;     background-color: #fff; display: inline-block; width: 180px; }
.common_btn:hover { background-color: #000; color: #fff; -webkit-transition: background-color .5s; transition: background-color .5s; opacity: 1; }

/* 色 */
p { color: #5e5e5e; }

.bg1 { background: #243743; }
.bg2 { background: #8A949B; }
.bg3 { background: #FAFAFA; }
.bg4 { background: #2853b7; }
.fc1 { color: #243743; }
.fc2 { color: #8A949B; }
.fc3 { color: #FAFAFA; }
.fc4 { color: #2853b7; }
.fc5 { color: #000; }

.common_ttl01 { background: url(/img/u_line01.png) bottom left repeat-x; padding-bottom: 17px; display: inline-block; }

/* 挑戦中 */
.star_box { border: solid #d04343 5px; padding: 25px 3% 0; }
.star_ttl_wrap { background: #ffdada; padding: 14px 0; margin-bottom: 20px; }
.star_ttl { color: #000; position: relative; display: inline-block; padding: 0 100px; }
.star_ttl::before { content: url(/img/ttl_star1.png); position: absolute; left: 0;  top:0; }
.star_ttl::after { content: url(/img/ttl_star2.png); position: absolute; right: 0;  top:0; }
.h_red_font { color: #d04343; border-bottom: solid 3px; display: inline-block; padding: 0 5px; }
@media screen and (max-width: 768px){
    .star_ttl { color: #000; position: relative; display: inline-block; padding: 0 35px; }
    .star_ttl::before { content: url(/img/ttl_star1min.png); top: 15px; }
    .star_ttl::after { content: url(/img/ttl_star2min.png); top: 15px;}
}

/* 〇〇エリアの悩み */
.x_area_box { padding: 20px 0; background: #fffde8; }
.x_area_ttl { padding: 15px 15px 6px 0; font-size: 38px; font-family: '游ゴシック Medium', sans-serif; font-weight: bold; letter-spacing: -2px; border-bottom: dotted 3px #000; width: fit-content; margin-bottom: 25px; }
.x_area_ttl span { color: #f53030; font-size: 45px; font-style: italic; padding: 0 15px; }

/* 問題一覧 */
.problem_ttl { text-align: center; background: #3BD333; margin-bottom: 0; padding: 15px; font-size: 38px; font-family: '游ゴシック Medium', sans-serif; font-weight: bold; letter-spacing: -2px; }
.problem_ttl span { color: #FFEB00; font-size: 45px; font-style: italic; padding: 0 3px; }
.problem_ttl2 { margin: 0 auto; font-size: 40px; border-bottom: double 4px #00b8ff; max-width: 660px; padding: 0 0 25px; }
.problem_ttl2 span { color: #f53030; font-size: 60px; font-style: italic; padding: 0 15px; text-decoration: underline; }
.problem_list { list-style: none; border: solid 3px; padding: 25px 3%; }
.problem_list::after { content: ""; display: block; clear: both; }
.problem_list li { font-size: 20px; font-weight: bold; width: 47%; float: left; margin-bottom: 10px; }
.problem_list li:only-child(2n) { margin-left: 3%; }
.problem_list li::before { content: ''; display: inline-block; width: 16px; height: 7px; border-left: 3px solid #3BD333; border-bottom: 3px solid #3BD333; transform: rotate(-45deg); margin-bottom: 3px; margin-right: 8px; }
.problem_list li span { background:linear-gradient(transparent 60%, rgb(255, 252, 102) 60%); }
.problem_triangle { width: 0; height: 0; border-top: 35px solid #3BD333; border-right: 40px solid transparent; border-left: 40px solid transparent; margin: 0 auto 30px; }
@media screen and (max-width: 768px){
    .problem_list li { float: none; width: 100%; }
    .problem_list li:only-child(2n) { margin-left: 0; }
}

/* スライド */
.carousel-indicators [data-bs-target]{ width: 10px; height: 10px; border-radius: 10px; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px; border-top: 1px; border-bottom: 1px; }
.carousel-txt-box { position: absolute; color: #fff; text-align: center; background: rgba(0, 0, 0, 0.8); top: 50%; left: 50%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); padding: 35px 3%; }
.carousel-ttl { font-size: 72px; font-weight: bold; text-shadow: rgba(0, 0, 0, 0.1) 1px 1px 30px, rgba(0, 0, 0, 0.1) -1px 1px 30px, rgba(0, 0, 0, 0.1) 1px -1px 30px, rgba(0, 0, 0, 0.1) -1px -1px 30px; line-height: 1; }
.carousel-txt { text-align: center; color: #fff; font-size: 28px; text-shadow: rgba(0, 0, 0, 0.1) 1px 1px 30px, rgba(0, 0, 0, 0.1) -1px 1px 30px, rgba(0, 0, 0, 0.1) 1px -1px 30px, rgba(0, 0, 0, 0.1) -1px -1px 30px; }
@media screen and (max-width: 1360px){
    .carousel-ttl { font-size: 50px; }
    .carousel-txt { font-size: 24px; margin-bottom: 0px; }
}
@media screen and (max-width: 1060px){
    .carousel-ttl { font-size: 36px; }
    .carousel-txt { font-size: 18px; margin-bottom: 0px; }
}
@media screen and (max-width: 768px){
    .carousel-txt-box { padding: 10px 1.5%; }
    .carousel-ttl { font-size: 26px; margin-bottom: 0px; }
    .carousel-txt { display: none; }
}


/* お問い合わせバナー */
.contact_banner { background: url(../../img/contact_banner_bg.jpg); background-attachment: fixed; background-size: cover; padding: 5% 3%; }
.contact_banner_txt { background: #000; display: inline-block; padding: 25px 15px; opacity: 0.85; }
.contact_banner .btn { font-size: 24px; font-weight: bold; }
.contact_btn_icon { width: 30px; fill: #fff; margin-right: 15px; padding-bottom: 5px; }