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

.bg_imgbox {
background: url("../img/service/title_bg.jpg") ;
background-size: cover;
}

@media all and (max-width : 767px ){
.bg_imgbox {
background: url("../img/service/title_bg_sp.jpg") ;
background-size: cover;
}
}


/*-------------------------------------------------
アンカーボタン
-------------------------------------------------*/

.anchor_btn_wrap {
display: flex;
flex-wrap: wrap;
margin-bottom: 100px;
}

@media all and (max-width : 1024px ){
.anchor_btn_wrap {
margin-bottom: 50px;
}
}

@media all and (max-width : 768px ){
.anchor_btn_wrap {
margin-bottom: 30px;
}
}

.anchor_btn_wrap .anchor_btn {
width: calc(25% - 60px / 4);
margin-right: 20px;
}
.anchor_btn_wrap .anchor_btn:nth-child(4) {
margin-right: 0px;
}
.anchor_btn_wrap .anchor_btn a {
width: 100%;
position: relative;
display: block;
border: 1px solid #A9ADB5;
text-align: center;
padding: 1rem 0 2rem 0;
transition: all 0.4s ease;
}
.anchor_btn_wrap .anchor_btn a:hover {
background: #003791;
color: #fff;
border: 1px solid #003791;
transition: all 0.4s ease;
}
.anchor_btn_wrap .anchor_btn a .anchor_txt {
display: block;
font-size: 1.3rem;
font-weight: 500;
}

@media all and (max-width : 1024px ){
.anchor_btn_wrap .anchor_btn a .anchor_txt {
font-size: 1.2rem;
}
}

@media all and (max-width : 900px ){
.anchor_btn_wrap .anchor_btn a .anchor_txt {
font-size: 1.2rem;
letter-spacing: 0.05em;
}
}

@media all and (max-width : 820px ){
.anchor_btn_wrap .anchor_btn {
width: calc(25% - 30px / 4);
margin-right: 10px;
}
.anchor_btn_wrap .anchor_btn a .anchor_txt {
font-size: 1.1rem;
}
}

@media all and (max-width : 767px ){
.anchor_btn_wrap .anchor_btn {
width: calc(50% - 10px / 2);
margin-right: 10px;
margin-bottom: 10px;
}
.anchor_btn_wrap .anchor_btn:nth-child(2) {
margin-right: 0px;
}
.anchor_btn_wrap .anchor_btn a .anchor_txt {
font-size: 1.0rem;
}
}

.anchor_btn_wrap .anchor_btn a:after {
content: '›';
position: absolute;
bottom: 4px;
left: 50%;
color: #555;
font-family: "Barlow Condensed", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 2.2rem;
line-height: 0.6;
transform: translate(-50%, 0) rotate(90deg);
}

@media all and (max-width : 767px ){
.anchor_btn_wrap .anchor_btn a:after {
bottom: 3px;
font-size: 2.0rem;
}
}

.anchor_btn_wrap .anchor_btn a:hover::after {
color: #fff;
}


/*-------------------------------------------------
service_box_wrap
-------------------------------------------------*/

.service_box_wrap {
counter-reset: number;
}
.sec_box {
padding-bottom: 100px;
border-bottom: solid 1px #ddd;
margin-bottom: 90px;
}
.sec_travel {
counter-increment: number;
}

@media all and (max-width : 767px ){
.sec_box {
padding-bottom: 10px;
margin-bottom: 60px;
}
}


/* work_title
-------------------------------------------------- */

.work_title_wrap {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 50px;
}
.work_title {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
}
.work_title::before {
content: counter(number, decimal-leading-zero);
position: absolute;
right: calc(100% + 0.5rem);
bottom: 100%;
font-family: "Rajdhani", sans-serif;
font-weight: 600;
white-space: nowrap;
letter-spacing: 0;
z-index: 5;
}
.work_title::after {
content: "";
position: absolute;
right: calc(100% - 0.5rem);
bottom: calc(100% + .5rem);
width: 1.75rem;
height: 0.0625rem;
background-color: #9c9992;
rotate: -45deg;
}
.work_title dt {
font-weight: 400;
font-size: 3.0rem;
letter-spacing: 0.2em;
line-height: 100%;
margin-bottom: 10px;
}
.work_title dd {
font-family: "Rajdhani", sans-serif;
font-weight: 600;
font-size: 1.4rem;
color: #003791;
letter-spacing: 0.05em;
}

