@charset "utf-8";
/* top css */

.g_navi .gnav05 a::before {
opacity: 0;
}

/*-------------------------------------------------
KV
-------------------------------------------------*/

.header_top {
width: 100%;
transition: 1.3s;
position: relative;
/*height: 100vh;*/
}
.sec_kv {
width: 100%;
/*height: 100%;*/
position: relative;
/*position: fixed;*/
/*top: 0;
left: 0;*/
z-index: 0;
}
.kv_imgbox {
position: relative;
overflow: hidden;
}
.kv_imgbox::after {
content: "";
display: block;
background-color: #000;
opacity: 0.25;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 1;
}
.kv {
width: 100%;
/*height: 100vh;*/
height: auto;
}
.kv img {
width: 100%;
/*height: 100%;
object-fit: cover;*/
}
.kv_main_copy {
font-size: 5.0rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-bottom: 15px;
}
.kv_sub_copy {
font-size: 2.6rem;
font-weight: 700;
letter-spacing: 0.1em;
}
.kv_copy_wrap {
width: 100%;
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
position: absolute;
top: 45%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
z-index: 2;
}

@media all and (max-width : 1536px ){
.kv_main_copy {
font-size: 4.0rem;
}
}

@media all and (max-width : 1260px ){
.kv_main_copy {
font-size: 3.4rem;
}
.kv_sub_copy {
font-size: 2.2rem;
}
}

@media all and (max-width : 1024px ){
.kv_main_copy {
font-size: 2.8rem;
margin-bottom: 5px;
}
.kv_sub_copy {
font-size: 2.0rem;
}
}

@media all and (max-width : 820px ){
.kv_main_copy {
font-size: 2.2rem;
}
.kv_sub_copy {
font-size: 1.6rem;
}
}

@media all and (max-width : 767px ){
.kv_copy_wrap {
position: absolute;
top: 50%;
}
.kv_main_copy {
font-size: 1.5rem;
letter-spacing: 0.1em;
}
.kv_sub_copy {
font-size: 1.3rem;
}
}



/*-------------------------------------------------
スクロール
-------------------------------------------------*/

.scroll_btn {
display: block;
z-index: 10;
position: absolute;
bottom: 30px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}

@media all and (max-width : 1260px ){
.scroll_btn {
display: none;
}
}

.scroll_txt {
font-family: "Barlow Condensed", sans-serif;
font-weight: 400;
font-size: 1.4rem;
color: #fff;
letter-spacing: 0.1em;
}
.scroll_btn span {
width: 1px;
height: 100px;
display: block;
margin: 0 auto 8px;
background-color: #fff;
position: relative;
}

@media all and (max-width : 820px ){
.scroll_btn {
bottom: 10px;
}
.scroll_txt {
font-size: 1.2rem;
}
}

@media all and (max-width : 767px ){
.scroll_txt {
font-size: 1.0rem;
}
}

.scroll_btn span:after {
content: '';
position: absolute;
top: 0;
width: 9px;
height: 9px;
border-radius: 100%;
background-color: #fff;
left: -4px;
right: 0;
margin: auto;
-webkit-animation: sdb 2s infinite;
animation: sdb 2s infinite;
}
@-webkit-keyframes sdb {
0% {
-webkit-transform: translate(0, 0);
opacity: 0;
}
40% {
opacity: 1;
}
80% {
-webkit-transform: translate(0, 100px);
opacity: 0;
}
100% {
opacity: 0;
}
}
@keyframes sdb {
0% {
transform: translate(0, 0);
opacity: 0;
}
40% {
opacity: 1;
}
80% {
transform: translate(0, 100px);
opacity: 0;
}
100% {
opacity: 0;
}
}

/*-------------------------------------------------
main
-------------------------------------------------*/

.wrapper {
padding: 0;
}
main {
position: relative;
background: #fff;
z-index: 4;
}

@media all and (max-width : 820px ){
.content {
padding: 0;
}
}


/*-------------------------------------------------
sec_about
-------------------------------------------------*/

.sec_about {
position: relative;
padding: 60px 0 150px;
}

@media all and (max-width : 1100px ){
.sec_about {
padding: 30px 0 50px;
}
}

.sec_title dd {
line-height: 140%;
}
.intro_body {
position: relative;
max-width: 1920px;
height: 100%;
margin: 0 auto;
}
.intro_map {
max-width: 627px;
height: auto;
position: absolute;
right: 40px;
top: 0;
}

