@charset "utf-8";
/* course css */


/*-------------------------------------------------
ページタイトル
-------------------------------------------------*/

.bg_imgbox {
width: 100%;
height: 600px;
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
position: relative;
z-index: 0;
}
.bg_imgbox::before {
content: "";
width: 100%;
height: 600px;
background: #000;
opacity: 0.3;
position: absolute;
left: 0;
top: 0;
}

@media all and (max-width : 820px ){
.bg_imgbox {
height: 480px;
background-position: center top;
background-size: cover;
}
.bg_imgbox::before {
height: 480px;
}
}

.course_title {
font-weight: 700;
font-size: 3.4rem;
letter-spacing: 0.1em;
margin-bottom: 10px;
}
.course_sub_title {
font-size:2.0rem;
font-weight: 500;
letter-spacing: 0.15em;
margin-bottom: 15px;
}

@media all and (max-width : 1260px ){
.course_title {
font-size: 3.0rem;
}
.course_sub_title {
font-size:1.6rem;
}
}

@media all and (max-width : 820px ){
.course_title {
font-size: 2.6rem;
}
}

.challenge {
font-size: 1.2rem;
font-weight: 500;
line-height: 100%;
letter-spacing: 0.1em;
padding: 5px 15px;
background: #D92139;
border-radius: 5px;
color: #fff;
}
.title_box {
max-width: 835px;
height: 220px;
background: rgba(255,255,255,0.8);
padding: 35px 50px 50px 50px;
position: absolute;
top: 50%;
left: 5.21%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
z-index: 2;
}

@media all and (max-width : 820px ){
.title_box {
max-width: 820px;
height: auto;
padding: 25px 40px 30px 40px;
}
}

@media all and (max-width : 767px ){
.bg_imgbox {
height: 260px;
background-position: center top;
background-size: cover;
}
.bg_imgbox::before {
content: "";
height: 260px;
}
.course_title {
font-size: 1.6rem;
letter-spacing: 0.1em;
margin-bottom: 10px;
}
.course_sub_title {
font-size: 1.2rem;
letter-spacing: 0.1em;
margin-bottom: 10px;
}
.challenge {
font-size: 1.0rem;
padding: 5px 10px;
}
.title_box {
max-width: 350px;
height: auto;
padding: 15px 20px 20px 20px;
}
}

#course01 .bg_imgbox {
background-image:url("../img/course01/title_bg.jpg");
}
#course02 .bg_imgbox {
background-image:url("../img/course02/title_bg.jpg");
}


/*-------------------------------------------------
ページメニュー
-------------------------------------------------*/

.menubox {
width: 100%;
background: #B90025;
padding: 20px 0 25px;
}
.sec_menu_list {
max-width: 1150px;
padding: 0 20px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}
.sec_menu_list li a {
font-size: 1.6rem; 
font-weight: 500;
color: #fff;
position: relative;
padding: 0 10px 10px 10px;
transition: ease 0.5s;
}
.sec_menu_list li a::after {
content: '›';
position: absolute;
bottom: -6px;
left: 50%;
color: #fff;
font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
font-weight: 400;
font-style: normal;
font-size: 2.2rem;
line-height: 0.6;
transform: translate(-50%, 0) rotate(90deg);
transition: ease .3s;
}
.sec_menu_list li a:hover {
color: #ccc;
font-weight: 600;
transition: ease 0.5s;
}
.sec_menu_list li a:hover::after {
bottom: -9px;
color: #ccc;
transition: ease .3s;
}

@media all and (max-width : 767px ){
.menubox {
padding: 8px 0 20px;
}
.sec_menu_list {
padding: 0;
}
.sec_menu_list li a {
font-size: 1.0rem; 
letter-spacing: 0;
padding: 0 5px 7px 0px;
}
.sec_menu_list li:first-of-type a {
padding-left: 5px;
}
.sec_menu_list li a::after {
font-size: 1.6rem;
}
}


/*-------------------------------------------------
sec_outline
-------------------------------------------------*/

.sec_outline {
padding: 60px 0 80px;
}
.sec_titlebox {
margin-bottom: 35px;
}
.sec_title_en {
font-family: "hyperspace-race-variable",sans-serif;
font-variation-settings: 'wght' 700, 'wdth' 100, 'ital' 10;
font-size: 3.4rem;
line-height: 100%;
margin-bottom: 6px;
padding-left: 40px;
position: relative;
}
.sec_title_en::before {
content: "";
display: inline-block;
width: 30px;
height: 1px;
background-color: #000;
position: absolute;
left: 0;
top: 50%;
}

@media all and (max-width : 820px ){
.sec_title_en {
font-size: 3.0rem;
}
}