@media all and (max-width : 767px ){
.work_title_wrap {
margin-bottom: 30px;
}
.work_title dt {
font-size: 1.8rem;
margin-bottom: 8px;
}
.work_title dd {
font-size: 1.1rem;
}
}


/*-------------------------------------------------
旅行部門
-------------------------------------------------*/

.intro_img {
width: 100%;
height: auto;
margin-bottom: 40px;
}
.intro_img img {
width: 100%;
}
.intro_copybox {
margin-bottom: 80px;
}
.intro_copybox dt {
font-size: 2.4rem;
font-weight: 500;
letter-spacing: 0.2em;
margin-bottom: 20px;
}
.intro_copybox dd {
font-size: 1.5rem;
line-height: 200%;
}
.service_dtl_box {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 60px;
}
.service_txtbox {
width: 52.78%;
}
.service_txtbox dt {
font-size: 2.2rem;
font-weight: 500;
letter-spacing: 0.2em;
margin-bottom: 25px;
}
.service_txtbox dd {
font-size: 1.5rem;
line-height: 200%;
}
.service_imgbox {
width: 41.27%;
}
.case_titlebox {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 40px;
padding-top: 100px;
}
.case_titlebox dt {
font-size: 2.2rem;
letter-spacing: 0.2em;
margin-bottom: 10px;
line-height: 100%;
}
.case_titlebox dd {
font-family: "Rajdhani", sans-serif;
font-weight: 600;
font-size: 1.4rem;
letter-spacing: 0.05em;
color: #003791;
}

@media all and (max-width : 1024px ){
.service_txtbox dd {
line-height: 180%;
}
}

@media all and (max-width : 820px ){
.service_dtl_box {
display: flex;
flex-direction: column-reverse;
justify-content: space-between;
align-items: center;
margin-bottom: 40px;
}
.service_txtbox {
width: 100%;
}
.service_imgbox {
width: 100%;
margin-bottom: 20px;
}
}

@media all and (max-width : 767px ){
.intro_img {
margin-bottom: 20px;
}
.intro_copybox {
margin-bottom: 30px;
}
.intro_copybox dt {
font-size: 1.6rem;
letter-spacing: 0.1em;
margin-bottom: 15px;
}
.intro_copybox dd {
font-size: 1.3rem;
line-height: 180%;
}
.service_dtl_box {
margin-bottom: 30px;
}
.service_txtbox dt {
font-size: 1.6rem;
letter-spacing: 0.1em;
margin-bottom: 15px;
}
.service_txtbox dd {
font-size: 1.3rem;
line-height: 180%;
}
.case_titlebox {
margin-bottom: 20px;
padding-top: 20px;
}
.case_titlebox dt {
font-size: 1.6rem;
letter-spacing: 0.1em;
}
.case_titlebox dd {
font-size: 1.2rem;
}
}


/*-------------------------------------------------
実績一覧
-------------------------------------------------*/

.item_box_wrap {
display: flex;
flex-wrap: wrap;
margin-bottom: 100px;
}
.item_box {
width: calc(33.33333333% - 60px / 3);
margin-right: 30px;
}
.item_box:nth-child(3n) {
margin-right: 0;
}

@media all and (max-width : 1024px ){
.item_box {
width: calc(33.33333333% - 40px / 3);
margin-right: 20px;
margin-bottom: 30px;
}
}

@media all and (max-width : 820px ){
.item_box {
width: calc(50% - 20px / 2);
margin-right: 20px;
}
.item_box:nth-child(3n) {
margin-right: 20px;
}
.item_box:nth-child(2n) {
margin-right: 0px;
}
}