@media all and (max-width : 1700px ){
.intro_map {
max-width: 540px;
position: absolute;
right: 20px;
top: 0;
}
}

@media all and (max-width : 1536px ){
.intro_map {
max-width: 500px;
}
}

.intro_map img {
width: 100%;
}
.txt_flexbox_wrap {
max-width: 1260px;
width: 100%;
margin: 0 auto;
display: flex;
justify-content: space-between;
}
.txt_dammy_box {
width: 36.51%;
}
.intro_txtbox_left {
width: 63.49%;
}
.intro_heading_copy {
font-size: 3.0rem;
font-weight: 700;
letter-spacing: 0.2em;
padding-left: 20px;
margin-bottom: 45px;
}

@media all and (max-width : 1536px ){
.intro_txtbox_left {
width: 55%;
}
.intro_heading_copy {
font-size: 2.6rem;
margin-bottom: 35px;
}
}

@media all and (max-width : 1260px ){
.intro_txtbox_left {
padding: 0 20px;
}
}

@media all and (max-width : 1100px ){
.intro_map {
max-width: 540px;
position: static;
margin: 30px auto 0;
}
.txt_flexbox_wrap {
flex-direction: column-reverse;
}
.intro_txtbox_left {
width: 100%;
}
}

@media all and (max-width : 1024px ){
.intro_heading_copy {
font-size: 2.2rem;
letter-spacing: 0.15em;
margin-bottom: 20px;
}
}

@media all and (max-width : 820px ){
.intro_heading_copy {
font-size: 2.0rem;
}
}

@media all and (max-width : 767px ){
.intro_heading_copy {
font-size: 1.6rem;
margin-bottom: 15px;
padding-left: 10px;
}
}

.intro_heading_copy span {
color: #003791;
}
.intro_sentence {
font-size: 1.8rem;
line-height: 200%;
padding-left: 20px;
}

@media all and (max-width : 1536px ){
.intro_sentence {
font-size: 1.6rem;
}
}

@media all and (max-width : 1024px ){
.sec_title dd {
font-size: 2.4rem;
}
}

@media all and (max-width : 767px ){
.sec_about {
padding: 30px 0 25px;
}
.sec_title {
margin-bottom: 30px;
}
.sec_title dd {
font-size: 1.6rem;
}
.intro_sentence {
font-size: 1.4rem;
padding-left: 10px;
}
.intro_map {
width: 80%;
margin: 20px auto 0;
}
}

/*-------------------------------------------------
sec_promise
-------------------------------------------------*/

.sec_promise {
width: 100%;
background: #5584A6;
padding: 80px 0 100px;
color: #fff;
margin-bottom: 80px;
}

@media all and (max-width : 820px ){
.sec_promise {
padding: 40px 0 50px;
margin-bottom: 50px;
}
}

.promise_head_title {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 60px;
}
.promise_head_title dt {
font-size: 3.0rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-bottom: 10px;
}
.promise_head_title dd {
font-family: "Barlow Condensed", sans-serif;
font-size: 1.8rem;
font-weight: 500;
letter-spacing: 0.05em;
}
.promise_box {
width: calc(33.3333333% - 60px / 3);
margin-right: 30px;
}
.promise_box:nth-child(3) {
margin-right: 0;
}
.promise_img {
margin-bottom: 20px;
}
.promise_img img {
width: 100%;
}
.promise_txtbox dt {
font-size: 2.0rem;
font-weight: 500;
letter-spacing: 0.2em;
text-align: center;
margin-bottom: 30px;
}
.promise_txtbox dd {
font-size: 1.5rem;
line-height: 200%;
}
.promise_box_wrap {
display: flex;
flex-wrap: wrap;
}

@media all and (max-width : 1024px ){
.promise_head_title dt {
font-size: 2.4rem;
}
.promise_box {
width: calc(33.3333333% - 40px / 3);
margin-right: 20px;
}
.promise_txtbox dt {
font-size: 1.8rem;
letter-spacing: 0.15em;
text-align: left;
margin-bottom: 20px;
}
}

@media all and (max-width : 820px ){
.promise_img {
margin-bottom: 15px;
}
.promise_txtbox dt {
font-size: 1.6rem;
letter-spacing: 0.1em;
}
.promise_txtbox dd {
font-size: 1.4rem;
line-height: 180%;
}
}

