@charset "utf-8";
/*====================================
大人の修学旅行in対馬ツアーキャンペーン
0.汎用
    0.1 レイアウト
    0.2 テキスト
    0.3 リンク
1.メイン
2.対馬ってどんなところ？
3.対馬の海を体感できる2泊3日のツアーに4組8名様をご招待！
    3.1 ツアー内容
4.ツアーが当たらなかった方にも選べるWチャンス賞
5.対馬の海の課題とは？
6.私たちにできることはなんだろう
7.ヤシノミ洗剤と水のおはなし
8.応募条件　
9.キャンペーンに関するお問い合わせはこちら
10.フッター
11.メディアクエリ
    11.1 画面サイズが1024px以上のCSSを記述
    11.2 画面サイズが578pxから1024pxまでのCSSを記述

【対馬CP改修（新コンテンツ「レポート」）】
12.レポート
13.ツアー参加者の声
14.メディアでも紹介いただきました
15.ヤシノミダンスキャンペーン ※公開前にCP終了のため非公開
16.サラヤSDGSソリューションバナー
====================================*/
/*
    画面サイズが577pxまでのCSSを記述
========================================================================*/
#ocean {
    width: 100%;
    font-family: "A1 Gothic R", "A1ゴシック R", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",  Verdana, sans-serif;
    font-feature-settings: "palt";
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.04em;
    color: #333;
    text-align: justify;
    box-sizing: border-box;
}
#ocean .ocean-article {
    background: #fff;
    border-left: 8px solid #0079BD;
    border-right:  8px solid #45AB35;
}


/*====================================

 対馬CP応募締切

====================================*/
#ocean .end-text {
    display: block;
    width: 100%;
    max-width: 336px;
    margin: 16px auto 20px;
    text-align: center;
    padding: 15px 0 20px;
    font-size: 28px;
    line-height: 1.2;
    background-color: #ebf6fb;
    border-radius: 8px;
    color: #0062b1;
    /*border-bottom: 2px solid #008ace;*/
}
#ocean .end-text span {
    font-size: 18px;
}
#ocean .end-text-02 {
    display: block;
    width: 100%;
    max-width: 336px;
    margin: 16px auto 0;
    text-align: center;
    padding: 15px 0 20px;
    font-size: 28px;
    line-height: 1.2;
    background-color: #fff;
    border-radius: 8px;
    color: #0062b1;
    /*border-bottom: 2px solid #008ace;*/
}
#ocean .end-text-02 span {
    font-size: 18px;
}
#ocean .requirements-end-text {
    margin: 48px auto 0 !important;
    background-color: #FAFEFF !important;
}
#ocean a.report-link {
    display: block;
    text-decoration: none;
}
#ocean a.report-link:hover {
	opacity: 0.5;
    transition: all 0.5s;
}

#ocean .finTxt{
    width: 100%;
    max-width: 320px;
    height: 56px;
    margin: 24px auto 24px;
    background-color: #E77436;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 56px;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

#ocean .link-arrow{
    position: relative;
}
#ocean .link-arrow::after{
    position: absolute;
    content: "";
    background-image: url("../images/arrow-bl.png");
    background-size: 34px 34px;
    width: 34px;
    height: 34px;
    bottom: 0;
    right: 0;
    background-repeat: no-repeat;
}

/*====================================

 0.汎用

====================================*/
/*
 	0.1 レイアウト
====================================*/
/*デバイスごとに要素を表示・非表示*/
#ocean .pc-v { display: none !important; }
#ocean .pc-no { display: block !important; }
#ocean .tablet-v { display: none !important; }
#ocean .sp-v { display: block !important; }
#ocean .sp-no { display: none !important; }

/*Flex*/
#ocean .flex-d-row { display: flex; }
#ocean .flex-d-row-reverse { display: flex; flex-direction: row-reverse;
}
#ocean .flex-wrap { flex-wrap: wrap; }
#ocean .justify-flex-start { justify-content: flex-start; }
#ocean .justify-end { justify-content: end; }
#ocean .justify-center { justify-content: center; }
#ocean .justify-between { justify-content: space-between; }
#ocean .justify-around { justify-content: space-around; }
#ocean .items-flex-end { align-items: flex-end; }
#ocean .items-center { align-items: center; }

/*画像*/
#ocean img {
    width: 100%;
    vertical-align: bottom !important;
}
/*画像余白ネガティブマージン*/
#ocean .img-minus {
    margin-bottom: -2px;
}
#ocean div,
#ocean p,
#ocean figure {
    margin: 0;
    padding: 0;
}