@media all and (max-width : 767px ){
.item_box_wrap {
margin-bottom: 20px;
}
.item_box {
width: 100%;
margin-right: 0px;
}
.item_box:nth-child(3n) {
margin-right: 0px;
}
}


.item_imgbox {
width: 100%;
height: auto;
position: relative;
overflow: hidden;
background: #000;
margin-bottom: 15px;
}
.item_imgbox img {
width: 100%;
transition-duration: 0.7s;
aspect-ratio: 3 / 2;
object-fit: cover;
transform: translateZ(0);
backface-visibility: hidden;
will-change: transform;
}
.item_imgbox img:hover {
transform: scale(1.05);
transition-duration: 0.7s;
opacity: .8;
}
.item_title {
font-size: 1.6rem;
font-weight: 700;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 10px;
}
.item_type {
font-size: 1.2rem;
font-weight: 500;
letter-spacing: 0.15em;
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
}
.item_type li {
padding-left: 12px;
margin-left: 7px;
position: relative;
}
.item_type li:first-of-type {
padding-left: 0px;
margin-left: 0px;
}
.item_type li::before {
content: "/";
display: inline-block;
color: #000;
position: absolute;
left: 0;
top: 0;
}
.item_type li:first-of-type::before {
content: none;
}
.item_category {
display: flex;
padding-right: 15px;
}
.item_category li {
font-size: 1.1rem;
font-weight: 500;
padding: 8px 15px 8px;
line-height: 110%;
}
.cate_main {
background-color: #034E95;
border: solid 1px #034E95;
color: #fff;
border-radius: 3px;
margin-right: 10px;
}
.cate_sub {
background-color: #eee;
color: #000;
border: solid 1px #ccc;
border-radius: 3px;
}

@media all and (max-width : 767px ){
.item_title {
font-size: 1.5rem;
}
.item_type {
margin-bottom: 15px;
}
.item_category li {
font-size: 1.0rem;
padding: 6px 12px 6px;
line-height: 110%;
}
.cate_main {
margin-right: 8px;
}
}


/* 実績リンクエリア
-------------------------------------------------- */

.gallery_linkbox {
max-width: 980px;
height: 200px;
}
.gallery_linkbox a {
width: 100%;
height: 100%;
display: flex;
justify-content: space-between;
position: relative;
}
.gallery_linkbox .imgbox {
width: 50%;
position: relative;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
background: #000;
}
.gallery_linkbox .imgbox img {
width: 100%;
height: 100%;
object-fit: cover;
transition-duration: 0.7s;
}
.gallery_linkbox .txtbox {
width: 50%;
background: #223437;
text-align: center;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
transition: 0.6s;
}
.gallery_linkbox .txtbox dl dt {
font-size: 2.0rem;
font-weight: 500;
letter-spacing: 0.2em;
line-height: 100%;
margin-bottom: 5px;
}
.gallery_linkbox .txtbox dl dd {
font-family: "Rajdhani", sans-serif;
font-weight: 600;
font-size: 1.2rem;
letter-spacing: 0.05em;
}
.gallery_linkbox a:hover .imgbox img {
transform: scale(1.05);
transition-duration: 0.7s;
opacity: .8;
}
.gallery_linkbox a:hover .txtbox {
background: #003791;
}

@media all and (max-width : 767px ){
.service_box_wrap .box_s {
padding: 0;
}
.gallery_linkbox {
height: auto;
margin: 0 auto 30px;
}
.gallery_linkbox a {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.gallery_linkbox .imgbox {
width: 100%;
}
.gallery_linkbox .txtbox {
width: 100%;
padding: 10px 0;
}
.gallery_linkbox .txtbox dl dt {
font-size: 1.3rem;
margin-bottom: 5px;
}
.gallery_linkbox .txtbox dl dd {
font-size: 1.0rem;
}
}