@media all and (max-width : 767px ){
.sec_promise {
padding: 40px 0 30px;
margin-bottom: 0px;
}
.promise_head_title {
margin-bottom: 30px;
}
.promise_head_title dt {
font-size: 1.6rem;
margin-bottom: 5px;
}
.promise_head_title dd {
font-size: 1.2rem;
}
.promise_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
}
.promise_box_wrap {
flex-direction: column;
}
.promise_img {
margin-bottom: 15px;
}
.promise_txtbox dt {
font-size: 1.6rem;
margin-bottom: 15px;
}
.promise_txtbox dd {
font-size: 1.3rem;
}
}


/*-------------------------------------------------
sec_service
-------------------------------------------------*/

.sec_service {
position: relative;
padding: 80px 0;
background-image: url("../img/top/circle.svg");
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
margin-bottom: 80px;
}
.service_box_wrap {
display: flex;
}
.service_box {
width: calc(50% - 40px / 2);
margin-right: 40px;
position: relative;
z-index: 3;
}

@media all and (max-width : 1024px ){
.service_box {
width: calc(50% - 30px / 2);
margin-right: 30px;
}
}

.service_box:nth-child(2) {
margin-right: 0;
}
.service_img {
position: relative;
margin-bottom: 20px;
}
.service_img img {
width: 100%;
}
.service_img .num {
font-family: "Barlow Condensed", sans-serif;
font-weight: 500;
font-size: 7.0rem;
letter-spacing: 0;
line-height: 100%;
position: absolute;
bottom: -5px;
left: 10px;
color: transparent;
-webkit-text-stroke: 1px #fff;
z-index: 2
}
.service_img .num::before {
content: '#';
color: #fff;
font-size: 4.0rem;
font-weight: 400;
display: inline-block;
margin-right: 5px;
}
.service_txtbox {
margin-bottom: 30px;
}
.service_txtbox dt {
font-size: 2.2rem;
font-weight: 500;
letter-spacing: 0.2em;
margin-bottom: 20px;
}
.service_txtbox dd {
font-size: 1.5rem;
line-height: 200%;
}

@media all and (max-width : 1024px ){
.service_txtbox dt {
font-size: 2.0rem;
}
}

@media all and (max-width : 820px ){
.sec_service {
padding: 40px 0;
background-size: 75%;
margin-bottom: 50px;
}
.service_box {
width: calc(50% - 20px / 2);
margin-right: 20px;
}
.service_txtbox dt {
font-size: 1.8rem;
}
.service_txtbox dd {
font-size: 1.4rem;
line-height: 180%;
}
}

@media all and (max-width : 767px ){
.sec_service {
padding: 40px 0 0;
margin-bottom: 30px;
}
.service_box_wrap {
display: flex;
flex-direction: column;
}
.service_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
}
.service_img .num {
font-size: 6.0rem;
}
.service_img .num::before {
font-size: 3.0rem;
}
}



/*-------------------------------------------------
sec_movie
-------------------------------------------------*/

.sec_movie {
position: relative;
margin-bottom: 80px;
}

@media all and (max-width : 820px ){
.sec_movie {
margin-bottom: 40px;
}
}

.movie_box_bg {
width: 100%;
padding-top: 31.25%;
position: relative;
background-image: url("../img/top/movie_bg.jpg");
background-repeat: no-repeat;
background-position: left top;
background-size: cover;
z-index: 3;
}
.movie_titlebox {
color: #fff;
position: absolute;
left: 20%;
top: 7.81vw;
z-index: 10;
}
.movie_titlebox dt {
font-size: 3.0rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-bottom: 10px;
}

@media all and (max-width : 1024px ){
.movie_titlebox dt {
font-size: 2.4rem;
margin-bottom: 0px;
}
}

.movie_titlebox dd {
font-family: "Barlow Condensed", sans-serif;
font-weight: 500;
font-size: 1.4rem;
letter-spacing: 0.05em;
}
.movie_inner_wrap {
width: 100%;
position: relative;
padding-top: 60px;
margin-top: -5%;
z-index: 5;
}
.movie_inner_wrap::before {
content: "";
display: block;
background: #fff;
width: 90%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: -1;
}

@media all and (max-width : 1630px ){
.movie_inner_wrap::before {
width: 95%;
}
.movie_titlebox {
left: 12%;
top: 8.81vw;
}
}

@media all and (max-width : 1400px ){
.movie_inner_wrap {
padding-top: 50px;
margin-top: 0%;
}
}