/*
 	0.2 テキスト
====================================*/
/*プフ ソワレ*/
#ocean .puhu_soiree {
    font-family: "Puhu Soiree AP", "プフ ソワレ AP", serif;
    font-feature-settings: "palt";
    letter-spacing: -0.06em;
}
/*斜体*/
#ocean .text-italic {
    font-style: italic;
}
#ocean .text-blue {
    color: #0062b1;
}
#ocean .text-green {
    color: #1eaa39;
}



/*
 	0.3 リンク
====================================*/


/*====================================

 1.メイン

====================================*/
#ocean .main-contents {
    width: 100%;
}
#ocean ul.event-date {
    margin: 32px 0 16px;
    font-size: 18px;
    text-align: center;
}
#ocean ul.event-date li {
    display: inline-block;
    margin: 0 0 8px;
    padding: 0 0 4px;
    border-bottom: 3px solid #bae2f8;
    font-size: 18px;
    line-height: 1;
    letter-spacing: -0.05em;
}
#ocean ul.event-date li span {
    font-size: 32px;
}

/*====================================

 2.対馬ってどんなところ？

====================================*/
#ocean .about-contents {
    width: 100%;
    background: #008ace;
    padding: 20px 0 0;
    color: #fff;
}
#ocean .about-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 24px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #fff;
    letter-spacing: -0.03em;
}
#ocean .about-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .about-contents h2 span {
    font-size: 36px;
}
#ocean .about-contents h3 {
    margin: 32px 0 -2px;
    padding: 0 16px 0;
    font-size: 16px;
    font-style: italic;
    line-height: 1;
}
#ocean .about-contents h3 span {
    display: inline-block;
    margin: 8px 0 0;
    font-size: 26px;
    letter-spacing: -0.02em;
}
#ocean .about-text-area {
    width: 100%;
    max-width: 320px;
    padding: 48px 0;
    margin: 0 auto;
}
#ocean .about-text-area span {
    padding: 0 0 2px;
    border-bottom: 1px solid #fff;
}
#ocean .about-text-area span span.text-large {
    font-size: 18px;
    line-height: 1.9;
}
/*====================================

 3.対馬の海を体感できる2泊3日のツアーに4組8名様をご招待！

====================================*/
#ocean .tour-contents {
    width: 100%;
    padding: 0 0 16px;
    background: url('../images/ocean-requirements-bg.png') repeat-y top center/cover;
    background-size: 100%;
}
#ocean .tour-contents h3 {
    position: relative;
    margin: 40px 0 40px;
    font-size: 28px;
    color: #0062b1;
    text-align: center;
    text-shadow: 0px 0px 0.5px #0062b1;
    letter-spacing: -0.03em;
    line-height: 1.5;
}
#ocean .tour-contents h3::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .ocean-tour-ttl {
    width: 100%;
    max-width: 298px;
    margin: 0 auto;
}
#ocean .ocean-tour-attention {
    margin: 20px 0 0;
    text-align: center;
    font-size: 12px;
}
/*
 	3.1 ツアー内容
====================================*/
#ocean ul.tour-event-date {
    margin: 24px 0 16px;
    font-size: 18px;
    text-align: center;
}
#ocean ul.tour-event-date li {
    display: inline;
    line-height: 1.4;
    margin: 0 0 8px;
    padding: 0 0 4px;
    border-bottom: 3px solid #bae2f8;
    font-size: 18px;
    letter-spacing: -0.05em;
}
#ocean ul.tour-event-date li span {
    font-size: 32px;
}

/*
  slick
----------------------------------- */
.slick-item {
    width: 100%;
    /*max-width: 328px;*/
    margin: 0 auto;
    overflow: visible;
}
.slick-item li figure {
    width: 100%;
    max-width: 328px;
    padding: 0 12px;
}
.slick-slide {
    margin: 0 8px; /* アイテムの間隔を調整 */
}

