@charset "utf-8";
/* fixes v106 - pc.css and sp.css both load unconditionally on every viewport (no @media scoping at enqueue time), and pc.css loads after sp.css, so for every selector defined in both files pc.css always won regardless of actual screen width - sp.css's mobile-intended values (114 conflicting selectors found via diff) were dead code. This silently broke mobile layout throughout the page: CTA button widths (410px/500px, already fixed separately as fixes v105), a text-overlay box (.sec6_txt2) using position:absolute with desktop-only dimensions that overflowed and overlapped the next section's text on narrow screens, and dozens of other font-size/width/spacing values staying at desktop scale on phones. Wrapping this entire file (everything after @charset) in a min-width:768px query - matching the breakpoint style.css's fixes v27 already established for this page's .pc/.sp section toggle - makes pc.css desktop-only, so sp.css's already-correct unconditional mobile values take effect below that width without needing to touch sp.css or the enqueue order at all. */
@media (min-width:768px) {
/* PC */

body {
  font-size: 16px;
}
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], textarea, select {
  padding: 10px;
  font-size: 16px;
}
a img {
  transition: .4s;
}
a:hover img {
  opacity: .7;
  transition: .4s;
}
.sp, .sp2 {
  display: none;
}


/* 基本レイアウト---------------- */
#wrapper {
  position: relative;
  width: 100%;
  text-align: center;
}
#container {
  width: 100%;
  padding-top: 90px;
}
.flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.flex_st {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  align-self: center;
}


/* ヘッダー---------------- */
#head {
  position: absolute;
  width: 100%;
  height: 170px;
  color: #fff;
  background: rgba(0,38,88,.86);
  box-shadow: 0 0 12px rgba(0,0,0,.75);
  z-index: 100;
}
.head1 {
  height: 90px;
  padding-top: 10px;
  background: #fff;
}
.head2 {
  height: 80px;
  padding-top: 25px;
}
#head_logo img {
  max-width: 100%;
  height: auto;
}
#head_navi {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
}
#head_navi ul {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#head_navi ul li {
  position: relative;
  width: 20%;
  font-size: 22px;
}
#head_navi ul li:after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "|";
}
#head_navi ul li:last-child:after {
  display: none;
}
#head_navi ul li a {
  display: block;
  color: #fff;
  transition: .4s;
}
#head_navi ul li a:hover {
  text-shadow: 0 0 10px rgba(0,0,0,.9);
	transform: translateY(-0.2em);
}
@media screen and (max-width:1200px) {
  #head_navi ul li {
    font-size: 18px;
  }
}

.sp_navi_btn, #sp_navi, #sp_menu {
  display: none;
}


/* コンテンツ---------------- */
#main_img {
  position: relative;
  width: 100%;
  height: 816px;
}
#slider1 {
  position: relative;
  overflow: hidden;
}
#slider1 .slick-track {
  position: relative;
}
#slider1 .slick-slide {
  height: 816px;
}
#slider1 .slide1 {
  width: 100vw;
  height: 816px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url("../img/slide1.jpg") no-repeat;
  background-size: cover;
  background-position: center top;
}
#slider1 .slick-dots {
  bottom: 30px;
}
.slick-dots li {
  margin: 0 5px; 
  width: 45px;
  height: 2px;
}
#slider1 .slick-dots li button:before {
  content: "";
  width: 45px;
  height: 2px;
  background: #407E97;
  opacity: .7;
}
#slider1 .slick-dots li.slick-active button:before{
  background: #E6F8FF;
  opacity: 1;
}
.main_copy {
  position: absolute;
  top: 320px;
  left: 0;
  right: 0;
  line-height: 1.5;
  color: #fff;
}
.copy1 {
  margin-bottom: 10px;
  font-size: 48px;
  text-shadow: 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1);
}
.copy2 {
  margin-bottom: 20px;
  font-size: 20px;
  letter-spacing: .2em;
  text-shadow: 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1);
}
.mark1 {
  margin-bottom: 20px;
}
.copy3 {
  font-size: 38px;
  letter-spacing: .1em;
  text-shadow: 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1);
}
.main_sns {
  position: absolute;
  bottom: 50px;
  right: 70px;
}
.main_sns ul {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
  width: 374px;
}
.main_sns ul li {
  width: 104px;
  margin-right: 31px;
}
.main_sns ul li:last-child {
  margin-right: 0;
}
@media screen and (max-width:800px) {
  .copy1 {
    font-size: 40px;
  }
  .copy3 {
    font-size: 32px;
  }
}