.movie_wrap_box {
display: flex;
flex-wrap: wrap;
margin-bottom: 30px;
}
.movie_box:hover {
transition-duration: 0.7s;
opacity: .6;
}
.movie_box {
width: calc(33.333333% - 60px / 3);
margin-right: 30px;
margin-bottom: 0;
transition-duration: 0.7s;
}

@media all and (max-width : 1024px ){
.movie_box {
width: calc(33.333333% - 40px / 3);
margin-right: 20px;
}
.movie_titlebox {
left: 5%;
top: 10.81vw;
}
}

.movie_box:nth-child(3) {
margin-right: 0;
}
.youtube {
width: 100%;
aspect-ratio: 16 / 9;
}
.youtube iframe {
width: 100%;
height: 100%;
}
.movie_category {
font-size: 1.4rem;
}
.movie_title {
font-size: 1.5rem;
font-weight: 500;
}

@media all and (max-width : 820px ){
.movie_inner_wrap {
padding-top: 20px;
}
.movie_category {
font-size: 1.2rem;
}
.movie_title {
font-size: 1.4rem;
}
}

@media all and (max-width : 767px ){
.movie_titlebox dt {
font-size: 1.6rem;
margin-bottom: 0px;
}
.movie_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
}
.movie_box:nth-child(2n) {
margin-right: 0;
}
.movie_box:nth-child(3n) {
margin-right: 0px;
}
.movie_wrap_box {
margin-bottom: 0px;
}
}


/*-------------------------------------------------
sec_column
-------------------------------------------------*/

.sec_column {
width: 100%;
background: #F7F7F7;
padding: 80px 0 100px;
}

@media all and (max-width : 820px ){
.sec_column {
padding: 60px 0 50px;
}
}