/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
    position: absolute;/*絶対配置にする*/
	z-index: 3;
    top: 0%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    z-index: 1;
}
.slick-prev {/*戻る矢印の位置と形状*/
    background-image:url(../images/ocean-arrow-left.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 48px;
    height: 48px;
    top: 28%;
    left: 8px;
}
.slick-next {/*次へ矢印の位置と形状*/
    background-image:url(../images/ocean-arrow-right.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 48px;
    height: 48px;
    top: 28%;
    right: 8px;
}
/*ドットナビゲーションの設定*/
.slick-dots {
	position: relative;
    bottom: 0;
	z-index: 3;
    text-align:center;
	margin: 24px 0 0 0;
}
.slick-dots li {
    display:inline-block;
    width: 8px;
    height: 8px;
	margin:0 4px;
}
.slick-dots li button {
    padding: 0;
    background-color: transparent;
    border: none;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.slick-dots li button {
    color: transparent !important;
    outline: none !important;
    width: 8px !important;/*ドットボタンのサイズ*/
    height: 8px !important;/*ドットボタンのサイズ*/
    display: block !important;
    border-radius: 50% !important;
    background: #bae2f8 !important;/*ドットボタンの色*/
}
.slick-dots li button:before {
    content: none !important;
}
.slick-dots .slick-active button {
    background:#fff !important;/*ドットボタンの現在地表示の色*/
    border: 1px solid #008ace;
}



/*====================================

 4.ツアーが当たらなかった方にも選べるWチャンス賞

====================================*/
#ocean .chance-contents {
    width: 100%;
    background: #fff;
}
#ocean .chance-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 24px;
    color: #0062b1;
    text-align: center;
    text-shadow: 0px 0px 0.5px #0062b1;
    letter-spacing: -0.03em;
    line-height: 1.5;
}
#ocean .chance-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .chance-contents h2 span.line-bottom {
    padding: 0 0 4px;
    border-bottom: 2px solid #008ace;
}
#ocean .chance-contents h2 span.line-bottom {
    border-bottom: 2px solid #008ace;
}
#ocean .chance-contents h2 span.text-large {
    font-size: 48px;
}
#ocean .chance-area {
    box-sizing: border-box;
    width: 100%;
    max-width: 336px;
    margin: 0 auto 24px;
    padding: 24px;
    background: #ebf6fb;
    border-radius: 8px;
    text-align: center;
}
#ocean .chance-area h3 {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.3;
    color: #0062b1;
}
#ocean .ocean-chance-01-number {
    width: 100%;
    max-width: 124px;
    margin: 16px auto;
}
#ocean .ocean-chance-01-img {
    width: 100%;
    max-width: 256px;
    margin: 0 auto;
}
#ocean .ocean-chance-02-number {
    width: 100%;
    max-width: 104px;
    margin: 16px auto;
}
#ocean .ocean-chance-02-img {
    width: 100%;
    max-width: 197px;
    margin: 0 auto;
}
#ocean .chance-footer-area {
    margin: 0 0 24px;
    text-align: center;
}
#ocean .chance-footer-area h4 {
    font-size: 28px;
    line-height: 1.4;
    color: #0062b1;
}
#ocean .chance-footer-area h4 span {
    font-size: 48px;
}
#ocean .chance-footer-area p {
    display: inline;
    padding: 0 0 1px;
    font-size: 24px;
    line-height: 1.5;
    color: #0062b1;
    border-bottom: 2px solid #008ace;
}
#ocean .ocean-chance-total {
    width: 100%;
    max-width: 142px;
    margin: 0 auto 24px;
}

/*====================================

 5.対馬の海の課題とは？

====================================*/
#ocean .marine-issues-contents {
    width: 100%;
    background-color: #008ace;
    padding: 20px 0;
    color: #fff;
}
#ocean .marine-issues-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 24px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #fff;
    letter-spacing: -0.03em;
    line-height: 1.4;
}
#ocean .marine-issues-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .marine-issues-contents h2 span {
    font-size: 36px;
}
#ocean .marine-issues-text-area {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}
#ocean .marine-issues-text-area span {
    padding: 0 0 2px;
    border-bottom: 1px solid #fff;
}
#ocean .marine-issues-text-area span.text-large {
    font-size: 18px;
    line-height: 1.9;
    letter-spacing: -0.01em;
}

#ocean .ocean-marine-issues-img-01 {
    width: 100%;
    max-width: 320px;
    margin: 40px auto;
}
#ocean .ocean-marine-issues-img-02 {
    margin: 40px auto;
}

/*====================================

 6.私たちにできることはなんだろう

====================================*/
#ocean .actions-contents {
    width: 100%;
    padding: 20px 0;
    background-image: url("../images/ocean-actions-bg.png");
    background-size: 100%;
    background-repeat: repeat-y;
}
#ocean .actions-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 24px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #1eaa39;
    letter-spacing: -0.03em;
    line-height: 1.3;
}
#ocean .actions-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-green.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .actions-contents h2 span {
    font-size: 36px;
}
#ocean .actions-text-area {
    width: 100%;
    max-width: 320px;
    margin: 48px auto 0;
}
#ocean .actions-text-area h3 {
    margin: 0 0 8px;
    font-size: 18px;
    line-height: 1.5;
}
#ocean .actions-text-area .actions-img {
    width: 100%;
    max-width: 320px;
    margin: 0 0 20px;
}