.sec_title_jp {
font-size: 1.4rem;
font-weight: 500;
line-height: 100%;
letter-spacing: 0.1em;
margin-left: 40px;
}
.data_box {
display: flex;
align-items: center;
margin-bottom: 12px;
}
.data_box dt {
font-size: 1.4rem;
font-weight: 700;
line-height: 100%;
color: #fff;
letter-spacing: 0.1em;
padding: 8px 20px;
background: #B90025;
border-radius: 50px;;
margin-right: 20px;
}
.data_box .rating {
display: flex;
align-items: center;
}
.data_box .rating li {
width: 25px;
height: auto;
margin-right: 2px;
}
.route_copy {
font-weight: 700;
font-size: 2.0rem;
letter-spacing: 0.2em;
margin-bottom: 20px;
}
.route_desc {
font-size: 1.5rem;
line-height: 200%;
margin-bottom: 30px;
}
.route_outlinebox {
padding: 0 30px 0 40px;
}


@media all and (max-width : 767px ){
.sec_outline {
padding: 30px 0 40px;
}
.route_copy {
font-size: 1.4rem;
letter-spacing: 0.1em;
margin-bottom: 15px;
}
.route_desc {
font-size: 1.2rem;
line-height: 180%;
}
.data_box {
margin-bottom: 10px;
}
.data_box dt {
font-size: 1.2rem;
}
.data_box .rating li {
width: 18px;
}
.data_box dd {
font-size: 1.4rem;
}
.sec_titlebox {
margin-bottom: 25px;
}
.sec_title_en {
font-size: 2.0rem;
margin-bottom: 6px;
padding-left: 26px;
}
.sec_title_en::before {
width: 20px;
top: 46%;
}
.sec_title_jp {
font-size: 1.0rem;
margin-left: 25px;
}
.route_outlinebox {
padding: 0 0px 0 15px;
}
}


/*-------------------------------------------------
sec_map
-------------------------------------------------*/

.sec_map {
width: 100%;
background: #F5F5F5;
padding: 80px 0 100px;
}
.intro_desc {
font-size: 1.5rem;
line-height: 200%;
margin-bottom: 40px;
padding: 0 30px 0 40px;
}
.intro_desc span {
color:#B90025;
}
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 38.09%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

@media all and (max-width : 767px ){
.sec_map {
padding: 30px 0 40px;
}
.gmap {
padding-bottom: 100%;
}
.intro_desc {
font-size: 1.2rem;
line-height: 180%;
margin-bottom: 40px;
padding: 0 0px 0 10px;
}
}


/*-------------------------------------------------
sec_spot
-------------------------------------------------*/

.sec_spot {
width: 100%;
background: #fafafa;
padding: 80px 0 40px;
}
.sec_spot .sec_title_jp {
color: #999;
}
.spot_box_wrap {
max-width: 1260px;
display: flex;
flex-wrap: wrap;
}
.spot_box {
width: calc(33.3333333% - 60px / 3);
margin-right: 30px;
margin-bottom: 30px;
padding-bottom: 30px;
border: solid 1px #ddd;
position: relative;
}
.spot_box:nth-child(3n) {
margin-right: 0;
}
.spot_img {
width: 100%;
margin-bottom: 20px;
position: relative;
background: #000;
overflow: hidden;
}
.spot_img img {
width: 100%;
transition-duration: 0.7s;	
}
.spot_img img:hover {
transform: scale(1.05);	
transition-duration: 0.7s;	
opacity: 0.8;
}
.spot_box .spot_title {
font-weight: 500;
font-size: 1.8rem;
letter-spacing: 0.2em;
margin: 0 0 15px 15px;
padding-right: 10px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
}
.work_title {
font-size: 1.4rem;
font-weight: 600;
color: #8F6D48;
padding: 0 10px 0 15px;
margin-bottom: 10px;
letter-spacing: 0.05em;
}
.spot_read {
font-size: 1.4rem;
line-height: 180%;
padding: 0 15px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
}
.area_txt {
font-weight: 400;
font-size: 1.2rem;
padding: 4px 20px;
background-color: rgba(185,0,37,0.95);
text-align: center;
display: block;
color: #fff;
position: absolute;
right: 10px;
bottom: 10px;
border-radius: 3px;
}
.icon_pt {
position: absolute;
top: -30px;
left: 15px;
z-index: 10;
}
.icon_pt img {
width: 100%;
}

@media all and (max-width : 767px ){
.icon_pt {
position: absolute;
top: -24px;
left: 7px;
}
.icon_pt img {
width: 70%;
}
}