#sec1 {
  height: 514px;
  padding: 80px 0 70px;
  color: #434343;
  background: url("../img/bg1.jpg") no-repeat;
  background-size: cover;
}
.sec1_1 {
  width: 96%;
  max-width: 1570px;
  margin: 0 auto;
}
.h2_1 {
  margin-bottom: 10px;
  font-size: 33px;
  color: #9E834A;
  text-shadow: 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1);
}
.mark2 {
  margin-bottom: 20px;
}
.p1 {
  font-size: 20px;
  text-shadow: 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1);
}

#sec2 {
  color: #fff;
  background: #1A3D60;
}
.col1 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.col1_1, .col1_2, .col1_3, .col1_4, .col1_5, .col1_6 {
  width: 33.3%;
}
.box1 {
  font-size: 24px;
}
@media screen and (max-width:1240px) {
  .box1 {
    font-size: 20px;
  }
}
@media screen and (max-width:800px) {
  .box1 {
    font-size: 16px;
  }
}

#sec3 {
  padding-bottom: 100px;
  background: #F8F8F2;
}
.sec3_1 {
  height: 307px;
  padding-top: 120px;
  background: url("../img/bg2.jpg") no-repeat;
  background-size: cover;
}
.h2_2 {
  margin-bottom: 10px;
  font-size: 33px;
  color: #9E834A;
  text-shadow: 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1);
}
.col2 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.col2_1, .col2_2, .col2_3, .col2_4 {
  position: relative;
  width: 50%;
}
.col2_1 .img100, .col2_2 .img100, .col2_3 .img100, .col2_4 .img100 {
  aspect-ratio: 951 / 616;
  overflow: hidden;
}
.col2_1 .img100 img, .col2_2 .img100 img, .col2_3 .img100 img, .col2_4 .img100 img {
  height: 100%;
  object-fit: cover;
}
.col2_txt {
  position: absolute;
  bottom: 30px;
  left: 55px;
  text-align: left;
  color: #fff;
}
.col2_t1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 47px;
  padding: 0 24px;
  margin-bottom: 15px;
  text-align: center;
  font-size: 24px;
  background: #BB9A53;
  box-shadow: 0 0 12px #fff, 0 0 12px #fff, 0 0 12px #fff;
}
.col2_t2 {
  line-height: 1.3;
  font-size: 18px;
  text-shadow: 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1);
}
@media screen and (max-width:1380px) {
  .col2_t1 {
    min-height: 40px;
    padding: 0 20px;
    font-size: 20px;
  }
  .col2_t2 {
    font-size: 16px;
  }
}
@media screen and (max-width:1160px) {
  .col2_t1 {
    min-height: 36px;
    padding: 0 18px;
    font-size: 18px;
  }
  .col2_t2 {
    font-size: 16px;
  }
}
@media screen and (max-width:960px) {
  .col2_t1 {
    min-height: 32px;
    padding: 0 16px;
    font-size: 16px;
  }
  .col2_t2 {
    font-size: 15px;
  }
}
@media screen and (max-width:800px) {
  .col2_t1 {
    min-height: 30px;
    padding: 0 14px;
    font-size: 16px;
  }
  .col2_t2 {
    font-size: 15px;
  }
}