/*====================================

 7.ヤシノミ洗剤と水のおはなし

====================================*/
#ocean .water-contents {
    width: 100%;
}
#ocean .water-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 24px;
    color: #0062b1;
    text-align: center;
    text-shadow: 0px 0px 0.5px #0062b1;
    letter-spacing: -0.03em;
    line-height: 1;
}
#ocean .water-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .water-contents h2 span {
    font-size: 36px;
}
#ocean .water-text-area {
    width: 100%;
    max-width: 320px;
    margin: 48px auto 0;
}
#ocean .ocean-water-img-01 {
    width: 100%;
    max-width: 320px;
    margin: 0 auto 24px;
}
#ocean .ocean-water-img-02 {
    width: 100%;
    max-width: 320px;
    margin: 48px auto;
}
#ocean .ocean-water-link-area {
    width: 100%;
    margin: 48px auto;
}

/*マーク*/
#ocean dl.mark-area {
    width: 100%;
    max-width: 320px;
    margin: 0 auto 32px;
}
#ocean dl.mark-area dt {
    margin: 0 24px 0 0;
}
#ocean dl.mark-area dd {
    font-size: 12px;
}
#ocean dl.mark-area dd span {
    font-size: 10px;
}
#ocean .mark-rspo,
#ocean .mark-borneotrust {
    max-width: 64px;
}


/*ヤシノミ洗剤ブランドサイト*/
#ocean a.brand-btn {
    width: 100%;
    max-width: 320px;
    height: 56px;
    margin: 0 auto 24px;
    background-color: #fff;
    color: #0062b1;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 56px;
    border-radius: 28px;
    border: 1px solid #0062b1;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-decoration: none;
}
#ocean a.brand-btn::after {
    content: "→";
    font-size: 20px;
    position: absolute;
    right: 24px;
}
#ocean a.brand-btn:hover {
    background-color: #0062b1;
    color: #fff;
    border: 1px solid #0062b1;
 }
#ocean a.brand-btn:hover::after {
    color: #fff;
}

/*ヤシノミ洗剤の販売店舗を探す*/
#ocean a.search-btn {
    width: 100%;
    max-width: 320px;
    height: 56px;
    margin: 0 auto 24px;
    background-color: #fff;
    color: #666666;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    line-height: 56px;
    border-radius: 28px;
    border: 1px solid #c4c4c4;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-decoration: none;
}
#ocean a.search-btn::after {
    content: "→";
    font-size: 20px;
    position: absolute;
    right: 24px;
}
#ocean a.search-btn:hover {
    background-color: #666666;
    color: #fff;
    border: 1px solid #666666;
 }
#ocean a.search-btn:hover::after {
    color: #fff;
}

/*オンラインショップ*/
#ocean ul.buy-online-area {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}
#ocean ul.buy-online-area li a {
    width: 100%;
    display: block;
    width: 154px;
    height: 56px;
    border-radius: 28px;
    margin: 0 auto;
    border: 1px solid #c4c4c4;
    display: flex;
    align-items: center;
    justify-content: center;
}
#ocean ul.buy-online-area li a img {
    width: 100%;
    max-width: 80px;
}

/*====================================

 8.応募条件

====================================*/
#ocean .requirements-contents {
    width: 100%;
    padding: 0 0 48px;
    background: url('../images/ocean-requirements-bg.png') repeat-y top center/cover;
    background-size: 100%;
}
#ocean .requirements-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 28px;
    color: #0062b1;
    text-align: center;
    text-shadow: 0px 0px 0.5px #0062b1;
    letter-spacing: -0.03em;
    line-height: 1;
}
#ocean .requirements-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .requirements-contents h2 span {
    font-size: 36px;
}
#ocean ul.requirements-text-area {
    width: 100%;
    max-width: 320px;
    margin: 48px auto 0;
}
#ocean ul.requirements-text-area li {
    padding: 20px 0;
    border-bottom: 2px solid #bae2f8;
}
#ocean ul.requirements-text-area li h3 {
    padding: 0 0 0 1em;
    color: #0062b1;
    font-size: 16px;
    line-height: 1.5;
}
#ocean ul.requirements-text-area li h3::before {
    content: "●";
    margin:0 4px 0 -1em;
    font-size: 14px;
}
#ocean ul.requirements-text-area li p {
    margin: 8px 0 0;
    font-size: 12px;
}


/*こんな場合はどうなるの？
ツアーに関する疑問にnoteで回答中！*/
#ocean .note-area {
    width: 320px;
    margin: 0 auto;
    padding: 40px 0;
    border-bottom: 2px solid #bae2f8;
}
#ocean .note-area h3 {
    font-size: 20px;
    line-height: 1.3;
    text-align: center;
    color: #0062b1;
}
#ocean .ocean-requirements-img {
    width: 100%;
    max-width: 320px;
    margin: 24px auto 0;
}

