@charset "UTF-8";
@font-face {
  font-family: LINESeedSans;
  src: local("※"), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Th.woff) format('woff'), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Th.woff2) format('woff2');
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: LINESeedSans;
  src: local("※"), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Rg.woff) format('woff'), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Rg.woff2) format('woff2');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: LINESeedSans;
  src: local("※"), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Bd.woff) format('woff'), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Bd.woff2) format('woff2');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: LINESeedSans;
  src: local("※"), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Eb.woff) format('woff'), url(/application/themes/theme2025/fonts/LINESeedJP_OTF_Eb.woff2) format('woff2');
  font-weight: 800;
  font-style: normal;
}
html {
  scroll-behavior: smooth;
}
html.ccm-edit-mode aside.drawer {
  display: none !important;
}
body {
  font-family: "Hiragino Mincho ProN", "Noto Serif JP", "Yu Mincho", YuMincho, serif;
  font-family: LINESeedSans, sans-serif;
  font-feature-settings: "palt";
  font-size: 20px;
  line-height: 1.65;
  font-weight: var(--FW_Regular);
  color: var(--Color_Black);
}
@media screen and (min-width: 750px) {
  body {
    font-size: 18px;
    line-height: 1.83;
  }
  body:before {
    content: none;
  }
}
body.fixed {
  overflow: hidden;
}
@media screen and (min-width: 750px) {
  .sp-only,
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 749px) {
  .pc-only,
  .pc_only {
    display: none;
  }
}
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.inline-block,
.inline_block {
  display: inline-block;
}
.ccm-page .bg_wrap {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 242.5px;
  background-image: url(/application/themes/theme2025/img/bg_top_sp.webp);
  background-position: top right -133px;
  background-repeat: no-repeat;
  background-size: auto 242.5px;
}
@media screen and (min-width: 499px) {
  .ccm-page .bg_wrap {
    background-position: top center;
    background-size: auto 242.5px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .bg_wrap {
    height: 381px;
    background-image: url(/application/themes/theme2025/img/bg_top_tb.webp);
    background-size: 1370.5px;
    background-position: bottom right;
  }
}
@media screen and (min-width: 1155px) {
  .ccm-page .bg_wrap {
    background-image: url(/application/themes/theme2025/img/bg_top_pc.webp);
    background-size: 1597.5px;
    background-position: bottom center;
  }
}
@media screen and (min-width: 1597px) {
  .ccm-page .bg_wrap {
    background-image: url(/application/themes/theme2025/img/bg_top_pc.webp);
    background-size: 100%;
    background-position: bottom center;
  }
}
.ccm-page .copy_wrap {
  margin-bottom: 54px;
  text-align: center;
}
@media screen and (min-width: 750px) {
  .ccm-page .copy_wrap {
    text-align: left;
    margin-top: 129px;
    margin-bottom: 190px;
  }
}
.ccm-page .skyblue_wrap {
  position: relative;
  background-color: var(--Color_BabyBlue);
  padding-top: 1px;
  padding-bottom: 58px;
  margin-bottom: 90px;
}
.ccm-page .skyblue_wrap:before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: -20px;
  height: 20px;
  width: 100%;
  background-image: url(/application/themes/theme2025/img/wave01_top.png);
  background-position: top center;
  background-size: 640px 20px;
  background-repeat: no-repeat;
}
@media screen and (min-width: 640px) {
  .ccm-page .skyblue_wrap:before {
    background-size: 100% 20px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .skyblue_wrap:before {
    top: -51px;
    height: 51px;
    background-size: 1597.5px 51px;
  }
}
@media screen and (min-width: 1597px) {
  .ccm-page .skyblue_wrap:before {
    background-size: 100% 51px;
  }
}
.ccm-page .skyblue_wrap:after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: -20px;
  height: 20px;
  width: 100%;
  background-image: url(/application/themes/theme2025/img/wave01_bottom.png);
  background-position: top center;
  background-size: 640px 20px;
  background-repeat: no-repeat;
}
@media screen and (min-width: 640px) {
  .ccm-page .skyblue_wrap:after {
    background-size: 100% 20px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .skyblue_wrap:after {
    bottom: -51px;
    height: 51px;
    background-size: 1597.5px 51px;
  }
}
@media screen and (min-width: 1597px) {
  .ccm-page .skyblue_wrap:after {
    background-size: 100% 51px;
  }
}
.ccm-page .navyblue_wrap {
  position: relative;
  background-color: #0E2B86;
  padding-top: 1px;
  padding-bottom: 58px;
  margin-bottom: 90px;
  color: var(--Color_White);
}
.ccm-page .navyblue_wrap:before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: -20px;
  height: 20px;
  width: 100%;
  background-image: url(/application/themes/theme2025/img/wave02_top.png);
  background-position: top center;
  background-size: 640px 20px;
  background-repeat: no-repeat;
}
@media screen and (min-width: 640px) {
  .ccm-page .navyblue_wrap:before {
    background-size: 100% 20px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .navyblue_wrap:before {
    top: -51px;
    height: 51px;
    background-size: 1597.5px 51px;
  }
}
@media screen and (min-width: 1597px) {
  .ccm-page .navyblue_wrap:before {
    background-size: 100% 51px;
  }
}
.ccm-page .navyblue_wrap:after {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: -20px;
  height: 20px;
  width: 100%;
  background-image: url(/application/themes/theme2025/img/wave02_bottom.png);
  background-position: top center;
  background-size: 640px 20px;
  background-repeat: no-repeat;
}
@media screen and (min-width: 640px) {
  .ccm-page .navyblue_wrap:after {
    background-size: 100% 20px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .navyblue_wrap:after {
    bottom: -51px;
    height: 51px;
    background-size: 1597.5px 51px;
  }
}
@media screen and (min-width: 1597px) {
  .ccm-page .navyblue_wrap:after {
    background-size: 100% 51px;
  }
}
.ccm-page .normal_wrap {
  position: relative;
  padding-top: 1px;
  padding-bottom: 58px;
  margin-bottom: 80px;
  color: var(--Color_White);
}
.ccm-page .operation_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.ccm-page .operation_wrap > * {
  width: 100%;
}
@media screen and (min-width: 750px) {
  .ccm-page .operation_wrap > * {
    width: 50%;
  }
}
.ccm-page .main_wrap {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.5%;
  padding-right: 2.5%;
  margin-bottom: 80px;
}
@media screen and (min-width: 750px) {
  .ccm-page .main_wrap {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 150px;
  }
}
.ccm-page .pagetitle_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
}
@media screen and (min-width: 750px) {
  .ccm-page .pagetitle_wrap {
    gap: 18px;
    flex-direction: row;
    align-items: inherit;
    margin-bottom: 130px;
    margin-top: 65px;
  }
}
.ccm-page .map_wrap {
  display: block;
  width: 100%;
  height: 300px;
}
@media screen and (min-width: 750px) {
  .ccm-page .map_wrap {
    height: 300px;
  }
}
.ccm-page .map_wrap iframe {
  border: none;
  width: 100%;
  height: 100%;
}
.ccm-page .movie_wrap {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: min(700px,100%);
  height: 100%;
  aspect-ratio: 1.77777778;
}
.ccm-page .movie_wrap.shorts {
  width: min(450px,100%);
  aspect-ratio: 0.5625;
}
.ccm-page .movie_wrap iframe {
  border: none;
  width: 100%;
  height: 100%;
}
.ccm-page .footer_wrap {
  max-width: 1098px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.5%;
  padding-right: 2.5%;
  margin-bottom: 0;
}
@media screen and (min-width: 850px) {
  .ccm-page .footer_wrap {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.ccm-page .timetable_wrap {
  display: flex;
  flex-direction: column;
  gap: 32px 80px;
}
@media screen and (min-width: 750px) {
  .ccm-page .timetable_wrap {
    flex-direction: row;
  }
}
.ccm-page .timetable_wrap table {
  border-bottom: none;
  table-layout: fixed;
  width: 100%;
}
.ccm-page .timetable_wrap table thead tr th {
  font-weight: 600;
  text-align: center;
  font-size: 25px;
  padding: 0;
  height: 70px;
  vertical-align: middle;
  background-color: #e1e1e1;
  line-height: 1;
}
.ccm-page .timetable_wrap table thead tr th.bg_skyblue {
  background-color: var(--Color_SkyBlue2);
  color: var(--Color_White);
}
.ccm-page .timetable_wrap table tbody tr:nth-child(odd) {
  background-color: var(--Color_White);
}
.ccm-page .timetable_wrap table tbody tr:nth-child(even) {
  background-color: var(--Color_White);
}
.ccm-page .timetable_wrap table tbody tr th {
  height: 65px;
}
.ccm-page .timetable_wrap table tbody tr td {
  height: 65px;
  font-weight: 600;
  text-align: center;
  font-size: 25px;
}
@media screen and (min-width: 850px) {
  .ccm-page .timetable_wrap table tbody tr td {
    font-size: 22px;
  }
}
.ccm-page .timetable_wrap table tbody tr + tr {
  padding-top: 1px;
  background-image: url(/application/themes/theme2025/img/border.png);
  background-repeat: repeat-x;
  background-position: top;
}
.ccm-page .spc_5 {
  height: 5px;
}
.ccm-page .spc_10 {
  height: 10px;
}
.ccm-page .spc_15 {
  height: 15px;
}
.ccm-page .spc_20 {
  height: 20px;
}
.ccm-page .spc_25 {
  height: 25px;
}
.ccm-page .spc_30 {
  height: 30px;
}
.ccm-page .spc_35 {
  height: 35px;
}
.ccm-page .spc_40 {
  height: 40px;
}
.ccm-page .spc_45 {
  height: 45px;
}
.ccm-page .spc_50 {
  height: 50px;
}
.ccm-page .spc_60 {
  height: 60px;
}
.ccm-page .spc_70 {
  height: 70px;
}
.ccm-page .spc_80 {
  height: 80px;
}
.ccm-page .spc_90 {
  height: 90px;
}
.ccm-page .spc_100 {
  height: 100px;
}
.ccm-page .spc_105 {
  height: 105px;
}
.ccm-page .spc_110 {
  height: 110px;
}
.ccm-page .spc_120 {
  height: 120px;
}
.ccm-page .spc_145 {
  height: 145px;
}
.ccm-page .spc_210 {
  height: 210px;
}
.ccm-page .spc_675 {
  height: 675px;
}
.ccm-page .spc_419 {
  height: 419px;
}
@media screen and (min-width: 750px) {
  .ccm-page .pc-spc_0 {
    height: 0;
  }
  .ccm-page .pc-spc_5 {
    height: 5px;
  }
  .ccm-page .pc-spc_10 {
    height: 10px;
  }
  .ccm-page .pc-spc_15 {
    height: 15px;
  }
  .ccm-page .pc-spc_20 {
    height: 20px;
  }
  .ccm-page .pc-spc_25 {
    height: 25px;
  }
  .ccm-page .pc-spc_30 {
    height: 30px;
  }
  .ccm-page .pc-spc_35 {
    height: 35px;
  }
  .ccm-page .pc-spc_40 {
    height: 40px;
  }
  .ccm-page .pc-spc_50 {
    height: 50px;
  }
  .ccm-page .pc-spc_60 {
    height: 60px;
  }
  .ccm-page .pc-spc_70 {
    height: 70px;
  }
  .ccm-page .pc-spc_80 {
    height: 80px;
  }
  .ccm-page .pc-spc_80 {
    height: 80px;
  }
  .ccm-page .pc-spc_90 {
    height: 90px;
  }
  .ccm-page .pc-spc_95 {
    height: 95px;
  }
  .ccm-page .pc-spc_100 {
    height: 100px;
  }
  .ccm-page .pc-spc_110 {
    height: 110px;
  }
  .ccm-page .pc-spc_145 {
    height: 145px;
  }
  .ccm-page .pc-spc_150 {
    height: 150px;
  }
  .ccm-page .pc-spc_210 {
    height: 210px;
  }
  .ccm-page .pc-spc_675 {
    height: 675px;
  }
  .ccm-page .pc-spc_419 {
    height: 419px;
  }
}
.ccm-page .font-thin {
  font-weight: 100;
}
.ccm-page .font-extralight {
  font-weight: 200;
}
.ccm-page .font-light {
  font-weight: 300;
}
.ccm-page .font-normal {
  font-weight: 400;
}
.ccm-page .font-medium {
  font-weight: 500;
}
.ccm-page .font-semibold {
  font-weight: 600;
}
.ccm-page .font-bold {
  font-weight: 700;
}
.ccm-page .font-extrabold {
  font-weight: 800;
}
.ccm-page .font-black {
  font-weight: 900;
}
.ccm-page .text-left {
  text-align: left;
}
.ccm-page .text-center {
  text-align: center;
}
.ccm-page .text-right {
  text-align: right;
}
.ccm-page .text-justify {
  text-align: justify;
}
.ccm-page .text-start {
  text-align: start;
}
.ccm-page .text-end {
  text-align: end;
}
.ccm-page .text-blue,
.ccm-page .text_blue {
  color: var(--Color_DarkBlue);
}
.ccm-page .text-red,
.ccm-page .text_red {
  color: var(--Color_Red);
}
.ccm-page .marker-yellow,
.ccm-page .marker_yellow {
  position: relative;
  background-color: var(--Color_Yellow);
  /*	z-index: -1;
	&:before{
		position: absolute;
		z-index: -1;
		content: "";
		top:50%;
		left: -2px;
		right: 2px;
		width: calc(~"100% + 4px");
		height: 1.2em;
		background-color: var(--Color_Yellow);
		transform: translateY(-50%);

	}
*/
}
.ccm-page .bottom_wrap {
  display: flex;
  align-items: end;
}
.ccm-page .pr_40 {
  padding-right: 40px;
}
@media screen and (min-width: 750px) {
  .ccm-page .pc-pr_40 {
    padding-right: 40px;
  }
}
.ccm-page img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
.ccm-page .img.aspect-square {
  aspect-ratio: 1;
}
.ccm-page .img.aspect-video {
  aspect-ratio: 1.77777778;
}
.ccm-page .img.aspect-portrait {
  aspect-ratio: 1.33333333;
}
.ccm-page .img.aspect-photo {
  aspect-ratio: 1.5;
}
.ccm-page .img.aspect-portrait-v {
  aspect-ratio: 0.75;
}
@media screen and (min-width: 750px) {
  .ccm-page .img.pc-aspect-square {
    aspect-ratio: 1;
  }
  .ccm-page .img.pc-aspect-video {
    aspect-ratio: 1.77777778;
  }
  .ccm-page .img.pc-aspect-portrait {
    aspect-ratio: 1.33333333;
  }
  .ccm-page .img.pc-aspect-photo {
    aspect-ratio: 1.5;
  }
  .ccm-page .img.pc-aspect-portrait-v {
    aspect-ratio: 0.75;
  }
}
.ccm-page .img.v_wrap {
  width: 75%;
  margin-left: auto;
  margin-right: auto;
}
.ccm-page .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.ccm-page .img.img-70p > img {
  width: 70%;
}
.ccm-page .img.img-80p > img {
  width: 80%;
}
.ccm-page .img.img-57p > img {
  width: 57%;
}
.ccm-page .img.max-w-full > img,
.ccm-page .img.img-full > img,
.ccm-page .img.img-max > img {
  width: 100%;
  max-width: 100%;
}
.ccm-page .img.img-mw100 > picture > img,
.ccm-page .img.img-mw100 > img {
  width: inherit;
  max-width: 100%;
}
.ccm-page .img.img-100p > img {
  width: 100%;
  max-width: inherit;
}
@media screen and (min-width: 750px) {
  .ccm-page .img.pc-h183 > img {
    width: inherit;
    height: 183px;
  }
  .ccm-page .img.pc-max-w-full > img,
  .ccm-page .img.pc-img-full > img,
  .ccm-page .img.pc-img-max > img {
    width: inherit;
    max-width: 100%;
  }
  .ccm-page .img.pc-img-70p > img {
    width: 70%;
  }
  .ccm-page .img.pc-img-57p > img {
    width: 57%;
  }
}
.ccm-page h1,
.ccm-page h2,
.ccm-page h3,
.ccm-page h4,
.ccm-page h5,
.ccm-page h6,
.ccm-page b,
.ccm-page strong {
  font-weight: 600;
}
.ccm-page p {
  margin-bottom: 0.8em;
}
.ccm-page img {
  vertical-align: top;
}
.ccm-page a {
  color: var(--Color_Black);
  text-decoration: none;
  transition: all 0.2s;
}
.ccm-page a:hover {
  transition: all 0.2s;
  text-decoration: underline;
}
.ccm-page .text-18px,
.ccm-page .text_18px {
  font-size: 18px;
  line-height: 1.83;
}
.ccm-page .text-26px,
.ccm-page .text_26px {
  font-size: 26px;
  line-height: 1.83;
}
.ccm-page .text-30px,
.ccm-page .text_30px {
  font-size: 30px;
  line-height: 1.267;
}
.ccm-page .text-36px,
.ccm-page .text_36px {
  font-size: 35px;
  line-height: 1.278;
}
.ccm-page .heading_lv1 {
  font-weight: 600;
  color: var(--Color_NavyBlue);
  font-size: 40px;
  line-height: 1.175;
  text-align: center;
}
@media screen and (min-width: 750px) {
  .ccm-page .heading_lv1 {
    display: inline-block;
    font-size: 44px;
    text-align: left;
  }
}
.ccm-page .heading_lv1.ferry_fare {
  background-image: url(/application/themes/theme2025/img/fare.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 48px;
  padding-top: 55px;
}
@media screen and (min-width: 750px) {
  .ccm-page .heading_lv1.ferry_fare {
    background-position: left top;
    background-size: 47px;
    padding-top: 0;
    padding-left: 65px;
  }
}
.ccm-page .heading_lv1.information {
  background-image: url(/application/themes/theme2025/img/news.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 48px;
  padding-top: 55px;
}
@media screen and (min-width: 750px) {
  .ccm-page .heading_lv1.information {
    background-position: left top;
    background-size: 46.7px;
    padding-top: 0;
    padding-left: 65px;
  }
}
.ccm-page .heading_lv1.dolphin_information {
  background-image: url(/application/themes/theme2025/img/dolphin.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 62px;
  padding-top: 55px;
}
@media screen and (min-width: 750px) {
  .ccm-page .heading_lv1.dolphin_information {
    background-position: left center;
    background-size: 62px;
    padding-top: 0;
    padding-left: 75px;
  }
}
.ccm-page .eng_name {
  color: var(--Color_NavyBlue);
  font-size: 20px;
}
@media screen and (min-width: 750px) {
  .ccm-page .eng_name {
    display: inline-block;
    font-size: 23px;
  }
}
.ccm-page h2,
.ccm-page .heading_lv2 {
  font-weight: 600;
  background-color: var(--Color_SkyBlue);
  color: var(--Color_White);
  line-height: 1.167;
  font-size: 36px;
  border: 4px solid var(--Color_White);
  box-shadow: 0 0 0 1px var(--Color_DarkBlue);
  padding: 14px 21px;
  margin-bottom: 15px;
}
@media screen and (min-width: 750px) {
  .ccm-page h2,
  .ccm-page .heading_lv2 {
    padding: 14px 30px;
    margin-bottom: 28px;
  }
}
.ccm-page h3,
.ccm-page .heading_lv3 {
  font-weight: 600;
  border: none;
  box-shadow: inherit;
  background-color: var(--Color_DarkBlue);
  color: var(--Color_White);
  line-height: 1.278;
  font-size: 26px;
  padding: 14px 21px;
  margin-bottom: 20px;
}
@media screen and (min-width: 750px) {
  .ccm-page h3,
  .ccm-page .heading_lv3 {
    padding: 14px 30px;
    margin-bottom: 28px;
  }
}
.ccm-page h4,
.ccm-page .heading_lv4 {
  font-weight: 600;
  border: none;
  box-shadow: inherit;
  background-color: var(--Color_White);
  border: 1px solid var(--Color_DarkBlue);
  border-radius: 60px;
  color: var(--Color_DarkBlue);
  line-height: 1.278;
  font-size: 24px;
  padding: 14px 21px;
  margin-bottom: 22px;
}
@media screen and (min-width: 750px) {
  .ccm-page h4,
  .ccm-page .heading_lv4 {
    padding: 14px 30px;
    margin-bottom: 28px;
  }
}
.ccm-page a.phone_link {
  font-size: 26px;
  line-height: 1.83;
  font-weight: 600;
  color: var(--Color_Black);
  text-decoration: none;
}
.ccm-page a.phone_link:hover {
  text-decoration: underline;
}
.ccm-page ol.note {
  list-style: none;
  padding-left: 1.2em;
  font-size: 16px;
  padding-left: 1em;
}
.ccm-page ol.note li {
  position: relative;
  font-size: 16px;
  line-height: 1.43;
  margin-bottom: 4px;
}
@media screen and (min-width: 750px) {
  .ccm-page ol.note li {
    margin-bottom: 0;
    margin-left: 4px;
  }
}
.ccm-page ol.note li::before {
  position: absolute;
  content: "※";
  top: 0;
  left: -1em;
  border: none;
}
.ccm-page ul {
  list-style: none;
  padding-left: 1.2em;
}
.ccm-page ul li {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 0.7em;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 750px) {
  .ccm-page ul li {
    font-size: 18px;
  }
}
.ccm-page ul li:before {
  position: absolute;
  top: 0.65em;
  left: -0.95em;
  width: 0px;
  height: 0px;
  border: 3px solid transparent;
  border-left: 6px solid var(--Color_LightAqua);
  content: "";
}
.ccm-page ul.disc li::before {
  top: 0.64em;
  left: -0.95em;
  width: 0px;
  height: 0px;
  border: 3px solid var(--Color_Black);
  border-radius: 3px;
}
.ccm-page ul.dot li {
  position: relative;
  font-size: 20px;
  line-height: 1.66;
  margin-bottom: 0;
}
@media screen and (min-width: 750px) {
  .ccm-page ul.dot li {
    font-size: 18px;
  }
}
.ccm-page ul.dot li::before {
  position: absolute;
  content: "・";
  top: 0;
  left: -0.8em;
  border: none;
}
.ccm-page ul.note {
  font-size: 16px;
  padding-left: 1em;
}
.ccm-page ul.note li {
  position: relative;
  font-size: 16px;
  line-height: 1.43;
  margin-bottom: 4px;
}
@media screen and (min-width: 750px) {
  .ccm-page ul.note li {
    margin-bottom: 0;
    margin-left: 4px;
  }
}
.ccm-page ul.note li::before {
  position: absolute;
  content: "※";
  top: 0;
  left: -1em;
  border: none;
}
.ccm-page ul:not([class]) li {
  position: relative;
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 8px;
}
.ccm-page ul:not([class]) li::before {
  position: absolute;
  background-image: url(/application/themes/theme2025/img/list_skyblue.svg);
  background-repeat: no-repeat;
  width: 7px;
  height: 8.4px;
  content: "";
  top: calc((1.5em / 2 ) - 4.2px);
  left: -0.8em;
  border: none;
}
.ccm-page ul:not([class]) li a {
  text-decoration: none;
}
.ccm-page ul:not([class]) li a:hover {
  text-decoration: none;
  color: var(--Color_NavyBlue);
}
@media screen and (min-width: 750px) {
  .ccm-page ul:not([class]) li {
    font-size: 18px;
  }
}
.ccm-page ul.triangle li {
  position: relative;
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 0.9em;
}
.ccm-page ul.triangle li::before {
  position: absolute;
  background-image: url(/application/themes/theme2025/img/list_skyblue.svg);
  background-repeat: no-repeat;
  width: 7px;
  height: 8.4px;
  content: "";
  top: calc((1.6em / 2 ) - 4.2px);
  left: -0.8em;
  border: none;
}
.ccm-page ul.triangle li a {
  text-decoration: none;
}
.ccm-page ul.triangle li a:hover {
  text-decoration: none;
  color: var(--Color_NavyBlue);
}
@media screen and (min-width: 750px) {
  .ccm-page ul.triangle li {
    font-size: 18px;
  }
}
.ccm-page ul.circle_blue li {
  position: relative;
  font-size: 16px;
  line-height: 1.45;
  margin-bottom: 0.9em;
}
.ccm-page ul.circle_blue li::before {
  position: absolute;
  background-image: url(/application/themes/theme2025/img/list_circle_blue.svg);
  background-repeat: no-repeat;
  width: 7px;
  height: 7px;
  content: "";
  top: calc((1.45em / 2 ) - 3.5px);
  left: -0.8em;
  border: none;
}
.ccm-page ul.circle_blue li a {
  text-decoration: none;
}
.ccm-page ul.circle_blue li a:hover {
  text-decoration: none;
  color: var(--Color_NavyBlue);
}
.ccm-page ul.circle_skyblue {
  padding-left: 0.2em;
}
.ccm-page ul.circle_skyblue li {
  position: relative;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  padding-left: 1em;
  margin-bottom: 0;
}
.ccm-page ul.circle_skyblue li::before {
  position: absolute;
  background-image: url(/application/themes/theme2025/img/list_circle_skyblue.svg);
  background-repeat: no-repeat;
  width: 9.6px;
  height: 9.6px;
  content: "";
  top: calc((1.45em / 2 ) - 4.8px);
  left: 0.1em;
  border: none;
}
.ccm-page ul.circle_skyblue li a {
  color: var(--Color_Black);
  text-decoration: none;
}
.ccm-page ul.circle_skyblue li a:hover {
  text-decoration: none;
  color: var(--Color_NavyBlue);
}
.ccm-page ul.circle_skyblue li a.hover_darkblue:hover {
  text-decoration: none;
  color: var(--Color_DarkBlue);
}
.ccm-page ul.sns_link {
  padding-left: 0;
}
.ccm-page ul.sns_link li {
  margin-bottom: 0;
}
.ccm-page ul.sns_link li .sns {
  width: 28.3px;
  height: 28.3px;
}
.ccm-page ul.sns_link li .sns img {
  object-fit: cover;
}
.ccm-page ul.circle_blue_22 li {
  position: relative;
  font-size: 22px;
  line-height: 1.45;
  margin-bottom: 0.9em;
}
.ccm-page ul.circle_blue_22 li::before {
  position: absolute;
  background-image: url(/application/themes/theme2025/img/list_circle_blue.svg);
  background-repeat: no-repeat;
  background-size: 9.6px;
  width: 9.6px;
  height: 9.6px;
  content: "";
  top: calc((1.45em / 2 ) - 4.5px);
  left: -0.8em;
  border: none;
}
.ccm-page ul.circle_blue_22 li a {
  text-decoration: none;
}
.ccm-page ul.circle_blue_22 li a:hover {
  text-decoration: none;
  color: var(--Color_White);
}
.ccm-page ul.icon_link {
  border-top: 1px solid rgba(255, 255, 255, 0.52);
  padding: 0;
  margin: 0;
}
.ccm-page ul.icon_link li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.52);
  margin: 0;
}
.ccm-page ul.icon_link li a {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 600;
  text-decoration: none;
  height: 70px;
  padding-left: 78px;
  background-repeat: no-repeat;
}
.ccm-page ul.icon_link li a:hover {
  text-decoration: none;
  color: var(--Color_White);
}
.ccm-page ul.icon_link li a.reservation {
  background-image: url(/application/themes/theme2025/img/reservation_white.svg);
  background-position: left 34px center;
  background-size: 29px;
}
.ccm-page ul.icon_link li a.information {
  background-image: url(/application/themes/theme2025/img/news_white.svg);
  background-position: left 34px center;
  background-size: 26px;
}
.ccm-page ul.icon_link li a.ferry_fare {
  background-image: url(/application/themes/theme2025/img/fare_white.svg);
  background-position: left 34px center;
  background-size: 28px;
}
.ccm-page ul.icon_link li a.dolphin_information {
  background-image: url(/application/themes/theme2025/img/dolphin_white.svg);
  background-position: left 29px center;
  background-size: 40px;
}
.ccm-page ul.icon_link li a.model_course {
  background-image: url(/application/themes/theme2025/img/operation_white.svg);
  background-position: left 32px center;
  background-size: 35px;
}
.ccm-page ol {
  padding-left: 2em;
}
.ccm-page table {
  border-collapse: collapse;
  border-spacing: 0;
  border-bottom: 4.7px solid var(--Color_Gray);
  width: 100%;
}
.ccm-page table thead tr {
  background-color: var(--Color_Gray);
}
.ccm-page table thead tr th {
  font-weight: 400;
  text-align: left;
  font-size: 23px;
  line-height: 1.39;
  padding: 14.1px 21px;
}
@media screen and (min-width: 750px) {
  .ccm-page table thead tr th {
    padding: 14.1px 30px;
  }
}
.ccm-page table tbody tr:nth-child(odd) {
  background-color: var(--Color_LightGray);
}
.ccm-page table tbody tr:nth-child(even) {
  background-color: var(--Color_White);
}
.ccm-page table tbody tr th {
  font-weight: 400;
  text-align: left;
  font-size: 23px;
  line-height: 1.39;
  padding: 14.1px 21px;
}
@media screen and (min-width: 750px) {
  .ccm-page table tbody tr th {
    padding: 14.1px 30px;
  }
}
.ccm-page table tbody tr td {
  font-weight: 400;
  text-align: left;
  font-size: 23px;
  line-height: 1.39;
  padding: 14.1px 21px;
}
@media screen and (min-width: 750px) {
  .ccm-page table tbody tr td {
    padding: 14.1px 30px;
  }
}
.ccm-page .is-scrollable table thead tr th,
.ccm-page .scroll-hint table thead tr th,
.ccm-page .is-scrollable table tbody tr th,
.ccm-page .scroll-hint table tbody tr th {
  white-space: nowrap;
}
.ccm-page .is-scrollable table thead tr td,
.ccm-page .scroll-hint table thead tr td,
.ccm-page .is-scrollable table tbody tr td,
.ccm-page .scroll-hint table tbody tr td {
  white-space: nowrap;
}
.ccm-page .faq_wrap table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-bottom: none;
}
.ccm-page .faq_wrap table thead tr {
  background-color: var(--Color_Gray);
  border-bottom: 1px solid var(--Color_Gray);
}
.ccm-page .faq_wrap table thead tr th {
  font-size: 20px;
  font-weight: 400;
  text-align: left;
  padding: 14.1px 21px;
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap table thead tr th {
    font-size: 18px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap table thead tr th {
    padding: 14.1px 30px;
  }
}
.ccm-page .faq_wrap table tbody tr {
  border-bottom: 1px solid var(--Color_Gray);
}
.ccm-page .faq_wrap table tbody tr:nth-child(odd) {
  background-color: var(--Color_White);
}
.ccm-page .faq_wrap table tbody tr:nth-child(even) {
  background-color: var(--Color_White);
}
.ccm-page .faq_wrap table tbody tr th {
  font-size: 20px;
  font-weight: 400;
  text-align: left;
  padding: 14.1px 21px;
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap table tbody tr th {
    font-size: 18px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap table tbody tr th {
    padding: 14.1px 30px;
  }
}
.ccm-page .faq_wrap table tbody tr td {
  font-size: 20px;
  font-weight: 400;
  text-align: left;
  padding: 14.1px 21px;
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap table tbody tr td {
    font-size: 18px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap table tbody tr td {
    padding: 14.1px 30px;
  }
}
.ccm-page .mb-0,
.ccm-page .mb_0 {
  margin-bottom: 0;
}
.ccm-page small,
.ccm-page .small {
  font-size: 78%;
}
.ccm-page .larger {
  font-size: 125%;
}
.ccm-page .x_large {
  font-size: 150%;
}
.ccm-page .flex {
  display: flex;
}
.ccm-page .flex.gap-26,
.ccm-page .flex.gap_26 {
  gap: 26px;
}
.ccm-page .sub_menu {
  display: flex;
  justify-content: end;
  align-items: center;
  padding-right: 19px;
  gap: 26px;
  height: 70px;
  width: 900px;
}
.ccm-page a.download {
  display: block;
}
.ccm-page a.download.pdf {
  background-image: url(/application/themes/theme2025/img/icon_pdf.svg);
  background-repeat: no-repeat;
  background-color: var(--Color_LightGray2);
  border: 1px solid var(--Color_Red);
  border-radius: 16px;
  padding: 95px 25px 12px 25px;
  background-position: top 12px center;
  text-align: center;
  font-weight: 600;
  line-height: 1.36;
  font-size: 25px;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 750px) {
  .ccm-page a.download.pdf {
    background-position: left 12px center;
    padding: 12px 40px 12px 178px;
    justify-content: start;
  }
}
.ccm-page a.download.pdf:hover {
  text-decoration: none;
  color: var(--Color_Red);
  border-width: 4px;
  padding: 92px 25px 9px 25px;
  background-position: top 9px center;
}
@media screen and (min-width: 750px) {
  .ccm-page a.download.pdf:hover {
    background-position: left 9px center;
    padding: 9px 33px 9px 175px;
  }
}
.ccm-page a.link {
  background-image: url(/application/themes/theme2025/img/icon_link.svg);
  background-repeat: no-repeat;
  background-position: left 12px center;
  background-color: var(--Color_LightGray2);
  border: 1px solid var(--Color_DarkBlue);
  border-radius: 16px;
  padding: 95px 25px 12px 25px;
  background-position: top 12px center;
  text-align: center;
  font-weight: 600;
  line-height: 1.36;
  font-size: 25px;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 750px) {
  .ccm-page a.link {
    background-position: left 12px center;
    padding: 12px 40px 12px 178px;
    justify-content: start;
    text-align: left;
  }
}
.ccm-page a.link:hover {
  text-decoration: none;
  color: var(--Color_DarkBlue);
  border-width: 4px;
  padding: 92px 25px 9px 25px;
  background-position: top 9px center;
}
@media screen and (min-width: 750px) {
  .ccm-page a.link:hover {
    background-position: left 9px center;
    padding: 9px 33px 9px 175px;
  }
}
.ccm-page a.btn_reservation {
  display: flex;
  font-weight: 600;
  font-size: 28px;
  background-color: var(--Color_White);
  border: 2px solid var(--Color_NavyBlue);
  color: var(--Color_NavyBlue);
  border-radius: 90px;
  min-height: 90px;
  width: min(360px,100%);
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  align-items: center;
  justify-content: center;
}
.ccm-page a.btn_reservation span {
  padding-left: 44px;
  background-image: url(/application/themes/theme2025/img/reservation.svg);
  background-repeat: no-repeat;
  background-position: left center;
}
.ccm-page a.btn_reservation:hover {
  text-decoration: none;
  background-color: var(--Color_NavyBlue);
  border: 2px solid var(--Color_White);
  color: var(--Color_White);
}
.ccm-page a.btn_reservation:hover span {
  background-image: url(/application/themes/theme2025/img/reservation_white.svg);
}
.ccm-page a.btn_news {
  display: flex;
  font-weight: 600;
  font-size: 28px;
  background-color: var(--Color_White);
  border: 2px solid var(--Color_NavyBlue);
  color: var(--Color_NavyBlue);
  border-radius: 90px;
  min-height: 90px;
  width: min(360px,100%);
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  align-items: center;
  justify-content: center;
}
.ccm-page a.btn_news span {
  padding-left: 40px;
  padding-right: 10px;
  background-image: url(/application/themes/theme2025/img/news.svg);
  background-repeat: no-repeat;
  background-position: left center;
}
.ccm-page a.btn_news:hover {
  text-decoration: none;
  background-color: var(--Color_NavyBlue);
  border: 2px solid var(--Color_White);
  color: var(--Color_White);
}
.ccm-page a.btn_news:hover span {
  background-image: url(/application/themes/theme2025/img/news_white.svg);
}
.ccm-page a.btn_link {
  display: flex;
  font-weight: 600;
  font-size: 28px;
  background-color: var(--Color_White);
  border: 2px solid var(--Color_NavyBlue);
  color: var(--Color_NavyBlue);
  border-radius: 90px;
  min-height: 90px;
  width: min(360px,100%);
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  align-items: center;
  justify-content: center;
}
.ccm-page a.btn_link:hover {
  text-decoration: none;
  background-color: var(--Color_NavyBlue);
  border: 2px solid var(--Color_White);
  color: var(--Color_White);
}
.ccm-page a.btn_dolphin {
  display: flex;
  font-weight: 600;
  font-size: 28px;
  background-color: var(--Color_White);
  border: 2px solid var(--Color_NavyBlue);
  color: var(--Color_NavyBlue);
  border-radius: 90px;
  min-height: 90px;
  width: min(360px,100%);
  margin-left: auto;
  margin-right: auto;
  text-decoration: none;
  align-items: center;
  justify-content: center;
}
.ccm-page a.btn_dolphin span {
  padding-left: 44px;
  padding-right: 10px;
  background-image: url(/application/themes/theme2025/img/dolphin.svg);
  background-repeat: no-repeat;
  background-position: left center;
}
.ccm-page a.btn_dolphin:hover {
  text-decoration: none;
  background-color: var(--Color_SkyBlue2);
  color: var(--Color_White);
}
.ccm-page .link + .link,
.ccm-page .download + .link,
.ccm-page .link + .download,
.ccm-page .download + .download {
  margin-top: 37px;
}
.ccm-page p.caption {
  font-size: 23px;
  text-align: center;
}
.ccm-page p.arrow {
  position: relative;
}
.ccm-page p.arrow:before {
  content: "　";
  background-image: url(/application/themes/theme2025/img/list_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
}
.ccm-page span.arrow {
  display: block;
  position: relative;
}
.ccm-page span.arrow:before {
  content: "　";
  background-image: url(/application/themes/theme2025/img/list_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
}
.ccm-page .question {
  position: relative;
  border: none;
  box-shadow: none;
  font-weight: 600;
  background-color: var(--Color_DarkBlue);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  color: var(--Color_White);
  line-height: 1.42;
  font-size: 26px;
  padding: 80px 25px 70px;
  margin-bottom: 0;
  cursor: pointer;
}
.ccm-page .question:before {
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  width: 100%;
  height: 82px;
  content: "";
  background-image: url(/application/themes/theme2025/img/question.svg);
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 750px) {
  .ccm-page .question:before {
    left: 16px;
    width: 100px;
  }
}
.ccm-page .question:after {
  position: absolute;
  top: inherit;
  bottom: 19px;
  left: 0;
  right: 0;
  width: 100%;
  height: 24px;
  content: "";
  background-image: url(/application/themes/theme2025/img/faq_switch_sp.svg);
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 750px) {
  .ccm-page .question:after {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    left: inherit;
    right: 20px;
    width: 39.6px;
    height: 39.6px;
    background-image: url(/application/themes/theme2025/img/faq_switch.svg);
    background-color: var(--Color_White);
    margin-bottom: 0;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page .question {
    padding: 20px 144px 20px 144px;
    margin-bottom: 0;
  }
}
.ccm-page .question.active {
  display: block;
}
.ccm-page .question.active:after {
  background-image: url(/application/themes/theme2025/img/faq_switch_sp_active.svg);
}
@media screen and (min-width: 750px) {
  .ccm-page .question.active:after {
    background-image: url(/application/themes/theme2025/img/faq_switch_active.svg);
  }
}
.ccm-page .answer {
  display: none;
  background-color: var(--Color_LightGray);
  padding: 112px 25px 40px;
  background-image: url(/application/themes/theme2025/img/answer.svg);
  background-repeat: no-repeat;
  background-position: top 30px center;
}
@media screen and (min-width: 750px) {
  .ccm-page .answer {
    padding: 30px 55px 45px 144px;
    background-position: top 30px left 18px;
  }
}
.ccm-page .faq_wrap.active .question {
  display: block;
}
.ccm-page .faq_wrap.active .question:after {
  background-image: url(/application/themes/theme2025/img/faq_switch_sp_active.svg);
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap.active .question:after {
    background-image: url(/application/themes/theme2025/img/faq_switch_active.svg);
  }
}
.ccm-page .faq_wrap.active .answer {
  display: block;
}
.ccm-page .faq_wrap + .faq_wrap {
  margin-top: 58px;
}
@media screen and (min-width: 750px) {
  .ccm-page .faq_wrap + .faq_wrap {
    margin-top: 50px;
  }
}
.ccm-page .news_list {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 30px 35px;
}
.ccm-page .news_list li {
  width: 100%;
}
@media screen and (min-width: 750px) {
  .ccm-page .news_list li {
    width: calc((100% - (35px * 2)) / 3 );
  }
}
.ccm-page .news_list li a {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.ccm-page .news_list li a .date {
  margin-top: 3px;
  margin-bottom: 0;
  font-size: 16px;
}
.ccm-page .news_list li a .title {
  margin-bottom: 0;
  font-size: 20px;
}
@media screen and (min-width: 750px) {
  .ccm-page .news_list li a .title {
    font-size: 18px;
  }
}
.ccm-page .gray_box {
  position: relative;
  z-index: 0;
  background-color: var(--Color_LightGray2);
  padding: 30px;
}
.ccm-page .gray_box h1,
.ccm-page .gray_box h2,
.ccm-page .gray_box h3,
.ccm-page .gray_box h4 {
  margin: 10px 0;
  padding: 0;
  font-size: 25px;
  font-weight: 600;
  background: none;
  border: none;
  box-shadow: none;
  color: var(--Color_Black);
  line-height: 1.28;
}
@media screen and (min-width: 750px) {
  .ccm-page .gray_box h1,
  .ccm-page .gray_box h2,
  .ccm-page .gray_box h3,
  .ccm-page .gray_box h4 {
    font-size: 23px;
  }
}
.ccm-page .photo_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding: 0;
}
.ccm-page .photo_list li {
  width: 100%;
  margin: 0;
}
@media screen and (min-width: 750px) {
  .ccm-page .photo_list li {
    width: calc((100% - (40px)) / 2 );
  }
}
.ccm-page .photo_list li:bofore {
  content: none;
}
.ccm-page .photo_list.single {
  justify-content: center;
}
.ccm-page .photo_list.single li {
  width: min(100%,800px);
}
.ccm-page .photo_list + .photo_list {
  margin-top: 40px;
}
.ccm-page .banner_slider .splide__list .banner_item .banner {
  width: 280px;
  height: 110px;
  -o-object-fit: cover;
  object-fit: cover;
}
.ccm-page .banner_slider .splide__list .banner_item img {
  width: 280px;
  height: 110px;
  -o-object-fit: cover;
  object-fit: cover;
}
.ccm-page .banner_slider .splide__pagination {
  bottom: -48px;
  display: flex !important;
}
.ccm-page .banner_slider .splide__pagination li {
  margin: 0 1px;
}
.ccm-page .banner_slider .splide__pagination li:before {
  content: none;
}
.ccm-page .banner_slider .splide__pagination li button.splide__pagination__page {
  background: var(--Color_Gray);
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 13px;
  margin: 5px;
  opacity: 1;
  padding: 0;
  position: relative;
  transition: transform .2s linear;
  width: 13px;
}
.ccm-page .banner_slider .splide__pagination li button.splide__pagination__page.is-active {
  background: var(--Color_Black);
  transform: none;
}
.ccm-page.page-template-toppage .bg_wrap,
.ccm-page.toppage .bg_wrap {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 315px;
  background-image: url(/application/themes/theme2025/img/bg_toppage_sp.png);
  background-position: top right -133px;
  background-repeat: no-repeat;
  background-size: auto 315px;
}
@media screen and (min-width: 515px) {
  .ccm-page.page-template-toppage .bg_wrap,
  .ccm-page.toppage .bg_wrap {
    background-position: top center;
  }
}
@media screen and (min-width: 650px) {
  .ccm-page.page-template-toppage .bg_wrap,
  .ccm-page.toppage .bg_wrap {
    background-position: top center;
    background-size: 100%;
    background-position: bottom center;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page.page-template-toppage .bg_wrap,
  .ccm-page.toppage .bg_wrap {
    height: 681px;
    background-image: url(/application/themes/theme2025/img/bg_toppage_pc.png);
    background-size: 1600px;
    background-position: bottom right -240px;
  }
}
@media screen and (min-width: 1155px) {
  .ccm-page.page-template-toppage .bg_wrap,
  .ccm-page.toppage .bg_wrap {
    background-image: url(/application/themes/theme2025/img/bg_toppage_pc.png);
    background-size: 1600px;
    background-position: bottom center;
  }
}
@media screen and (min-width: 1597px) {
  .ccm-page.page-template-toppage .bg_wrap,
  .ccm-page.toppage .bg_wrap {
    background-image: url(/application/themes/theme2025/img/bg_toppage_pc.png);
    background-size: 100%;
    background-position: bottom center;
  }
}
.ccm-page.page-template-toppage .heading_wrap,
.ccm-page.toppage .heading_wrap {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 25px;
}
.ccm-page.page-template-toppage .heading_wrap .news,
.ccm-page.toppage .heading_wrap .news {
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  box-shadow: none;
  color: var(--Color_NavyBlue);
  font-size: 33px;
  font-weight: 600;
  padding-top: 65px;
  background-image: url(/application/themes/theme2025/img/news.svg);
  background-size: 47px;
  background-position: top center;
  background-repeat: no-repeat;
}
.ccm-page.page-template-toppage .heading_wrap .timetable,
.ccm-page.toppage .heading_wrap .timetable {
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  box-shadow: none;
  color: var(--Color_NavyBlue);
  font-size: 33px;
  font-weight: 600;
  padding-top: 65px;
  background-image: url(/application/themes/theme2025/img/time.svg);
  background-size: 47px;
  background-position: top center;
  background-repeat: no-repeat;
}
.ccm-page.page-template-toppage .heading_wrap .sub_heading,
.ccm-page.toppage .heading_wrap .sub_heading {
  color: var(--Color_NavyBlue);
  font-size: 17px;
}
.ccm-page.page-template-toppage .heading_wrap.watching,
.ccm-page.toppage .heading_wrap.watching {
  margin-top: 92px;
}
@media screen and (min-width: 750px) {
  .ccm-page.page-template-toppage .heading_wrap.watching,
  .ccm-page.toppage .heading_wrap.watching {
    margin-top: 60px;
  }
}
.ccm-page.page-template-toppage .heading_wrap.watching .watching,
.ccm-page.toppage .heading_wrap.watching .watching {
  position: relative;
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  box-shadow: none;
}
.ccm-page.page-template-toppage .heading_wrap.watching .watching:before,
.ccm-page.toppage .heading_wrap.watching .watching:before {
  position: absolute;
  content: "";
  background-image: url(/application/themes/theme2025/img/dolphin_big.svg);
  background-position: top center;
  background-repeat: no-repeat;
  top: -150px;
  left: 0;
  right: 0;
  width: 100%;
  height: 128px;
}
.ccm-page.page-template-toppage .heading_wrap.watching .watching img,
.ccm-page.toppage .heading_wrap.watching .watching img {
  max-width: 100%;
}
.ccm-page.page-template-toppage .main_wrap,
.ccm-page.toppage .main_wrap {
  margin-bottom: 0;
}
.ccm-page .operation_info {
  position: relative;
  border: 6px solid var(--Color_NavyBlue);
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 11px;
  padding: 20px 0 5px 0;
}
@media screen and (min-width: 750px) {
  .ccm-page .operation_info {
    padding: 20px 20px 5px 20px;
  }
}
.ccm-page .operation_info:before {
  position: absolute;
  top: -28px;
  right: 5px;
  width: 56px;
  height: 61px;
  content: "";
  background-image: url(/application/themes/theme2025/img/dolphin_jump.svg);
}
@media screen and (min-width: 750px) {
  .ccm-page .operation_info:before {
    right: 15px;
  }
}
.ccm-page .operation_info .heading {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--Color_NavyBlue);
  padding-bottom: 20px;
  margin-bottom: 10px;
  position: relative;
}
.ccm-page .operation_info .heading .operation {
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  box-shadow: none;
  color: var(--Color_NavyBlue);
  font-size: 33px;
  font-size: min(33px,8vw);
  font-weight: 600;
  padding-left: 65px;
  background-image: url(/application/themes/theme2025/img/operation.svg);
  background-size: 47px;
  background-position: center left;
  background-repeat: no-repeat;
}
.ccm-page .operation_info .heading .sub_heading {
  margin: 0;
  line-height: 1.1;
  color: var(--Color_NavyBlue);
  font-size: 17px;
}
.ccm-page .operation_info p.information {
  font-size: min(27px,7.5vw);
  font-weight: 600;
  text-align: center;
  margin: 0;
}
.ccm-page .operation_info p.update_date {
  font-size: 20px;
  text-align: center;
  margin: 0;
}
@media screen and (min-width: 750px) {
  .ccm-page .operation_info p.update_date {
    font-size: 18px;
  }
}
.ccm-page .topmove_btn {
  position: fixed;
  z-index: 89;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  bottom: -200px;
  cursor: pointer;
  transition: all 0.4s;
  right: 2vw;
  width: 84px;
  height: 104px;
}
@media only screen and (min-width: 750px) {
  .ccm-page .topmove_btn {
    right: 31px;
    width: 84px;
    height: 104px;
  }
}
.ccm-page .topmove_btn span {
  background-image: url(/application/themes/theme2025/img/pagetop.png);
  background-size: contain;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}
.ccm-page .topmove_btn.active {
  bottom: 20px;
}
@media only screen and (min-width: 750px) {
  .ccm-page .topmove_btn.active {
    bottom: 20px;
  }
}
.ccm-page .circle_blue ul li {
  position: relative;
  font-size: 16px;
  line-height: 1.45;
  margin-bottom: 0.9em;
}
.ccm-page .circle_blue ul li::before {
  position: absolute;
  background-image: url(/application/themes/theme2025/img/list_circle_blue.svg);
  background-repeat: no-repeat;
  width: 7px;
  height: 7px;
  content: "";
  top: calc((1.45em / 2 ) - 3.5px);
  left: -0.8em;
  border: none;
}
.ccm-page .circle_blue ul li a {
  text-decoration: none;
}
.ccm-page .circle_blue ul li a:hover {
  text-decoration: none;
  color: var(--Color_NavyBlue);
}
.ccm-page .circle_blue_22 ul li {
  position: relative;
  font-size: 22px;
  line-height: 1.45;
  margin-bottom: 0.9em;
}
.ccm-page .circle_blue_22 ul li::before {
  position: absolute;
  background-image: url(/application/themes/theme2025/img/list_circle_blue.svg);
  background-repeat: no-repeat;
  background-size: 9.6px;
  width: 9.6px;
  height: 9.6px;
  content: "";
  top: calc((1.45em / 2 ) - 4.5px);
  left: -0.8em;
  border: none;
}
.ccm-page .circle_blue_22 ul li a {
  text-decoration: none;
}
.ccm-page .circle_blue_22 ul li a:hover {
  text-decoration: none;
  color: var(--Color_White);
}
.ccm-page .global_menu ul {
  display: flex;
  padding-left: 0;
  gap: 1px;
  background-color: var(--Color_Gray);
  padding: 1px;
  width: 900px;
}
.ccm-page .global_menu ul li {
  flex: 1;
  margin-bottom: 0;
}
.ccm-page .global_menu ul li:before {
  content: none;
}
.ccm-page .global_menu ul li:nth-child(1) {
  display: none;
}
.ccm-page .global_menu ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 68px;
  background-color: var(--Color_White);
  color: var(--Color_Black);
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
}
.ccm-page .global_menu ul li a span {
  position: relative;
}
.ccm-page .global_menu ul li a span:before {
  position: absolute;
  content: "";
  left: 0;
  background-repeat: no-repeat;
  background-position: left center;
}
.ccm-page .global_menu ul li a.information span {
  padding-left: 35px;
}
.ccm-page .global_menu ul li a.information span:before {
  background-image: url(/application/themes/theme2025/img/news.svg);
  width: 26px;
  height: 27px;
}
.ccm-page .global_menu ul li a.ferry_fare span {
  padding-left: 39px;
}
.ccm-page .global_menu ul li a.ferry_fare span:before {
  background-image: url(/application/themes/theme2025/img/fare.svg);
  width: 28px;
  height: 27px;
}
.ccm-page .global_menu ul li a.dolphin_information span {
  padding-left: 48px;
}
.ccm-page .global_menu ul li a.dolphin_information span:before {
  background-image: url(/application/themes/theme2025/img/dolphin.svg);
  width: 41px;
  height: 25px;
}
.ccm-page .global_menu ul li a.model_course span {
  padding-left: 44px;
}
.ccm-page .global_menu ul li a.model_course span:before {
  background-image: url(/application/themes/theme2025/img/course.svg);
  width: 35px;
  height: 24px;
}
.ccm-page .global_menu ul li a:hover {
  background-color: var(--Color_LightSkyBlue);
}
.ccm-page .icon_link ul {
  border-top: 1px solid rgba(255, 255, 255, 0.52);
  padding: 0;
  margin: 0;
}
.ccm-page .icon_link ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.52);
  margin: 0;
}
.ccm-page .icon_link ul li:before {
  content: none;
}
.ccm-page .icon_link ul li a {
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 600;
  text-decoration: none;
  height: 70px;
  padding-left: 78px;
  background-repeat: no-repeat;
}
.ccm-page .icon_link ul li a:hover {
  text-decoration: none;
  color: var(--Color_White);
}
.ccm-page .icon_link ul li a.reservation {
  background-image: url(/application/themes/theme2025/img/reservation_white.svg);
  background-position: left 34px center;
  background-size: 29px;
}
.ccm-page .icon_link ul li a.information {
  background-image: url(/application/themes/theme2025/img/news_white.svg);
  background-position: left 34px center;
  background-size: 26px;
}
.ccm-page .icon_link ul li a.ferry_fare {
  background-image: url(/application/themes/theme2025/img/fare_white.svg);
  background-position: left 34px center;
  background-size: 28px;
}
.ccm-page .icon_link ul li a.dolphin_information {
  background-image: url(/application/themes/theme2025/img/dolphin_white.svg);
  background-position: left 29px center;
  background-size: 40px;
}
.ccm-page .icon_link ul li a.model_course {
  background-image: url(/application/themes/theme2025/img/operation_white.svg);
  background-position: left 32px center;
  background-size: 35px;
}
.ccm-page .ccm-pagination-wrapper {
  margin-top: 50px;
}
.ccm-page .ccm-pagination-wrapper .pagination {
  display: flex;
  gap: 0;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item .page-link {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(/application/themes/theme2025/img/page_bg.svg);
  background-color: var(--Color_SkyBlue);
  border: 1px solid var(--Color_SkyBlue);
  border-radius: 51px;
  height: min(51px,10vw);
  width: min(51px,10vw);
  font-size: min(28.1px,5vw);
  font-weight: 600;
  justify-content: center;
  align-items: center;
  display: flex;
  color: var(--Color_White);
  margin-left: 4px;
  margin-right: 4px;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item a.page-link {
  text-decoration: none;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item a.page-link:hover {
  background-color: var(--Color_DarkBlue);
  border: 1px solid var(--Color_DarkBlue);
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item.prev .page-link {
  background-image: url(/application/themes/theme2025/img/page_prev.svg);
  background-size: contain;
  width: min(57px,10vw);
  background-color: inherit;
  border: none;
  border-radius: inherit;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item.prev .page-link:hover {
  background-color: inherit;
  border: none;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item.next .page-link {
  background-image: url(/application/themes/theme2025/img/page_next.svg);
  background-size: contain;
  width: min(57px,10vw);
  background-color: inherit;
  border: none;
  border-radius: inherit;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item.next .page-link:hover {
  background-color: inherit;
  border: none;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item.dots .page-link {
  background: none;
  border: none;
  border-radius: inherit;
  width: auto;
  color: var(--Color_DarkBlue);
  margin-left: 0;
  margin-right: 0;
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item.disabled {
  opacity: 0.3;
  filter: grayscale(100%);
}
.ccm-page .ccm-pagination-wrapper .pagination .page-item.active .page-link {
  background-color: var(--Color_White);
  border: 1px solid var(--Color_DarkBlue);
  color: var(--Color_DarkBlue);
}
.ccm-page .ccm-block-next-previous {
  display: flex;
  gap: 40px;
  align-items: center;
  justify-content: center;
}
.ccm-page .ccm-block-next-previous .prev span,
.ccm-page .ccm-block-next-previous .prev a {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(/application/themes/theme2025/img/page_prev.svg);
  background-size: contain;
  background-color: inherit;
  border: none;
  border-radius: inherit;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  height: min(71px,12vw);
  width: min(71px,12vw);
  display: block;
}
.ccm-page .ccm-block-next-previous .prev span {
  opacity: 0.3;
  filter: grayscale(100%);
}
.ccm-page .ccm-block-next-previous .parent {
  width: min(360px, 100%);
}
.ccm-page .ccm-block-next-previous .next span,
.ccm-page .ccm-block-next-previous .next a {
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(/application/themes/theme2025/img/page_next.svg);
  background-size: contain;
  width: min(57px,10vw);
  background-color: inherit;
  border: none;
  border-radius: inherit;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  height: min(71px,12vw);
  width: min(71px,12vw);
  display: block;
}
.ccm-page .ccm-block-next-previous .next span {
  opacity: 0.3;
  filter: grayscale(100%);
}
.ccm-page .visually-hidden {
  position: fixed !important;
  top: 0px !important;
  left: 0px !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}
.ccm-page .indent1 {
  padding-left: 1.2em;
  display: block;
}
.ccm-page .indent1 > .indent_mark {
  margin-left: -1.2em;
  margin-right: 0.2em;
  font-feature-settings: initial;
}
.ccm-page .indent1 > .indent2 {
  padding-left: 1.2em;
  display: block;
}
.ccm-page .indent1 > .indent2 > .indent_mark {
  margin-left: -1.2em;
  margin-right: 0.2em;
  font-feature-settings: initial;
}
.ccm-page .indent1 > .indent2 > .indent3 {
  padding-left: 1.2em;
  display: block;
}
.ccm-page .indent1 > .indent2 > .indent3 > .indent_mark {
  margin-left: -1.2em;
  margin-right: 0.2em;
  font-feature-settings: initial;
}
.ccm-page header {
  height: min(36vw,175px);
}
.ccm-page header .sitelogo {
  position: fixed;
  z-index: 97;
  top: 17px;
  left: 18px;
}
@media screen and (min-width: 750px) {
  .ccm-page header .sitelogo {
    left: 32px;
    top: 32px;
  }
}
.ccm-page header .sitelogo h1 img,
.ccm-page header .sitelogo div img {
  width: min(31vw,163px);
}
.ccm-page aside.top_nav {
  display: none;
  z-index: 99;
}
@media screen and (min-width: 1270px) {
  .ccm-page aside.top_nav {
    display: block;
    position: fixed;
    top: 0;
    right: 140px;
  }
}
.ccm-page aside.menu_btn {
  position: fixed;
  z-index: 99;
  top: 0;
  right: 0;
  display: block;
  width: 90px;
  height: 90px;
  background-color: var(--Color_SkyBlue2);
  background-image: url(/application/themes/theme2025/img/menu_open.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 55.8px;
  color: var(--Color_White);
  font-size: 14.4px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding-top: 59px;
  cursor: pointer;
}
@media screen and (min-width: 750px) {
  .ccm-page aside.menu_btn {
    width: 140px;
    height: 140px;
  }
}
@media screen and (min-width: 1270px) {
  .ccm-page aside.menu_btn {
    display: none;
  }
}
.ccm-page aside.menu_btn.active {
  background-image: url(/application/themes/theme2025/img/menu_close.svg);
  background-size: 41px;
}
.ccm-page aside.drawer {
  z-index: 98;
  transition: all 0.4s;
  background-color: rgba(0, 63, 135, 0.95);
  background-image: url(/application/themes/theme2025/img/logo_white.svg);
  background-position: top 17px left 18px;
  background-repeat: no-repeat;
  background-size: min(31vw, 163px);
  padding-top: 160px;
  position: fixed;
  top: 100vh;
  left: 0;
  right: 0;
  width: 100%;
  color: #fff;
}
.ccm-page aside.drawer a {
  color: #fff;
}
.ccm-page aside.drawer a:hover {
  color: #fff;
}
.ccm-page aside.drawer p {
  margin-bottom: 0;
  font-size: 19.9px;
  line-height: 1.5;
}
.ccm-page aside.drawer p.officename {
  font-size: 22.4px;
  font-weight: 600;
  margin-bottom: 0.2em;
}
.ccm-page aside.drawer p.copyright {
  font-size: 15px;
}
.ccm-page aside.drawer.active {
  display: block;
  top: 0;
}
@media screen and (min-width: 1270px) {
  .ccm-page aside.drawer.active {
    top: 100vh;
  }
}
.ccm-page aside.drawer .drawer_wrap {
  overflow-y: auto;
  width: 100%;
  height: calc(100svh - 160px);
}
.ccm-page aside.reservation a.link_reservation {
  position: fixed;
  z-index: 98;
  top: 0;
  right: 90px;
  display: block;
  width: 90px;
  height: 90px;
  background-color: var(--Color_NavyBlue);
  background-image: url(/application/themes/theme2025/img/reservation_big.svg);
  background-position: top 11px right 17.5px;
  background-repeat: no-repeat;
  background-size: 44px;
  color: var(--Color_White);
  font-size: 14.4px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding-top: 59px;
}
@media screen and (min-width: 750px) {
  .ccm-page aside.reservation a.link_reservation {
    background-position: top 23px right 32px;
    background-size: 60px;
    right: 140px;
    width: 140px;
    height: 140px;
    font-size: 20px;
    padding-top: 90px;
  }
}
@media screen and (min-width: 1270px) {
  .ccm-page aside.reservation a.link_reservation {
    background-position: top 23px right 32px;
    background-size: 60px;
    right: 0;
    width: 140px;
    height: 140px;
    font-size: 20px;
    padding-top: 90px;
  }
}
.ccm-page aside.reservation a.link_reservation:hover {
  background-color: var(--Color_YellowGreen);
}
.ccm-page footer {
  position: relative;
  background-color: var(--Color_BabyBlue);
  min-height: 300px;
  padding-top: 34px;
}
.ccm-page footer:before {
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  top: -20px;
  height: 20px;
  width: 100%;
  background-image: url(/application/themes/theme2025/img/wave01_top.png);
  background-position: top center;
  background-size: 640px 20px;
  background-repeat: no-repeat;
}
@media screen and (min-width: 640px) {
  .ccm-page footer:before {
    background-size: 100% 20px;
  }
}
@media screen and (min-width: 750px) {
  .ccm-page footer:before {
    top: -51px;
    height: 51px;
    background-size: 1597.5px 51px;
  }
}
@media screen and (min-width: 1597px) {
  .ccm-page footer:before {
    background-size: 100% 51px;
  }
}
.ccm-page footer p {
  margin-bottom: 0;
  font-size: 17.8px;
  line-height: 1.5;
}
@media screen and (min-width: 750px) {
  .ccm-page footer p {
    font-size: 16px;
  }
}
.ccm-page footer p.officename {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.66;
}
@media screen and (min-width: 750px) {
  .ccm-page footer p.officename {
    font-size: 18px;
  }
}
.ccm-page footer p.copyright {
  font-size: 15px;
}
.ccm-page footer a {
  text-decoration: none;
  color: var(--Color_Black);
}
.ccm-page footer a:hover {
  text-decoration: underline;
}
.ccm-page footer .flex_footer {
  display: flex;
  justify-content: space-between;
}
.ccm-page footer .flex_footer .link_footer {
  display: none;
}
@media screen and (min-width: 850px) {
  .ccm-page footer .flex_footer .link_footer {
    margin-top: 10px;
    width: min(460px,44%);
    justify-content: space-between;
    display: flex;
  }
}
.ccm-page footer .grid_footer {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.ccm-page footer .grid_footer .inner_1 {
  text-align: center;
  margin-top: 10px;
}
.ccm-page footer .grid_footer .inner_2 {
  margin-top: 20px;
}
.ccm-page footer .grid_footer .inner_3 {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (min-width: 850px) {
  .ccm-page footer .grid_footer {
    display: grid;
    margin-left: 0;
    grid-template: 'inner_01 inner_02' 138px 'inner_03 inner_02' 23px / auto auto;
    gap: 0;
  }
  .ccm-page footer .grid_footer .inner_1 {
    grid-area: inner_01;
    margin-top: 20px;
    text-align: left;
  }
  .ccm-page footer .grid_footer .inner_2 {
    grid-area: inner_02;
    margin-top: 0;
    margin-left: 45px;
  }
  .ccm-page footer .grid_footer .inner_3 {
    grid-area: inner_03;
    margin-top: 65px;
  }
}
@media screen and (min-width: 1000px) {
  .ccm-page footer .grid_footer .inner_2 {
    grid-area: inner_02;
    margin-top: 0;
    margin-left: 65px;
  }
}
.colm2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding: 0;
}
.colm2 > .inner {
  width: 100%;
  margin: 0;
}
@media screen and (min-width: 750px) {
  .colm2 > .inner {
    width: calc((100% - (40px)) / 2 );
  }
}
.colm2 > .inner:bofore {
  content: none;
}
.colm2 + .colm2 {
  margin-top: 40px;
}
html,
body,
.ccm-page {
  height: 100%;
}
.ccm-page > footer {
  position: sticky;
  top: 100vh;
}