#sec4 {
  padding: 110px 0 105px;
  color: #fff;
  background: #122A4D url("../img/bg7.jpg");
  background-size: cover;
}
.h2_3 {
  margin-bottom: 15px;
  font-size: 33px;
}
.mark4 {
  margin-bottom: 70px;
}
.col3 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  margin-bottom: 155px;
}
.col3_1 {
  order: 2;
  width: 61%;
}
.col3_2 {
  order: 1;
  width: 39%;
  padding: 0 4.3% 0 8.6%;
  text-align: left;
}
.h3_1 {
  margin-bottom: 20px;
  font-size: 30px;
}
.col4 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  width: 98%;
  max-width: 1700px;
  margin: 0 auto;
}
.col4_1 {
  width: 58%;
}
.col4_2 {
  width: 42%;
  padding: 0 4.4% 0 8.8%;
  text-align: left;
}

.col5 {
  position: relative;
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  text-align: left;
  background: #C2DADC;
}
.col5_1 {
  order: 2;
  width: 55%;
}
.col5_2 {
  order: 1;
  position: relative;
  width: 45%;
  z-index: 5;
}
.col5:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 27%;
  max-width: 514px;
  height: 290px;
  background: url("../img/bg_box1_1.png") no-repeat;
  background-size: 100%;
  background-position: left top;
  z-index: 1;
}
.col5:after {
  position: absolute;
  bottom: 0;
  right: 55%;
  display: block;
  content: "";
  width: 27%;
  max-width: 514px;
  height: 290px;
  background: url("../img/bg_box1_2.png") no-repeat;
  background-size: 100%;
  background-position: right bottom;
  z-index: 1;
}
.col5_txt {
  padding: 0 9.4% 0 9.7%;
}
.h2_4 {
  margin-bottom: 15px;
  font-size: 30px;
}
.p2 {
  font-size: 18px;
}
.col6 {
  position: relative;
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  text-align: left;
  background: #fff;
}
.col6_1 {
  width: 55%;
}
.col6_2 {
  position: relative;
  width: 45%;
  z-index: 5;
}
.col6:before {
  position: absolute;
  top: 0;
  left: 55%;
  display: block;
  content: "";
  width: 27%;
  max-width: 514px;
  height: 290px;
  background: url("../img/bg_box2_1.png") no-repeat;
  background-size: 100%;
  background-position: left top;
  z-index: 1;
}
.col6:after {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  content: "";
  width: 27%;
  max-width: 514px;
  height: 290px;
  background: url("../img/bg_box2_2.png") no-repeat;
  background-size: 100%;
  background-position: right bottom;
  z-index: 1;
}
.col6_txt {
  padding: 0 9.4% 0 9.7%;
}
.col7 {
  position: relative;
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  text-align: left;
  background: #DEDEDE;
}
.col7_1 {
  order: 2;
  width: 55%;
}
.col7_2 {
  order: 1;
  position: relative;
  width: 45%;
  z-index: 5;
}
.col7:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 27%;
  max-width: 514px;
  height: 290px;
  background: url("../img/bg_box3_1.png") no-repeat;
  background-size: 100%;
  background-position: left top;
  z-index: 1;
}
.col7:after {
  position: absolute;
  bottom: 0;
  right: 55%;
  display: block;
  content: "";
  width: 27%;
  max-width: 514px;
  height: 290px;
  background: url("../img/bg_box3_2.png") no-repeat;
  background-size: 100%;
  background-position: right bottom;
  z-index: 1;
}
.col7_txt {
  padding: 0 9.4% 0 9.7%;
}