/*キャンペーン応募規約*/
/*対馬ツアーに関する注意事項*/
#ocean .terms-area {
    width: 320px;
    margin: 0 auto;
    padding: 40px 0 0;
}
#ocean .terms-area h3 {
    position: relative;
    margin: 0 0 48px;
    font-size: 24px;
    color: #0062b1;
    text-align: center;
    text-shadow: 0px 0px 0.5px #0062b1;
    letter-spacing: -0.03em;
    line-height: 1.3;
}
#ocean .terms-area h3::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .terms-text-box {
    box-sizing: border-box;
    width: 100%;
    max-width: 320px;
    height: 312px;
    padding: 24px;
    overflow: auto;
    border-radius: 8px;
    background: #fff;
    font-size: 12px;
    line-height: 1.7;
}
#ocean .url-text {
    overflow-wrap: anywhere;
    color: #0062b1;
}

/*応募フォーム*/
#ocean a.form-btn {
    width: 100%;
    max-width: 320px;
    height: 56px;
    margin: 40px auto 0;
    background-color: #0062b1;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    line-height: 56px;
    border-radius: 28px;
    border: 1px solid #0062b1;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-decoration: none;
}
#ocean a.form-btn::after {
    content: "→";
    font-size: 20px;
    position: absolute;
    right: 24px;
}
#ocean a.form-btn:hover {
    background-color: #fff;
    color: #0062b1;
    border: 1px solid #0062b1;
 }
#ocean a.form-btn:hover::after {
    color: #0062b1;
}

/*====================================

 9.キャンペーンに関するお問い合わせはこちら

====================================*/
#ocean .contact-contents {
    width: 100%;
    padding: 48px 0 24px;
}
#ocean .contact-contents h2 {
    position: relative;
    margin: 0 0 24px;
    font-size: 24px;
    color: #0062b1;
    text-align: center;
    text-shadow: 0px 0px 0.5px #0062b1;
    letter-spacing: -0.03em;
    line-height: 1;
}
/*お問い合わせフォーム*/
#ocean a.contact-btn {
    width: 100%;
    max-width: 320px;
    height: 56px;
    margin: 0 auto 0;
    background-color: #fff;
    color: #0062b1;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 56px;
    border-radius: 28px;
    border: 1px solid #0062b1;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    text-decoration: none;
}
#ocean a.contact-btn::after {
    content: "→";
    font-size: 20px;
    position: absolute;
    right: 24px;
}
#ocean a.contact-btn:hover {
    background-color: #0062b1;
    color: #fff;
    border: 1px solid #0062b1;
 }
#ocean a.contact-btn:hover::after {
    color: #fff;
}

/*====================================

 10.フッター

====================================*/
#ocean .footer-contents {
    width: 100%;
    margin: 0 0 0;
    padding: 20px 0 40px;
    background: #008ace;
    text-align: center;
    color: #fff;
}
#ocean ul.footer-nav {
    display: flex;
    justify-content: center;
    font-size: 12px;
}
#ocean ul.footer-nav a {
    color: #fff;
    text-decoration: none;
}
#ocean .yashinomi-copyright {
    margin: 16px 0 0;
    font-size: 10px;
}

/*イオン九州CPバナー*/
#ocean .banner-contents {
    width: 100%;
    padding: 24px 0 24px;
}
#ocean .banner-contents h2 {
    position: relative;
    margin: 0 0 24px;
    font-size: 24px;
    color: #0062b1;
    text-align: center;
    text-shadow: 0px 0px 0.5px #0062b1;
    letter-spacing: -0.03em;
    line-height: 1;
}
#ocean .banner-contents .banner-img {
    display: block;
    width: 100%;
    max-width: 320px;
    margin: 24px auto 0;
}


