@charset "utf-8";

/*PCSP共通設定*/
html {scroll-behavior: smooth;}/*smooth scroll*/
a{transition: .3s;}
a:link,
a:visited{color: #0952a4;}
a:hover{opacity: 0.7;}
.search_kokunaiBar .serchBox > ul li.select {background: #039!important;}
.search_kokunaiBar .serchBox > ul {border-bottom: 2px solid #039!important;}

/* =========================
   root
========================= */
:root {
  --c_black:    #464646;
  --c_blue:    #2a538c;
  --c_sky:     #c9e7e6;
  --c_white:   #ffffff;
  --c_red:     #d0021b;
  --c_brown:     #a07855;
  --c_gray:     #F1F1F1;
}


/*759px以下*/
@media screen and (max-width: 759.9px) {
.spnone{display:none;}
#dirPathBlock,
#anchorLinkBlock {
    font-size: 12px;
    margin: 1%;
}
main h1 {
	font-size: 12px;
	margin: 0 1%;
}
.inner {
	width: 98%;
	margin: 0 1%;
	padding: 5% 0;
}

/*news*/
#newsImportant{
	margin: 5px;
	display:flex;
	font-size: 11px;
}
#newsImportant dt{
	width: 72px;
    height: fit-content;
	background: #e62d2d;
	color: #FFF;
	text-align: center;
	border-radius: 3px;
	margin-top: 2px;
    padding: 3px 0;
}
#newsImportant dd{
	width: 100%;
	padding: 0 10px;
}
#newsImportant li{
	padding: 5px 3px 5px 12px;
	position: relative;
}
#newsImportant li:nth-of-type(n+2){border-top: 1px dotted #ccc;}
#newsImportant li:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid #555555;
	border-right: 0;
    position: absolute;
	top: 7px;
	left: 0;
}

  /* =========================
   root
========================= */
  :root {
    /* ===== 文字サイズ ===== */
    --fs_body: 1rem;
    --fs_caption: 0.9rem;
    --fs_sm: 1.1rem;
    --fs_md: 1.2rem;
    --fs_lg: 1.35rem;
    --fs_xl: 1.5rem;
    --fs_xxl: 1.7rem;
    --fs_3xl: 2rem;
    --fs_4xl: 2.2rem;
    --fs_4xl: 2.4rem;
    --fs_5xl: 2.6rem;
  }


  /* =========================
  title
========================= */
  div#title img {
    width: 100%;
    background: var(--c_sky);
  }

	
	h2{
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'HiraMinProN-W6', '游明朝', 'Yu Mincho', 'YuMincho', '小塚明朝 Pr6N', 'Kozuka Mincho Pr6N', 'Georgia', serif;
        font-size: var(--fs_xxl);
        font-weight: bold;
        color: var(--c_blue);
        text-align: center;
        line-height: 1.3;
        letter-spacing: 1px;
        margin: 10px 0;

	}

  /* =========================
  maincontent
========================= */	
	#maincontent{
		 background: var(--c_sky) ;
		font-feature-settings: “palt”
	}
.content_box {
  width: 100%;
  background-color: var(--c_white);
  padding: 1rem;
  margin: 0 0 2rem;
  box-sizing: border-box;
}
	.main{
		margin: 0 0 4rem;
	}

h3 {font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'HiraMinProN-W6', '游明朝', 'Yu Mincho', 'YuMincho', '小塚明朝 Pr6N', 'Kozuka Mincho Pr6N', 'Georgia', serif;
font-size: var(--fs_md);
        font-weight: bold;
        color: var(--c_blue);
        background: var(--c_gray);
        padding: 0.75rem;
        text-align: center;
        line-height: 1.5;
        margin-bottom: 1rem;
}

.box_area {
        display: flex;
        gap: 1rem;
        align-items: flex-start;
        flex-direction: column-reverse;
}

.box_txt {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
	align-self: stretch;
}

/* 料金行 */
.box_price {
  font-size: var(--fs_sm);
  font-weight: bold;
  color: var(--c_black);
  line-height: 1.5;
}

.price_value {
  font-size: var(--fs_lg);
  color: var(--c_red);
  font-weight: bold;
}

/* 出発日 */
.box_date {
    font-size: var(--fs_sm);
    font-weight: bold;
    color: var(--c_black);
    line-height: 1.5;
}
	
.box_price{
  padding-left: 5em; 
  text-indent: -5em; 
}	

.box_date  {
  padding-left: 4em; 
  text-indent: -4em; 
}		
.box_note {
  font-size: var(--fs_caption);
  color: var(--c_black);
}

/* 説明テキスト */
.box_description {
  font-size: var(--fs_body);
  color: var(--c_black);
  line-height: 1.5;
  word-break: break-all;
}

/* リンクボタン */
.box_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--c_blue);
  color: var(--c_white);
  font-size: var(--fs_sm);
  font-weight: bold;
  text-decoration: none;
  padding: 14px 20px;
  margin-top: auto;
  transition: opacity 0.2s ease;
	        position: relative;
}
	
a.box_btn {
  color: var(--c_white);
	    margin-top: 15px;
	}

.box_btn:hover {
  opacity: 0.8;
}
.box_btn::after {
        content: '';
        width: 10px;
        height: 10px;
        border-top: 2px solid var(--c_white);
        border-right: 2px solid var(--c_white);
        transform: rotate(45deg) translateY(-50%);
        position: absolute;
        top: 50%;
        right: 20px;
        border-radius: 1px;
        transition: 0.3s ease-in-out;
    }