#sec6 {
  padding: 85px 0 115px;
  color: #fff;
  background: #122A4D url("../img/bg8.jpg");
  background-size: cover;
}
.h2_5 {
  margin-bottom: 15px;
  font-size: 30px;
}
.mark5 {
  margin-bottom: 40px;
}
.sec6_txt1 {
  width: 90%;
  max-width: 690px;
  margin: 0 auto 70px;
  text-align: left;
}
.h3_2 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 28px;
}
.sec6_img1 {
  position: relative;
  margin-bottom: 72px;
}
.sec6_txt2 {
  position: absolute;
  top: 45px;
  left: 0;
  width: 40%;
  max-width: 766px;
  padding: 80px 5.7%;
  text-align: left;
  color: #191919;
  background: rgba(255,255,255,.55);
}
@media screen and (max-width:800px) {
  .sec6_txt2 {
    top: 20px;
    padding: 20px 2%;
  }
}
.sec6_img2 {
  position: relative;
  margin-bottom: 140px;
}
.col8 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  width: 98%;
  margin: 0 auto;
  text-align: left;
}
.col8_1 {
  order: 2;
  width: 44%;
}
.col8_2 {
  order: 1;
  width: 56%;
}
.sec6_txt3 {
  width: 90%;
  max-width: 580px;
  margin: 0 auto;
  font-size: 22px;
}

#sec7 {
  padding: 80px 0 140px;
  background: url("../img/bg11.jpg");
  background-size: cover;
}
.h2_6 {
  margin-bottom: 15px;
  font-size: 30px;
  color: #BB9A53;
  text-shadow: 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1), 0 0 12px rgba(255,255,255,1);
}
.mark6 {
  margin-bottom: 55px;
}
.col9 {
  position: relative;
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  margin-bottom: 183px;
}
.col9:after {
  position: absolute;
  bottom: -27px;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 27px;
  background: rgba(74,70,125,.85);
}
.col9_1 {
  width: 50.16%;
}
.col9_2 {
  width: 49.84%;
}
.col10 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  margin-bottom: 140px;
}
.col10_1 {
  position: relative;
  width: 63.3%;
}
.col10_2 {
  width: 36.7%;
  padding: 0 4.7% 0 6.2%;
  text-align: left;
}
.tate1 {
  position: absolute;
  top: 18px;
  left: 55px;
  width: 9.1%;
}
.tate1_text {
  width: auto;
  writing-mode: vertical-rl;
  font-size: 30px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1);
}
.h3_3 {
  margin-bottom: 20px;
  font-size: 30px;
}
.col11 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.col11_1 {
  order: 2;
  position: relative;
  width: 61.9%;
}
.col11_2 {
  order: 1;
  width: 38.1%;
  padding: 0 4.7% 0 7.5%;
  text-align: left;
}
.tate2 {
  position: absolute;
  top: 20px;
  right: 55px;
  width: 9.2%;
}
.tate2_text {
  width: auto;
  writing-mode: vertical-rl;
  font-size: 30px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #fff;
  text-shadow: 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1), 0 0 12px rgba(0,0,0,1);
}

#sec8 {
  padding: 110px 0 125px;
  color: #fff;
  background: #122A4D url("../img/bg10.jpg");
  background-size: cover;
}
.h2_7 {
  margin-bottom: 15px;
  font-size: 33px;
}
.mark7 {
  margin-bottom: 40px;
}
.p4 {
  margin-bottom: 140px;
  font-size: 30px;
}
.col12 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  margin-bottom: 150px;
}
.col12_1 {
  order: 2;
  width: 62%;
}
.col12_2 {
  order: 1;
  width: 38%;
  padding: 0 4.3% 0 7.9%;
  text-align: left;
}
.col13 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  margin-bottom: 185px;
}
.col13_1 {
  width: 57%;
}
.col13_2 {
  width: 43%;
  padding: 0 7.9% 0 9.3%;
  text-align: left;
}
.col14 {
  display: flex;
	flex-wrap: wrap;
	align-items: center;
  margin-bottom: 150px;
}
.col14_1 {
  order: 2;
  width: 47.6%;
}
.col14_2 {
  order: 1;
  width: 52.4%;
  padding: 0 5.5% 0 5.2%;
  text-align: left;
}