/*====================================

 11.メディアクエリ

====================================*/
/*
 	11.1 画面サイズが1024px以上のCSSを記述
========================================================================*/
@media screen and (min-width: 1024px) {
    #ocean {
        background: url(../images/ocean-bg-all2026.png) no-repeat top center;
        background-size: cover;
        background-attachment: fixed;
    }

    /*デバイスごとに要素を表示・非表示*/
    #ocean .pc-v { display: block !important; }
    #ocean .pc-no { display: none !important; }
    #ocean .tablet-v { display: none !important; }
    #ocean .sp-v { display: none !important; }
    #ocean .sp-no { display: block !important; }

    /*
        左側
    ====================================*/
    #ocean .ocean-pc-left {
        width: calc(50% - 200px); /* 指定の幅 */
        position: fixed;
        top: 50%;
        left: 0;
        transform: translateY(-50%); /* 上下中央 */
        display: flex;
        justify-content: center; /* 左右中央 */
    }
    #ocean .ocean-pc-logo {
        max-width: 510px; /* 最大サイズ */
        width: 100%;
        height: auto; /* 縦横比維持 */
        margin: 0 auto; /* 中央配置 */
    }

    /*
        スマホコンテンツ部分
    ====================================*/
    #ocean .ocean-article {
        max-width: 400px;
        margin: 0 auto 0;
        overflow: hidden;
    }

    /*
        右側
    ====================================*/
    #ocean .ocean-pc-right {
        width: calc(50% - 200px); /* 指定の幅 */
        position: fixed;
        top: 50%;
        right: 0;
        transform: translateY(-50%); /* 上下中央 */
        display: flex;
        justify-content: center; /* 左右中央 */
    }
    #ocean .ocean-pc-img {
        max-width: 300px; /* 最大サイズ */
        width: 100%; /* 画面サイズに応じて縮小 */
        height: auto; /* 縦横比を維持 */
        margin: 0 auto; /* 中央配置 */
    }
}

/*
 	11.2 画面サイズが578pxから1024pxまでのCSSを記述
========================================================================*/
@media screen and (min-width: 578px) and (max-width: 1024px) {
    #ocean {
        background: url(../images/ocean-bg-all2026.png) no-repeat top center;
        background-size: cover;
        background-attachment: fixed;
    }
    /*デバイスごとに要素を表示・非表示*/
    #ocean .pc-v { display: block !important; }
    #ocean .pc-no { display: none !important; }
    #ocean .sp-v { display: none !important; }
    #ocean .sp-no { display: block !important; }
    #ocean .tablet-v { display: block !important; }
    #ocean .tablet-no { display: none !important; }

    /*
        左側
    ====================================*/
    #ocean .ocean-pc-left {
        width: calc(50% - 200px); /* 指定の幅 */
        position: fixed;
        top: 50%;
        left: 0;
        transform: translateY(-50%); /* 上下中央 */
        display: flex;
        justify-content: center; /* 左右中央 */
    }
    #ocean .ocean-pc-logo {
        max-width: 510px; /* 最大サイズ */
        width: 100%;
        height: auto; /* 縦横比維持 */
        margin: 0 auto; /* 中央配置 */
    }

    /*
        スマホコンテンツ部分
    ====================================*/
    #ocean .ocean-article {
        max-width: 400px;
        margin: 0 auto 0;
        overflow: hidden;
    }

    /*
        右側
    ====================================*/
    #ocean .ocean-pc-right {
        width: calc(50% - 200px); /* 指定の幅 */
        position: fixed;
        top: 50%;
        right: 0;
        transform: translateY(-50%); /* 上下中央 */
        display: flex;
        justify-content: center; /* 左右中央 */
    }
    #ocean .ocean-pc-img {
        max-width: 300px; /* 最大サイズ */
        width: 100%; /* 画面サイズに応じて縮小 */
        height: auto; /* 縦横比を維持 */
        margin: 0 auto; /* 中央配置 */
    }

}

/*====================================

 12.レポート

====================================*/
#ocean .report-contents {
    width: 100%;
    padding: 0 0 0;
    margin: 0 0 -40px;
    background: url(../images/ocean-requirements-bg.png) repeat-y top center / cover;
    background-size: 100%;
    padding: 20px 0;
    color: #0062b1;
}
#ocean .report-contents .report-heading {
    font-size: 22px;
    text-align: center;
}
#ocean .report-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 36px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #fff;
    letter-spacing: -0.03em;
    line-height: 1.4;
}
#ocean .report-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .report-contents h2 span {
    font-size: 36px;
}

/*レポート*/
#ocean .report-area {
    margin: 0 0 32px;
    text-align: center;
    line-height: 1.5;}
#ocean .report-area h3 {
    font-size: 28px;
    margin: 0 0 16px;
}
#ocean .report-area-text {
    margin: 0 0 32px;
}
#ocean .report-img-text {
    width: 100%;
    max-width: 320px;
    text-align: left;
    margin: 24px 0 0;
}
#ocean .divider {
    width: 100%;
    max-width: 336px;
    border: none;
    border-top: 1px solid #bae2f8; /* 線の色と太さ */
    margin: 50px auto; /* 上下の余白 */
}