.report_box_wrap {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.report_box_left {
width: 39.68%;
}
.report_box_right {
width: 55.56%;
}
.report_box_left .report_thum {
width: 100%;
height: auto;
position: relative;
overflow: hidden;
margin-bottom: 15px;
}
.report_box_left .report_thum img {
width: 100%;
aspect-ratio: 3 / 2;
object-fit: cover;
transition-duration: 0.7s;
}
.report_box_left .report_txtbox {
display: flex;
flex-direction: column;
}
.report_box_left .report_txtbox dt {
font-family: "Barlow Condensed", sans-serif;
font-size: 1.3rem;
line-height: 100%;
margin-bottom: 10px;
}
.report_box_left .report_txtbox .report_title {
font-size: 1.8rem;
font-weight: 500;
letter-spacing: 0.2em;
padding: 0 10px 15px 0;
border-bottom: solid 1px #ccc;
margin-bottom: 15px;
transition-duration: 0.7s;
}
.report_box_left .report_txtbox .report_txt {
font-size: 1.4rem;
line-height: 180%;
letter-spacing: 0.2em;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
.report_box_left a:hover .report_thum img {
transform: scale(1.05);
transition-duration: 0.7s;
opacity: .8;
}
.report_box_left a:hover .report_txtbox .report_title {
color: #034E95;
text-decoration: underline;
transition-duration: 0.7s;
}
.report_box_right .report_thum {
max-width: 130px;
height: auto;
position: relative;
margin-right: 20px;
overflow: hidden;
}
.report_box_right .report_thum img {
width: 100%;
aspect-ratio: 3 / 2;
object-fit: cover;
transition-duration: 0.7s;
}
.report_box_right .report_txtbox {
width: 78.43%;
}
.report_box_right .report_txtbox dt {
font-family: "Barlow Condensed", sans-serif;
font-size: 1.2rem;
line-height: 100%;
margin-bottom: 6px;
}
.report_box_right .report_txtbox .report_title {
font-weight: 500;
font-size: 1.6rem;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
transition-duration: 0.7s;
}
.report_box_right .report_box a {
display: flex;
align-items: center;
padding-bottom: 20px;
border-bottom: solid 1px #ccc; 
margin-bottom: 20px;
}
.report_box_right .report_box:last-of-type a {
border-bottom: none;
}
.report_box_right .report_box a:hover .report_thum img {
transform: scale(1.05);
transition-duration: 0.7s;
opacity: .8;
}
.report_box_right .report_box a:hover .report_txtbox .report_title {
color: #034E95;
text-decoration: underline;
transition-duration: 0.7s;
}
.txt_right {
display: flex;
justify-content: flex-end;
padding-top: 15px;
}

@media all and (max-width : 820px ){
.report_box_left .report_txtbox .report_title {
font-size: 1.6rem;
letter-spacing: 0.2em;
padding: 0 5px 15px 0;
}
.report_box_right .report_txtbox .report_title {
font-size: 1.5rem;
}
}

@media all and (max-width : 767px ){
.sec_column {
padding: 40px 0 30px;
}
.report_box_wrap {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
}
.report_box_left {
width: 100%;
margin-bottom: 30px;
}
.report_box_right {
width: 100%;
}
.report_box_right .report_thum {
max-width: 100px;
margin-right: 15px;
}
.report_box_left .report_txtbox .report_title {
font-size: 1.5rem;
padding: 0 5px 10px 0;
}
.report_box_left .report_txtbox .report_txt {
font-size: 1.2rem;
}
.report_box_right .report_txtbox .report_title {
font-size: 1.4rem;
}
}


/*-------------------------------------------------
よくあるご質問
-------------------------------------------------*/

.sec_faq {
padding: 80px 0 0;
}
.faq_title {
font-size: 3.0rem;
font-weight: 700;
letter-spacing: 0.2em;
padding-bottom: 10px;
margin-bottom: 40px;
}

@media all and (max-width : 1024px ){
.faq_title {
font-size: 2.4rem;
margin-bottom: 30px;
}
}

@media all and (max-width : 820px ){
.sec_faq {
padding: 60px 0 0;
}
.faq_title {
font-size: 2.0rem;
}
}

@media all and (max-width : 767px ){
.sec_faq {
padding: 40px 0 0;
}
.faq_title {
font-size: 1.5rem;
letter-spacing: 0.1em;
margin-bottom: 20px;
}
}

.faq_box_wrap {
display: flex;
flex-wrap: wrap;
margin-bottom: 50px;
}
.faq_box {
width: calc(50% - 40px / 2);
margin-right: 40px;
border-radius: 10px;
padding: 40px;
}

@media all and (max-width : 820px ){
.faq_box {
width: calc(50% - 20px / 2);
margin-right: 20px;
padding: 20px;
}
}

@media all and (max-width : 767px ){
.faq_box_wrap {
display: flex;
flex-direction: column;
margin-bottom: 0px;
}
.faq_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
padding: 20px;
}
}

.faq_box:nth-child(2) {
margin-right: 0;
}
.faq_box.bg_blue {
background: #ebf0f7;
}
.faq_box.bg_pink {
background: #FFF6F7;
}
.color_blue {
color: #1D50A2;
border-bottom: solid 3px #1D50A2;
}
.color_pink {
color: #ED99A3;
border-bottom: solid 3px #ED99A3;
}
.faq_q {
padding: 0 0 0 65px;
position: relative;
font-size: 2.0rem;
margin: 0 0 28px;
}
.faq_q:before {
content: "Q";
width: 45px;
height: 45px;
border-radius: 50%;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
font-family: "Roboto", sans-serif;
font-weight: 400;
font-size: 2.6rem;
position: absolute;
left: 0;
top: -6px;
}
.bg_blue .faq_q:before {
background: #1d50a2;
}
.bg_pink .faq_q:before {
background: #ED99A3;
}
.faq_q span {
font-size: 2.0rem;
font-weight: 700;
}
.bg_blue .faq_q span {
color: #1d50a2;
}
.bg_pink .faq_q span {
color: #ED99A3;
}
.faq_a {
padding: 0 0 0 65px;
position: relative;
font-size: 1.6rem;
}
.faq_a:before {
content: "A";
width: 41px;
height: 41px;
border-radius: 50%;
background: #fff;
display: flex;
justify-content: center;
align-items: center;
font-family: "Roboto", sans-serif;
font-weight: 400;
font-size: 2.6rem;
position: absolute;
left: 0;
top: -6px;
}
.bg_blue .faq_a:before {
border: 2px solid #1d50a2;
color: #1d50a2;
}
.bg_pink .faq_a:before {
border: 2px solid #ED99A3;
color: #ED99A3;
}
.txt_center {
display: flex;
justify-content: center;
margin-bottom: 50px;
}

@media all and (max-width : 820px ){
.faq_q span {
font-size: 1.6rem;
}
.faq_q {
padding: 0 0 0 55px;
line-height: 115%;
}
.faq_a {
padding: 0 0 0 55px;
font-size: 1.4rem;
}
.faq_q:before,
.faq_a:before {
width: 35px;
height: 35px;
font-size: 2.0rem;
position: absolute;
left: 0;
top: 0px;
}
}

@media all and (max-width : 767px ){
.txt_center {
margin-bottom: 25px;
}
}