#sec9 {
  padding: 70px 0;
  background: url("../img/bg11.jpg");
  background-size: cover;
}
.h2_8 {
  height: 45px;
  margin-bottom: 80px;
  font-size: 33px;
  color: #fff;
  background: #4A467D;
}
.dl1 {
  width: 90%;
  max-width: 600px;
  margin: 0 auto;
  font-size: 18px;
}
.dl1 dt {
  margin-bottom: 35px;
}
.dl1 dd {
  margin-bottom: 80px;
}
.dl1 dd:last-child {
  margin-bottom: 0;
}

#sec10 {
  height: 977px;
  overflow: hidden;
}

#sec11 {
  padding: 165px 0 90px;
  background: url("../img/bg11.jpg");
  background-size: cover;
}
.h2_9 {
  width: 472px;
  margin: 0 auto 110px;
  padding: 5px;
  font-size: 29px;
  color: #4A467D;
  border-top: 2px solid #4A467D;
  border-bottom: 2px solid #4A467D;
}
.sec11_txt1 {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto 200px;
  text-align: left;
}
.p4 {
  font-size: 20px;
}
.col15 {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
  width: 98%;
  max-width: 1410px;
  margin: 0 auto;
}
.col15_1 {
  width: 62.8%;
  padding: 0 5.3% 0 2%;
  text-align: left;
}
.col15_2 {
  width: 37.2%;
}
.sec11_1 {
  margin-bottom: 140px;
}
.sec11_2 {
  margin-bottom: 160px;
}
.h3_4 {
  width: 90%;
  max-width: 583px;
  height: 55px;
  margin-bottom: 55px;
  padding-top: 12px;
  text-align: center;
  font-size: 24px;
  color: #fff;
  background: #4A467D;
  border-radius: 10px;
}
.btn1 a {
  position: relative;
  display: block;
  width: 410px;
  height: 54px;
  margin: 0 auto;
  padding-top: 10px;
  text-align: center;
  font-size: 22px;
  color: #fff;
  background: #4A467D;
  border: 1px solid #4A467D;
  transition: .4s;
}
.btn1 a:hover {
  color: #4A467D;
  background: #fff;
  transition: .4s;
}


/* フッター----------------- */
.foot_navi {
  display: none;
}
.foot1 {
  padding: 63px 0 30px;
  color: #fff;
  background: #041934;
}
.foot_logo {
  margin-bottom: 55px;
}
.foot_logo img {
  max-width: 100%;
  height: auto;
}
.foot_txt {
  margin-bottom: 50px;
  font-size: 20px;
}
.foot_address {
  margin-bottom: 60px;
  font-size: 23px;
}
.foot_sns {
  width: 416px;
  margin: 0 auto 40px;
}
.foot_sns ul {
  display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
.foot_sns ul li {
  width: 116px;
  margin-right: 34px;
}
.foot_sns ul li:last-child {
  margin-right: 0;
}
.btn2 a {
  position: relative;
  display: block;
  width: 500px;
  height: 56px;
  margin: 0 auto;
  padding-top: 12px;
  text-align: center;
  font-size: 19px;
  color: #fff;
  background: #4A467D;
  border: 1px solid #4A467D;
  transition: .4s;
}
.btn2 a:hover {
  color: #4A467D;
  background: #fff;
  transition: .4s;
}
.foot_btn1 {
  margin-bottom: 23px;
}
.foot2 {
  padding: 25px 0 30px;
  color: #fff;
  background: #000;
}
.copyright small {
  font-size: 18px;
}
#pagetop, #trip_ai_container, #foot_cta {
  display: none;
}


/* 汎用スタイル---------------- */
.center {
  text-align: center;
}
.left {
  text-align: left;
}
.right {
  text-align: right;
}
.img100 img {
  width: 100%;
  height: auto;
}
.img_res img {
  max-width: 100%;
  height: auto;
}
.bold {
  font-weight: 600;
}

}

.col3_2 p {
  word-break: auto-phrase;
  text-wrap: pretty;
}

.col3_2 p a {
  color: #e8c992;
  text-decoration: underline;
  font-weight: 700;
}