/*====================================

 13.ツアー参加者の声

====================================*/
#ocean .voice-contents {
    width: 100%;
    padding: 0 0 0;
    background: #fff;
    margin: 0 0 0;
    padding: 20px 0 0;
}
#ocean .voice-contents .voice-head {
    position: relative;
    margin: 0 0 48px;
    font-size: 32px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #fff;
    letter-spacing: -0.03em;
    line-height: 1.4;
}
#ocean .voice-contents .voice-head::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .voice-contents .voice-head span {
    font-size: 36px;
}
#ocean li.voice-item {
    box-sizing: border-box;
    width: 100%;
    min-height: 520px;
    max-width: 320px;
    margin: 0 32px;
    padding: 32px;
    background: #eaf5fa;
    border-radius: 8px;
}
#ocean .voice-text {
    margin: 16px 0 0;
}
#ocean dl.nickname {
    text-align: center;
}
#ocean dl.nickname dt {
    font-size: 16px;
}
#ocean dl.nickname dd {
    font-size: 28px;
}
#ocean dl.nickname dd span {
    font-size: 22px;
}

/*
  slick
----------------------------------- */
#ocean .voice-contents .slick-prev {/*戻る矢印の位置と形状*/
    background-image:url(../images/ocean-arrow-left.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 48px;
    height: 48px;
    top: 40%;
    left: 8px;
}
#ocean .voice-contents .slick-next {/*次へ矢印の位置と形状*/
    background-image:url(../images/ocean-arrow-right.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 48px;
    height: 48px;
    top: 40%;
    right: 8px;
}

/*====================================

 14.メディアでも紹介いただきました

====================================*/
#ocean .media-contents {
    width: 100%;
    padding: 0 0 0;
    background: url(../images/ocean-requirements-bg.png) repeat-y top center / cover;
    margin: 0 0 -0;
    padding: 20px 0;
    color: #0062b1;
}
#ocean .media-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 32px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #fff;
    letter-spacing: -0.03em;
    line-height: 1.4;
}
#ocean .media-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .media-contents h2 span {
    font-size: 36px;
}
#ocean .media-item  {
    width: 100%;
    max-width: 320px;
    margin: 16px auto 0;
}
#ocean .media-item p  {
    margin: 24px 0 0;
    font-size: 16px;
    font-family: "A1 Gothic M", "A1ゴシック M", "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",  Verdana, sans-serif;
}
#ocean .media-divider {
    width: 100%;
    max-width: 320px;
    border: none;
    border-top: 1px solid #bae2f8; /* 線の色と太さ */
    margin: 32px auto 32px; /* 上下の余白 */
}


/*====================================

 15.ヤシノミダンスキャンペーン
  ※公開前にCP終了のため非公開

====================================*/
#ocean .dance-contents {
    width: 100%;
    margin: 0 0 -20px;
    padding: 0 0 0;
    background: #fff;
    padding: 20px 0;
    color: #0062b1;
}
#ocean .dance-contents h2 {
    position: relative;
    margin: 0 0 48px;
    font-size: 30px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #fff;
    letter-spacing: -0.03em;
    line-height: 1.4;
}
#ocean .dance-contents h2::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url("../images/ocean-title-nami-blue.png");
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}
#ocean .dance-contents h2 span {
    font-size: 22px;
}
#ocean .dance-item  {
    width: 100%;
    max-width: 320px;
    margin: 16px auto 0;
}
#ocean .media-item-text {
    margin: 24px 0 0;
}

/*====================================

 16.サラヤSDGSソリューションバナー

====================================*/
#ocean .banner-sdgs-contents {
    width: 100%;
    max-width: 320px;
    margin: 0 auto 24px;
}





/*
====================================

 2026更新

====================================*/

/*--------------------------------------------
ベース
--------------------------------------------*/
/*スムーススクロール*/
html { scroll-behavior: smooth; }

/*マージン*/
.mt30{ margin-top: 30px !important ; }
.mt20{ margin-top: 20px !important ; }

.mb50{ margin-bottom: 50px !important;}
.mb30{ margin-bottom: 30px !important;}
.mb20{ margin-bottom: 20px !important; }
.mb10{ margin-bottom: 10px !important; }
.mb5{ margin-bottom: 5px !important; }

.mt60{ margin-top: 60px !important; }
.mt-15{ margin-top: -15px !important; }

/*フォントサイズ*/
.font36{ font-size: 36px; }
.font32{ font-size: 32px; }
.font28{ font-size: 28px; }
.font24{ font-size: 24px; }
.font22{ font-size: 22px; }
.font18{ font-size: 18px; }

.fontB{ font-weight: bold; }

/*行揃え*/
.font-center{ text-align: center; }