.box_image_wrap {
flex: 0 0 auto;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.box_image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; 
}	
}

/*760px以上*/
@media screen and (min-width: 760px),
print {

.pcnone{display:none;}
#dirPathBlock,
#anchorLinkBlock{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto;
}

/*panlist&back*/
#dirPathBlock,
#anchorLinkBlock {
	width: 100%;
	margin: 0 auto;
	display: block;
	font-size: 12px;
}
main h1 {
	font-size: 12px;
    width: 100%;
	max-width:1080px;
	min-width:760px;
    margin: 0 auto 5px;
}
.inner {
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto;
	padding: 25px 0;
}

/*news*/
#newsImportant{
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: 5px auto;
	display: flex;
	font-size: 12px;
}
#newsImportant dt{
	width: 72px;
    height: fit-content;
	background: #e62d2d;
	color: #FFF;
	text-align: center;
	border-radius: 3px;
	margin-top: 1px;
	padding: 3px 0;
}
#newsImportant dd{
	width: 100%;
	padding: 0 10px;
}
#newsImportant li{
	padding: 3px 3px 3px 12px;
	position: relative;
}
#newsImportant li:nth-of-type(n+2){border-top: 1px dotted #ccc;}
#newsImportant li:before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 6px solid #555;
	border-right: 0;
    position: absolute;
	top: 7px;
	left: 0;
}

  /* =========================
   root
========================= */
  :root {
    /* ===== 文字サイズ ===== */
    --fs_body: 16px;
    --fs_caption: 14px;
    --fs_sm: 18px;
    --fs_md: 20px;
    --fs_lg: 24px;
    --fs_xl: 28px;
    --fs_xxl: 32px;
    --fs_3xl: 34px;
    --fs_4xl: 38px;
    --fs_5xl: 42px;
  }


  /* =========================
  title
========================= */
  #title {
    width: 100%;
    text-align: center;
    background: var(--c_sky) url(../images/main.jpg) no-repeat 50% 50%;
    background-size: cover;
  }

div#title img {
    width: 100%;
    max-width: 1080px;
}
	
	h2{
    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'HiraMinProN-W6', '游明朝', 'Yu Mincho', 'YuMincho', '小塚明朝 Pr6N', 'Kozuka Mincho Pr6N', 'Georgia', serif;
  font-size: var(--fs_5xl);
  font-weight: bold;
  color: var(--c_blue);
  text-align: center;
  line-height: 1.3;
  letter-spacing: 3px;
  margin: 20px 0;
	position: relative; 
    display: flex;   
    align-items: center; 
    justify-content: center;
    gap: 10px;
	}
	
	h2::before, h2::after {
    content: "";
    display: block;
    background-color: var(--c_blue);
        width: 50px;
        height: 4px;
     flex-shrink: 0; 
}
h2::before {
    transform: rotate(45deg);
    transform-origin: center;
}
	
h2::after{
    transform: rotate(-45deg);
    transform-origin: center;
}
  /* =========================
  maincontent
========================= */	
	#maincontent{
		 background: var(--c_sky) ;
		font-feature-settings: “palt”
	}
.content_box {
  width: 100%;
  background-color: var(--c_white);
  padding: 30px;
	margin: 0 0 30px;
	  box-sizing: border-box;
}
	.main{
		margin: 0 0 50px;
	}

h3 {
	    font-family: 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', 'HiraMinProN-W6', '游明朝', 'Yu Mincho', 'YuMincho', '小塚明朝 Pr6N', 'Kozuka Mincho Pr6N', 'Georgia', serif;
font-size: var(--fs_xl);
    font-weight: bold;
    color: var(--c_blue);
    background: var(--c_gray);
    padding: 14px 0;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 2px;
    margin-bottom: 30px;
}

.box_area {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.box_txt {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
	align-self: stretch;
}

/* 料金行 */
.box_price {
  font-size: var(--fs_md);
  font-weight: bold;
  color: var(--c_black);
  line-height: 1.4;
}

.price_value {
  font-size: var(--fs_xl);
  color: var(--c_red);
  font-weight: bold;
}

/* 出発日 */
.box_date {
    font-size: var(--fs_md);
    font-weight: bold;
    color: var(--c_black);
    line-height: 1.3;
}
	
.box_price{
  padding-left: 5em; 
  text-indent: -5em; 
}	

.box_date  {
  padding-left: 4em; 
  text-indent: -4em; 
}		
.box_note {
  font-size: var(--fs_caption);
  color: var(--c_black);
}

/* 説明テキスト */
.box_description {
  font-size: var(--fs_body);
  color: var(--c_black);
  line-height: 1.6;
  word-break: break-all;
}

/* リンクボタン */
.box_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: var(--c_blue);
  color: var(--c_white);
  font-size: var(--fs_sm);
  font-weight: bold;
  text-decoration: none;
  padding: 14px 20px;
  margin-top: 15px;
  transition: opacity 0.2s ease;
	        position: relative;
}
	
a.box_btn {
  color: var(--c_white);
	    margin-top: 20px;
	}

.box_btn:hover {
  opacity: 0.8;
}
.box_btn::after {
        content: '';
        width: 10px;
        height: 10px;
        border-top: 2px solid var(--c_white);
        border-right: 2px solid var(--c_white);
        transform: rotate(45deg) translateY(-50%);
        position: absolute;
        top: 50%;
        right: 20px;
        border-radius: 1px;
        transition: 0.3s ease-in-out;
    }


.box_image_wrap {
flex: 0 0 auto;
    width: 38%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.box_image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover; 
}
}