@media all and (max-width : 820px ){
.spot_box {
width: calc(50% - 20px / 2);
margin-right: 20px;
margin-bottom: 20px;
padding-bottom: 30px;
}
.spot_box:nth-child(3n) {
margin-right: 20px;
}
.spot_box:nth-child(2n) {
margin-right: 0px;
}
.spot_box .spot_title {
font-size: 1.6rem;
letter-spacing: 0.2em;
margin: 0 0 15px 15px;
}
.spot_read {
-webkit-line-clamp: 2;
}
}

@media all and (max-width : 767px ){
.sec_spot {
padding: 30px 0 0px;
}
.spot_box {
width: 100%;
margin-right: 0px;
margin-bottom: 35px;
padding-bottom: 20px;
}
.spot_box:nth-child(3n) {
margin-right: 0px;
}
.spot_img {
margin-bottom: 10px;
}
.spot_box .spot_title {
font-size: 1.4rem;
letter-spacing: 0.15em;
margin: 0 0 10px 15px;
padding-right: 10px;
}
.work_title {
font-size: 1.2rem;
}
.spot_read {
font-size: 1.2rem;
line-height: 160%;
padding: 0 15px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
.area_txt {
font-size: 1.1rem;
padding: 4px 10px;
}
}


/*-------------------------------------------------
sec_gift
-------------------------------------------------*/

.sec_gift {
padding: 80px 0;
background: #F5F5F5;
}
.gift_box {
max-width: 1170px;
margin: 0 auto　50px;
background: #fff;
border: solid 10px #ddd;
padding: 40px 0 50px;
margin-bottom: 60px;
}
.gift_title {
font-size: 2.4rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-bottom: 25px;
}
.gift_title span {
color: #D00A1D;
}
.gift_imgbox {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
}
.gift_txt {
font-size: 1.4rem;
line-height: 180%;
padding-top: 15px;
}
.gift_c_txt {
font-size: 1.3rem;
display: block;
text-align: right;
}
.link_btn_box .link_btn:nth-child(1) {
margin-right: 30px;
}

@media all and (max-width : 1024px ){
.gift_box {
padding: 30px 30px 40px;
margin-bottom: 50px;
}
.gift_title {
font-size: 2.2rem;
letter-spacing: 0.15em;
margin-bottom: 20px;
}
.gift_imgbox li {
width: 48.5%;
}
}

@media all and (max-width : 820px ){
.gift_title {
font-size: 2.0rem;
}
}

@media all and (max-width : 767px ){
.sec_gift {
padding: 40px 0;
}
.gift_box {
padding: 15px 0px 20px;
margin-bottom: 30px;
}
.gift_title {
font-size: 1.4rem;
letter-spacing: 0.1em;
margin-bottom: 15px;
}
.gift_imgbox li {
width: 48%;
}
.gift_c_txt {
font-size: 1.0rem;
}
.gift_txt {
font-size: 1.2rem;
padding-top: 10px;
}
.link_btn_box .link_btn:nth-child(1) {
margin-right: 10px;
}
}


/*-------------------------------------------------
sec_other
-------------------------------------------------*/

.sec_other {
padding: 50px 0 60px;
}
.sec_link_banner {
padding: 10px 0 60px;
}
.sec_link_banner .box_m {
position: relative;
}
.sec_link_banner .swiper-slide a {
transition: ease 0.5s;
}
.sec_link_banner .swiper-slide img {
width: 100%;
height: auto;
}
.sec_link_banner .swiper-slide a:hover {
opacity: 0.8;
transition: ease 0.5s;
}
.sec_link_banner .slide_banner .swiper-slide {
position: relative;
}
.sec_link_banner .slide_banner .swiper-slide .caption {
width: 100%;
background: rgba(0,0,0,0.85);
color: #fff;
font-size: 1.4rem;
font-weight: 600;
display: block;
text-align: center;
padding: 13px 10px;
line-height: 100%;
position: absolute;
bottom: 0;
}

@media all and (max-width : 767px ){
.sec_other {
padding: 30px 0 0px;
}
}


/* ページネーション
-------------------------------------------------*/

.sec_link_banner .swiper-pagination-bullet {
width: 5px;
height: 5px;
display: inline-block;
border-radius: 100%;
background: #000;
opacity: .2;
margin-right: 10px;
}
.sec_link_banner .swiper-pagination-bullet:last-child {
margin-right: 0px;
}
.sec_link_banner .swiper-pagination-bullet-active {
opacity: 1;
background: #D00A1D;
}
.sec_link_banner .swiper-pagination {
position: absolute;
bottom: -30px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
.sec_link_banner .swiper-pagination-bullet:hover {
cursor: pointer;
}