/*インデント*/
.txtindent{
    text-indent: -0.4em;
    padding-left: 0.4em;
}

/*背景色*/
.bk-blue{ background-color: #008ace; }
.bk-green{ background-color: #6fb22c; }
.bk-lightgreen{ background-color: #eff0e7 !important; }

/*フォント色*/
.txt-white{ color: #fff; }
.txt-green{ color: #1ea139; }
.text-blue{ color: #0062b1;}

/*レイアウト*/
.cont2026{
    max-width: 320px;
    margin: 0 auto !important;
}

/*ページスクロールの位置調整*/
#conditions{ scroll-margin-top: 50px; }

/*回転*/
.transform180{ transform: rotate(180deg); }


/*リンク
--------------------------------------------*/
/*ブルーボタン*/
.blue-btn{
    background-color: #0062b1 !important;
    color: #fff !important;
    display: block !important;
}

#ocean .blue-btn:hover {
    background-color: #fff !important;
    color: #0062b1 !important;
    border: 1px solid #0062b1 !important;
 }
#ocean .blue-btn:hover::after {
    color: #0062b1 !important;
}

/*グリーンボタン*/
.green-btn{
    background-color: #45AB35 !important;
    border: 1px solid #45AB35 !important;
    color: #fff !important;
    display: block !important;
}

#ocean .green-btn:hover {
    background-color: #fff !important;
    color: #45AB35 !important;
    border: 1px solid #45AB35 !important;
 }
#ocean .green-btn:hover::after {
    color: #45AB35 !important;
}

#ocean a.brand-btn.arrow-b::after{
    transform: rotate(90deg);
}

/*テキストリンク*/
.txt-link{
    color: #0062b1;
}

/*--------------------------------------------
メッセージCP
--------------------------------------------*/
.txtCenter-area{
    text-align: center;
}

.message-cp .border-txt{
    display: inline;
    line-height: 1.4;
    margin: 0 0 8px;
    padding: 0 0 4px;
    border-bottom: 3px solid #bae2f8;
    font-size: 24px;
    letter-spacing: -0.05em;
}


/*--------------------------------------------
2025年の活動報告
--------------------------------------------*/
.mini-report2025{
    background-color: #fff;
    padding: 30px !important;
    border-radius: 8px;
    box-sizing: border-box;
}


/*--------------------------------------------
レポート
--------------------------------------------*/
#report-top{
    padding: 50px 0 20px;
}

.year-num{
    width: 160px !important;
}

/*つぶつぶ背景（ベース）*/
#ocean .report-bk{
    width: 100%;
    margin-top: -15px;
    padding: 60px 0;
}


/*グリーンレポート（2026年）
--------------------------------------------*/
/*つぶつぶ背景（グリーン）*/
#ocean .report-green{
    background: url(../images/ocean-actions-bg.png) repeat-y top center / cover;
    background-size: 100%;
}

.report-container{
    max-width: 320px;
    margin: 0 auto !important;
}

.report-green-border50{
    border-bottom: 2px #c5d39f solid;
    margin-bottom: 50px !important;
    padding-bottom: 50px !important;
}
.report-green-border30{
    border-bottom: 2px #c5d39f solid;
    margin-bottom: 30px !important;
    padding-bottom: 30px !important;
}

.head-green{
    margin: 0 0 48px;
    text-align: center;
    text-shadow: 0px 0px 0.5px #1eaa39;
    letter-spacing: -0.03em;
    line-height: 1.3;
    color: #1eaa39;
}

.head-green-nami{
    position: relative;
}
.head-green-nami::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    width: 46px;
    height: 12px;
    background-image: url(../images/ocean-title-nami-green.png);
    background-size: 46px 12px;
    background-position: center;
    transform: translateX(-50%);
}

.green-txt-border{
    border-bottom: 1px solid #1eaa39;
    padding-bottom: 2px;
    line-height: 1.9;
    letter-spacing: -0.01em;
}

#ocean .voice-contents-green .slick-prev{
    background-image: url(../images/ocean-arrow-left-green.png);
}
#ocean .voice-contents-green .slick-next{
    background-image: url(../images/ocean-arrow-right-green.png);
}

#ocean .voice-contents-green .slick-dots li button{
    background: #e5e7d7 !important;
}
#ocean .voice-contents-green .slick-dots .slick-active button {
    background: #fff !important;
    border: 1px solid #1eaa39;
}

.youtube-short{
    width: 100%;
    aspect-ratio: 9 / 16;
}

.scroll-area{
    border-radius: 8px;
    padding: 32px !important;
    height: 410px !important;
    overflow-y: auto !important;
}