@charset "utf-8";
/* CSS Document */
#travel{
	display:block;
	font-family:"Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	width:100%;
	max-width:750px;
	margin:0 auto;
    color: #242424;
}
#travel p,
#travel a,
#travel span,
#travel div,
#travel ul,
#travel li{
	padding:0;
	margin:0;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}
#travel a{
	text-decoration:none;
}
#travel img{
    vertical-align:top;
}
/*ヘッダー*/
#travel .header{
	display:block;
	width:100%;
	max-width:750px;
	margin:auto;
    position: relative;
}
#travel .catch_zone{
    display: block;
    margin: 0 auto 0;
    font-weight: 500;
    position: relative;
    text-align: center;
    letter-spacing: 1.5px;
    background: #fff6e1;
    font-size: min(3vw, 15px);
}

#travel .pin_bo{
	font-weight: bold;
    color: #ff5b8d;
}

#travel .nayami_list {
    display: inline-block;
    list-style: none;
    padding: 0;
    margin: 4% auto;
    text-align: left;
    position: relative;
}

#travel .hitode {
    position: absolute;
    width: 12%;
    right: 5%;
}

#travel .nayami_list li {
    line-height: 1.8; 
}

#travel .nayami_list li::before {
    content: "■";
    font-size: min(2.8vw, 13px);    
    color: #ff5b8d; 
    margin-right: 0.8em; 
}


#travel .catch_btnzone{
    position: relative;
}

#travel .catch_btnzone a{
    width: 84%;
    display: block;
    position: absolute;
    margin: 0 auto;
    right: 0;
    left: 0;
    bottom: 50%;
}


#travel .keturon_zone{
    position: relative;
    text-align: center;
}


#travel .keturon_zone h2{
    font-size: min(4.8vw, 25px);      
    letter-spacing: 1px;    
}

#travel .keturon_ao{
    color: #3ca1e5;
}

#travel .keturon_ttl{
    width: 26%;    
}

#travel .keturon_con{
    font-size: min(3vw, 15px);
    text-align: left;
    width: 84%;
    font-weight: 500;
    margin: 3% auto;
}


#travel .pink-frame{
    background-color: #fff;
    border: 6px solid #f5dbe2;
    border-radius: 20px;
    box-shadow: 0 0 0 1px #000;
    padding: 6% 4% 6%;
    margin: 6% auto;
    width: 84%;
    text-align: center;
}


#travel .pink_ttl{
    width: 94%;
    margin-left: 2%;
}


#travel .pink_bnr{
}

#travel .pink_p{
    font-size: min(3vw, 15px);
    text-align: left;
    font-weight: 500;
    letter-spacing: 1.4px;
    margin: 5% auto; 
}



#travel .feature_zone{
    position: relative;
    text-align: center;
    padding: 9% 0 5%;
    margin: 10% auto 0;
    background: #e1f5ff;
}


#travel .feature_zone h2{
    font-size: min(4.8vw, 25px);      
    letter-spacing: 1px;    
}


#travel .scene_ttl{
    width: 36%;   
}



/* --- 2カラムボタンのスタイル --- */
#travel .feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5% 5%;
    padding: 0% 8% 16%;
    background: #e1f5ff;
    margin: 0 auto;
}
#travel .feature-item {
    text-align: center;
}
#travel .feature-item .heading {
    align-items: center;
    font-size: min(3vw, 15px);
    line-height: 1.6;
    margin: 2% auto 6%;    
    font-weight: 500;
}
#travel .feature-item img {
    width: 100%;
    height: auto;
    margin-bottom: 8%;
}
#travel .feature-button {
    display: block;
    padding: 4% 0 12%;
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: min(4vw, 18px);
    transition: opacity 0.2s ease;
    position: relative;
}
#travel .feature-button:hover {
    opacity: 0.85;
}
#travel .feature-button::after {
    content: '';
    position: absolute;
    bottom: 19%;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 0.6em;
    height: 0.6em;
    border: solid #fff;
    border-width: 0 0.2em 0.2em 0;
}
#travel .btn-blue { background-color: #3498db; }
#travel .btn-green { background-color: #2ecc71; }
#travel .btn-pink { background-color: #ff74a4; }
#travel .btn-orange { background-color: #f39c12; }

/* --- タブコンテンツのスタイル --- */
#travel .tab-section-container {
    max-width: 750px;
    margin: 0 auto;
}
#travel .tabs-nav {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 20px 15px 0;
    background-color: #fff;
    position: relative;
    z-index: 2;
}
#travel .tab-link {
    flex: 1;
    padding: 4% 0;
    line-height: 1.6;
    border: 2px solid;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom: 0;    
    background-color: #fff;
    font-weight: bold;
    font-size: min(3vw, 15px);
    text-align: center;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}
#travel .tab-moisture { border-color: #3ca1e5; color: #3ca1e5; }
#travel .tab-uv { border-color: #2fd297; color: #2fd297; }
#travel .tab-cost { border-color: #ff709c; color: #ff709c; }
#travel .tab-fatigue { border-color: #ffa442; color: #ffa442; }


#travel .tab-link.active.tab-moisture {
    background-color: #3ca1e5;
    border-color: #3ca1e5;
    color: #fff;
}
#travel .tab-link.active.tab-uv {
    background-color: #2fd297;
    border-color: #2fd297;
    color: #fff;
}
#travel .tab-link.active.tab-cost {
    background-color: #ff709c;
    border-color: #ff709c;
    color: #fff;
}
#travel .tab-link.active.tab-fatigue {
    background-color: #ffa442;
    border-color: #ffa442;
    color: #fff;
}

#travel .content-panels-wrapper {
    position: relative;
    z-index: 1;
}
#travel .tab-content-panel {
    display: none;
    padding: 6%;
    animation: fadeIn 0.4s;
}
#travel .tab-content-panel.active {
    display: block;
}
#content-moisture { background-color: #3ca1e5; }
#content-uv { background-color: #2fd297; }
#content-cost { background-color: #ff709c; }
#content-fatigue { background-color: #ffa442; }

#travel .intro-text {
    font-size: min(3.2vw, 16px);
    text-align: left;
    font-weight: 500;
    color: #FFF;
    letter-spacing: 1.4px;
}
#travel .intro-text.light-theme { color: #333; }
#travel .intro-text.dark-theme { color: #fff; }
#travel .highlight-text { color: #fff300;}

#travel .product-list { display: flex; flex-direction: column; gap: 15px; }
#travel .product-card {
    background-color: #fff;
    border-radius: 12px;
    padding: 4% 3% 4% 5%;
    display: flex;
    align-items: center;
    gap: 6%;
    margin: 4% auto;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

#travel .product-card .product-image {
    width: 35%; 
    flex-shrink: 0; 
}

#travel .product-card .product-image img {
    width: 100%;
}

#travel .product-card .product-info {
    flex: 1; 
    text-align: left; 
}

#travel .product-name {
    font-size: min(3.8vw, 18px);
    font-weight: 700;
    margin-bottom: 0;
    text-align: left;
    line-height: 1.6;
}

#travel .product-purchase-btn {
    display: inline-block;
    background-color: #0a3d62;
    color: #fff;
    font-weight: 500;
    font-size: min(3.8vw, 18px);
    padding: 3% 5% 3% 3%;
    margin: 4% auto 0;
    width: 84%;
    text-align: center;
    border-radius: 0.6em;
    text-decoration: none;
    position: relative;
    transition: opacity 0.2s;
}


#travel .product-purchase-btn::after {
    content: '';
    display: inline-block;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    margin-left: 5%;
    top: 50%;
    right: 10%;
    position: absolute;
}

#travel .intro-bnrtxt{
    align-items: center;
    font-size: min(3vw, 15px);
    line-height: 1.6;
    margin: 6% auto 2%;
    color: #FFF;
    text-align: center;
    font-weight: 500;
}

#travel .all_btn{
    margin: 7% auto 2%;    
}

#travel .accordion-container {

}

#travel .accordion-item {
    overflow: hidden;   
}

#travel .accordion-header {
    align-items: center;
    width: 100%;
    padding: 3% 3%;
    position: relative;
    background-color: #002347;
    color: #fff;
    font-size: min(5vw, 21px);
    font-weight: 500;
    letter-spacing: 1.5px;
    border: none;
    line-height: 1.6;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.3s;
}

#travel .accordion-icon {
    font-size: min(6vw, 24px);
    font-weight: bold;
    position: absolute;
    right: 5%;
    top: 30%;
}

#travel .accordion-content {
    background-color: #fff;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

#travel .accordion-content-inner {
    padding: 4% 5%;
}

#travel .accordion-content-inner p {
    font-size: min(3vw, 15px);
    line-height: 1.8; 
    font-weight: 500;
    margin-bottom: 1em;
}

#travel .accordion-content-inner p:last-child {
    margin-bottom: 0;
}

#travel .tab-sec_zone{
    position: relative;
    text-align: center;
    padding: 0;
    margin: 10% auto 0;
}


#travel .tab-sec_zone h2{
    font-size: min(4.8vw, 25px);      
    letter-spacing: 1px;    
}

#travel .accordion-content-inner h4{
    font-size: min(3.8vw, 18px);
    line-height: 1.8;
    font-weight: 500;
    margin: 4% auto 3%;
    color: #3ca1e5;
    display: table; 
    border-bottom: 1px solid currentColor; 
    padding-bottom: 2px; 
}

#travel .scene_tab-sec{
    width: 46%; 
}