@charset "UTF-8";

/*

not ID

#common
#naoshima
#shodoshima
#teshima
#ogijima
#megijima
#awashima

#list

*/


/*-------------------------------*/


@font-face
{
	font-family: 'Senobi Gothic';
	src: url(/asset/font/Senobi-Gothic-Regular.ttf) format('truetype');
	font-weight: normal;
}

@font-face
{
	font-family: 'Senobi Gothic';
	src: url(/asset/font/Senobi-Gothic-Medium.ttf) format('truetype');
	font-weight: 500;
}

@font-face
{
	font-family: 'Senobi Gothic';
	src: url(/asset/font/Senobi-Gothic-Bold.ttf) format('truetype');
	font-weight: bold;
}


/*-------------------------------*/


:root
{
	--header       : 65px;
	--header2      : 100px;

	scroll-padding : var(--header2);

	scroll-behavior: smooth;
}


/*-------------------------------*/


.site-header{ display: none; }
.site-footer{ display: none; }


/*-------------------------------*/


body
{
	font-family    : "yu-gothic-pr6n", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #333333;
	font-size      : 14pt;
	font-weight    : 500;
	line-height    : 1.8;
}

main
{
	min-width      : 1100px;
}

main::before
{
	display        : none;
}

img { height: auto; }


/*-------------------------------*/


.content_area
{
	margin         : 0 auto;
	/*padding-bottom : 180px;*/
	padding-bottom : 265px;

	/*background     : #fdefc7;*/
	background     : #f7eee0;
}

.section_box
{
	width          : 1100px;
	margin         : 60px auto 0;
	padding        : 60px;

	background     : #fff;
	box-shadow     : 5px 5px 5px -3px rgba(0, 0, 0, 0.25);
	border-radius  : 25px;

	box-sizing     : border-box;

	position       : relative;
}

.section_title
{
	margin-top     : -20px;
	margin-left    : -70px;
	margin-bottom  : 50px;

	width          : 280px;
}

.section_title img
{
	width          : 100%;
}

.page-top { z-index: 9999!important; }


/*-------------------------------*/


.inner
{
	margin         : 0 auto;
	
	width          : 1100px;
}


[data-anchor="true"]
{
	margin-top:-90px;
	padding-top:90px;
}


/*-------------------------------*/


.title_h1
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 400%;
	text-align     : center;
	line-height    : 1.0;
}

.title_h1 span
{
	color          : #f8b469;
}

.title_h2
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #5e9492;
	font-size      : 280%;
	text-align     : center;
	line-height    : 1.0;
}


/*-------------------------------*/


.btn_a
{
	display: block;

	margin: 0 auto;
	padding: 30px 0px;

	width:600px;

	color: #fff;
	font-size: 120%;
	text-align: center;
	line-height: 1.0;
	text-decoration: none;
	
	background: #44535a;
	background: #5e9492;
}

.btn_a:hover
{
	background: #f8b469;
}

.btn_a[data-type="btn_off"]
{
	background: #c0bcb5;

	pointer-events: none;
}


.btn_w
{
	display: block;

	margin: 0 auto;
	padding: 30px 0px;

	width:600px;

	color: #5e9492;
	font-size: 120%;
	text-align: center;
	line-height: 1.0;
	text-decoration: none;
	
	background: #fff;
}

.btn_w:hover
{
	background: #f7eee0;
}


.btn_off
{
	display: block;

	margin: 0 auto;
	padding: 30px 0px;

	width:600px;

	color: #fff;
	font-size: 120%;
	text-align: center;
	line-height: 1.0;
	text-decoration: none;
	
	background: #999;

	pointer-events: none;
}


/*-------------------------------*/


.mfp-bg
{
	background     : #fff!important;
	/*opacity        : 0.75!important;*/
}

/*
.mfp-content
{
	padding        : 0 12%;
}
*/

.popup__modal
{
	margin         : 50px auto;
	padding        : 60px;
	
	max-width      : 1100px;
	
	background     : #5e9492;
	border-radius  : 10px;
	box-shadow     : rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
	position       : relative;
	
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

.popup__modal .btn__close
{
	position       : absolute;
	top            : 20px;
	right          : 20px;
	
	cursor         : pointer;
	
	transition     : all .15s;
}

.popup__modal .btn__close:hover
{
	opacity        : 0.5;
}

.popup__modal .btn__close img
{
	display        : block;

	width          : 30px;
}


/*-------------------------------*/


/* animate.css */

.hover_bounce:hover img
{
	animation: bounce;
	animation-duration: 1s;
}

.hover_rubberBand:hover img
{
	animation: rubberBand;
	animation-duration: 1s;
}





/*=========================================================================================================

　HEADER

=========================================================================================================*/



#HEADER
{
	display        : flex;
	align-items    : center;
	justify-content: space-between;

	position       : sticky;
	top            : 0;
	z-index        : 10;

	padding        : 0 40px;

	width          : 100%;
	min-width      : 1100px;
	height         : 90px;

	/*background-color : rgba(94, 148, 146, 1.0);*/
	background-color : rgba(82, 135, 134, 0.9);
	-webkit-backdrop-filter:blur(2px);
	backdrop-filter:blur(3px);

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

#HEADER .header_logo_box
{
	position       : relative;
	z-index        : 2;

	display        : flex;
	align-items    : center;
	color          : #282828;
	text-decoration: none;
}

#HEADER .header_logo_box .logo_img
{
	width          : 180px;
}

#HEADER .header_logo_box .concept_text
{
	margin-left    : 30px;
	margin-top     : auto;
	margin-bottom  : 5px;

	color          : #fff;
	font-size      : 90%;
	line-height    : 1.0;
}


/*-------------------------------
　ハンバーガーメニューボタン
-------------------------------*/


#HEADER .hbg_btn
{
	display        : block!important;
	
	position       : relative;
	width          : 40px;
	height         : 30px;

	z-index        : 999;
	
	cursor         : pointer;
	user-select    : none;
}

#HEADER .hbg_btn span
{
	display        : inline-block;
	
	position       : absolute;
	left           : 0px;
	height         : 1px;
	
	background     : #fff;
	
	transition     : all .3s;
}

#HEADER .hbg_btn span:nth-of-type(1)
{
	top            : 0px; 
	width          : 40px;
}

#HEADER .hbg_btn span:nth-of-type(2)
{
	top            : 15px;
	width          : 40px;
}

#HEADER .hbg_btn span:nth-of-type(3)
{
	top            : 30px;
	width          : 40px;
}

/*
#HEADER .hbg_btn .txt::after
{
	display        : inline-block;
	
	content        : "MENU";
	
	position       : absolute;
	top            : 30px;
	left           : 50%;
	transform      : translate( -50%, 0 );
	
	font-size      : 10px;
	text-align     : center;
	
	transition     : all .3s;
}

#HEADER .hbg_btn.active .txt::after
{
	content        : "CLOSE";
}
*/

#HEADER .hbg_btn.active span:nth-of-type(1)
{
	top            : 9px;
	left           : 4px;
	transform      : translateY(6px) rotate(-45deg);
	width          : 80%;
}

#HEADER .hbg_btn.active span:nth-of-type(2)
{
	top            : 15px;
	left           : 20px;
	width          : 0%;
}

#HEADER .hbg_btn.active span:nth-of-type(3)
{
	top            : 21px;
	left           : 4px;
	transform      : translateY(-6px) rotate(45deg);
	width          : 80%;
}


/*-------------------------------*/


#HEADER input[type=checkbox]
{
	opacity        : 0;
	display        : none;
}

#HEADER input[type=checkbox]:checked ~ #overlay
{
	opacity        : 1.0;
	visibility     : visible;
	margin-top     : 0px;
}

#HEADER input[type=checkbox]:checked ~ #overlay .nav_box
{
	margin-top     : 0px;
	margin-right   : 0px;
}

#HEADER #overlay
{
	height         : 100vh;
	height         : 100dvh;
	width          : 100%;
	
	position       : fixed;
	top            : 0;
	left           : 0;
	
	background     : rgba(234, 234, 234, 0.95);
	
	z-index        : 10;
	
	opacity        : 0;
	visibility     : hidden;

	overflow       : hidden;
	
	transition     : all .3s;
}


#HEADER .header_nav .nav_box
{
	margin-right   : -200px;
	margin-left    : auto;
	padding        : 60px 80px;

	width          : 400px;
	height         : 100%;

	background     : #5e9492;
	box-shadow     : rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;

	transition     : all .3s;
}

#HEADER .header_nav .nav_box .nav_logo
{
	text-align     : center;
}

#HEADER .header_nav .nav_box .nav_logo img
{
	width          : 300px;
}

#HEADER .header_nav .nav_box .nav_list
{
	margin-top     : 50px;
}

#HEADER .header_nav .nav_box .nav_list li
{
	
}

#HEADER .header_nav .nav_box .nav_list li + li
{
	margin-top     : 25px;
}

#HEADER .header_nav .nav_box .nav_list li a
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #fff;
	font-size      : 130%;
	text-align     : left;
	line-height    : 1.0;
	text-decoration: none;
	
	transition     : all .15s;
}

#HEADER .header_nav .nav_box .nav_list li a:hover
{
	color          : #f8b469;
}

#HEADER .header_nav .nav_box .sm_list
{
	display        : flex;
	justify-content: center;
	align-items    : center;
	gap            : 25px;
	
	margin-top     : 60px;
	
}

#HEADER .header_nav .nav_box .sm_list li
{
	width          : 60px;
	height         : 60px;
}

#HEADER .header_nav .nav_box .sm_list li a
{
	display        : block;
	
	width          : 100%;
	height         : 100%;
	
	background     : #fff;
	border         : 5px solid #fff;
	border-radius  : 50%;
	
	transition     : all .15s;
	
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

#HEADER .header_nav .nav_box .sm_list li a img
{
	margin-top     : -5px;
	margin-left    : -5px;
	width          : calc(100% + 10px);
}

#HEADER .header_nav .nav_box .sm_list li a:hover
{
	border         : 5px solid #f8b469;
}


@media screen and (max-height: 800px)
{

	#HEADER .header_nav .nav_box
	{
		padding        : 40px 60px;

		width          : 380px;
	}

	#HEADER .header_nav .nav_box .nav_logo img
	{
		width          : 240px;
	}

	#HEADER .header_nav .nav_box .nav_list
	{
		margin-top     : 30px;
	}

	#HEADER .header_nav .nav_box .nav_list li
	{
		
	}

	#HEADER .header_nav .nav_box .nav_list li + li
	{
		margin-top     : 20px;
	}

	#HEADER .header_nav .nav_box .nav_list li a
	{
		font-size      : 110%;
	}

	#HEADER .header_nav .nav_box .sm_list
	{
		gap            : 20px;
		
		margin-top     : 40px;
	}

	#HEADER .header_nav .nav_box .sm_list li
	{
		width          : 60px;
		height         : 60px;
	}
}

@media screen and (max-height: 680px)
{

	#HEADER .header_nav .nav_box .nav_logo
	{
		display        : none;
	}
}





/*=========================================================================================================

　MAIN_VISUAL

=========================================================================================================*/


/*
#MAIN_VISUAL
{
	margin-top     : 65px;
	padding        : 0px 0 0;

	background     : url(/asset/img/moudouken_setouchi/mv_back.png) center center repeat #3ac2e5;
	background     : #3ac2e5;
}

#MAIN_VISUAL .mv
{
	margin         : 0 auto;

	width          : 100%;

	text-align     : center;

	position       : relative;
}

#MAIN_VISUAL .mv img
{
	width          : 100%;
	height         : auto;
}
*/




/*=========================================================================================================

　SUB_MENU

=========================================================================================================*/



#SUB_MENU
{
	display        : flex;
	align-items    : center;

	position       : sticky;
	top            : 90px;
	z-index        : 5;

	padding        : 0 40px;

	width          : 100%;
	min-width      : 1100px;
	height         : 60px;

	background-color : rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter:blur(2px);
	backdrop-filter:blur(3px);

	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

#SUB_MENU .nav_list
{
	display        : flex;
	align-items    : center;

	margin         : auto;

	width          : 100%;
}

#SUB_MENU .nav_list li
{

}

#SUB_MENU .nav_list li + li
{
	margin-left    : 40px;
}

#SUB_MENU .nav_list li a
{
	display        : flex;
	align-items    : center;

	color          : #5e9492;
	font-size      : 100%;
	/*font-weight    : bold;*/
	line-height    : 1.0;
	text-decoration: none;
}

#SUB_MENU .nav_list li a:hover
{
	color          : #f8b469;
}

#SUB_MENU .nav_list li a::before
{
	content        : "";

	display        : inline-block;

	margin-right   : 8px;

	/*
	width: 8px;
	height: 8px;
	border-top: 2px solid #44535a;
	border-right: 2px solid #44535a;
	transform: rotate(45deg);
	*/

	border-style   : solid;
	border-width   : 5px 0 5px 8px;
	border-color   : transparent transparent transparent #44535a;
}





/*=========================================================================================================

　TOP

=========================================================================================================*/



#TOP
{

}


/*-------------------------------*/


#TOP .mv_box
{
	/*
	display: flex;
	justify-content: center;
	align-items: center;
	*/
	
	/*
	max-height: calc( 100vh - 90px );
	overflow: hidden;
	*/
}

#TOP .mv_box .slide_box
{
	
}

#TOP .mv_box .slide_box img
{
	width:100%;
}

#TOP .slider
{
	line-height: 0;
}


/* * * * * * * * * */


#TOP .mv_box .mv_text_box
{
	position: absolute;
	top: 0;
	bottom:0;
	left:100px;
	margin: auto;
	
	width: 600px;
	
	line-height: 1.6;
	
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#TOP .mv_box .mv_text_box .main_text
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 300%;
	font-weight: bold;
	line-height    : 1.4;
	letter-spacing : -0.1em;
	
	position: relative;
	
		text-shadow    : 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 10px #fff;
}

#TOP .mv_box .mv_text_box .main_text span
{
	color: #f8b469;
}

#TOP .mv_box .mv_text_box .main_text::after
{
  content: '';
	
	display: block;
	
	position: absolute;
	left:0;
	bottom: -30px;
	
	width: 200px;
	height: 2px;
	
	background: #fff;
}

#TOP .mv_box .mv_text_box .sub_text
{
	margin-top: 60px;
	
	font-size: 110%;
	
		text-shadow    : 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 10px #fff;
}

#TOP .mv_box .mv_text_box .btn_box
{
	margin-top: 50px;
}

#TOP .mv_box .mv_text_box .btn_box a
{
	display: inline-block;
	
	padding: 10px 100px;
	color: #44535a;
	text-decoration: none;
	
	background: rgba(255,255,255,0.9);
	border: 1px solid #44535a;
	
	position: relative;
}

#TOP .mv_box .mv_text_box .btn_box a:before,
#TOP .mv_box .mv_text_box .btn_box a:after {
  position: absolute;
  top: 56%;
  right: 22px;
  height: 1px;
  background: #44535a;
  content: '';
}

#TOP .mv_box .mv_text_box .btn_box a:before {
  width: 30px;
  transform: translateY(-50%);
}

#TOP .mv_box .mv_text_box .btn_box a:after {
  width: 14px;
  transform: translateY(-50%) rotate(45deg);
  transform-origin: right center;
}

#TOP .mv_box .mv_text_box .btn_box a:hover
{
	
	background: rgba(255,255,180,0.9);
	/*opacity: 0.75;*/
}


/*-------------------------------*/


#TOP .aboutus_box
{
	padding        : 60px 0;

	background     : #fff;
}

#TOP .aboutus_box .flex
{
	display        : flex;
	justify-content: space-between;
	align-items    : center;
}

#TOP .aboutus_box .img_box
{
	width          : 330px;
}

#TOP .aboutus_box .img_box img
{
	width          : 100%;
}

#TOP .aboutus_box .text_box
{
	width          : 720px;

	text-align     : left;
}

#TOP .aboutus_box .text_box .btn_box
{
	margin-top     : 40px;
}

#TOP .aboutus_box .text_box .btn_box a
{
	padding        : 18px 0px;

	width          : 300px;

	font-size      : 100%;
}


/*-------------------------------*/


#TOP .island_box
{
	padding-top    : 120px;
}

#TOP .island_box .text_main
{
	margin-top     : 50px;

	text-align     : center;
}

.island_list
{
	display        : flex;
	flex-wrap      : wrap;
	gap            : 80px 100px;

	margin-top     : 100px;
}

.island_list li
{
	width          : 300px;
}

.island_list li a
{

}

.island_list li a:hover
{

}

.island_list li .i_image
{
	width          : 100%;
}

.island_list li .i_name
{
	margin-top     : 20px;

	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 150%;
	text-align     : center;
	line-height    : 1.0;
	letter-spacing : -0.1em;
}

.island_list li .i_name_r
{
	margin-top     : 10px;

	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #5e9492;
	font-size      : 100%;
	text-align     : center;
	line-height    : 1.0;
}


/*-------------------------------*/


/* news_box */

#TOP .news_box
{
	padding-top    : 120px;
}

#TOP .news_box
{

}


/*-------------------------------*/


#TOP .contents_box
{
	padding-top    : 120px;
}

#TOP .contents_box .title_h2,
#ISLAND .contents_box .title_h2
{
	margin         : -0.3em 0;

	line-height    : 1.6;
}

#TOP .contents_box .contents_list,
#ISLAND .contents_box .contents_list
{
	display        : flex;
	flex-wrap      : wrap;
	gap            : 60px 80px;

	margin-top     : 100px;
}

#TOP .contents_box .contents_list li,
#ISLAND .contents_box .contents_list li
{
	width          : 510px;
}

#TOP .contents_box .contents_list li a,
#ISLAND .contents_box .contents_list li a
{
	display        : block;

	height         : 100%;

	text-decoration: none;
}

#TOP .contents_box .contents_list li a:hover,
#ISLAND .contents_box .contents_list li a:hover
{
	background     : #efdec5;
}

#TOP .contents_box .contents_list li a:hover .c_image,
#ISLAND .contents_box .contents_list li a:hover .c_image
{
	opacity        : 0.85;
}

#TOP .contents_box .contents_list li .c_image,
#ISLAND .contents_box .contents_list li .c_image
{
	width          : 100%;
}

#TOP .contents_box .contents_list li .text_box,
#ISLAND .contents_box .contents_list li .text_box
{
	padding-top    : 25px;
	padding-bottom : 25px;
}

#TOP .contents_box .contents_list li .text_box .c_title,
#ISLAND .contents_box .contents_list li .text_box .c_title
{
	margin-left    : -3px;

	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 150%;
	text-align     : left;
	line-height    : 1.0;
	letter-spacing : -0.1em;
}

#TOP .contents_box .contents_list li .text_box .c_text,
#ISLAND .contents_box .contents_list li .text_box .c_text
{
	margin-top     : 15px;

	color          : #333333;
	text-align     : left;
}


/*-------------------------------*/


#TOP .ferry_hazardmap_box
{
	padding-top    : 120px;
}

#TOP .ferry_hazardmap_box .btn_list,
#ISLAND .ferry_hazardmap_box .btn_list
{
	display        : flex;
	justify-content: center;
	gap            : 80px;

	margin-top     : 100px;
}

#TOP .ferry_hazardmap_box .btn_list li a,
#ISLAND .ferry_hazardmap_box .btn_list li a
{
	padding        : 25px 0px;

	width          : 400px;

	font-size      : 110%;
}


/*-------------------------------*/







/*=========================================================================================================

　ABOUTUS

=========================================================================================================*/



#ABOUTUS .main_box
{
	padding-top    : 100px;
}

#ABOUTUS .main_box .text_main
{
	margin-top     : calc(80px - 1.0em);

	font-size      : 110%;
	text-align     : center;
	line-height    : 3.0;
}


/*-------------------------------*/


#ABOUTUS .member_area
{
	margin-top     : 180px;
}

#ABOUTUS .member_area * + .title_h2
{
	margin-top     : 180px;
}

#ABOUTUS .member_area .m_text
{
	margin-top     : 60px;

	text-align     : left;
}

#ABOUTUS .member_area .member_list
{
	display: flex;
	flex-wrap: wrap;
	gap:60px;

	margin-top     : 80px;
}

#ABOUTUS .member_area .member_list li
{
	display: flex;
	align-items: center;

	width: 520px;

	overflow:hidden;
	
	transition     : all .15s;
}

/*
#ABOUTUS .member_area .member_list li:hover
{
	background: #efdec5;
	
}
*/

#ABOUTUS .member_area .member_list li:hover
{
	background: #fff;
	border-radius: 15px;

	box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	
}
#ABOUTUS .member_area .member_list li:hover .m_photo
{
	border-radius: 0!important;
}


#ABOUTUS .member_area .member_list li .m_photo
{
	width: 200px;

	border-radius: 50%;
	overflow: hidden;
	
	transition     : all .15s;
}

#ABOUTUS .member_area .member_list li .name_box
{
	margin-left: 40px;

	width: 280px;
}

#ABOUTUS .member_area .member_list li .name_box .m_title
{
	color:#5e9492;
}

#ABOUTUS .member_area .member_list li .name_box .m_name
{
	color:#44535a;
	font-size: 160%;
	font-weight: bold;
}

#ABOUTUS .member_area .member_list li .name_box .m_name .san
{
	margin-left:5px;
	font-size: 70%;
}


/*-------------------------------*/


.popup__modal
{
	margin         : 50px auto;
	padding        : 50px;
	
	max-width      : 800px;
	
	background     : #5e9492;
	border-radius  : 10px;
	box-shadow     : rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
	position       : relative;
	
	box-sizing: border-box;
}

.popup__modal .popup_prof_box
{
	display: flex;
	align-items: center;

	/*width: 700px;*/
}

.popup__modal .popup_prof_box .m_photo
{
	width: 200px;

	border-radius: 50%;
	overflow: hidden;

	flex-shrink: 0;
}

.popup__modal .popup_prof_box .name_box
{
	margin-left: 40px;

	/*width: 460px;*/
}

.popup__modal .popup_prof_box .name_box .m_title
{
	color: #fff;
}

.popup__modal .popup_prof_box .name_box .m_name
{
	color: #fff;
	font-size: 160%;
	font-weight: bold;
}

.popup__modal .popup_prof_box .name_box .m_name .san
{
	margin-left:5px;
	font-size: 70%;
}

.popup__modal .popup_text_box
{
	margin-top: 40px;
	color: #fff;
}

.popup__modal .popup_text_box a
{
	color: #ff6;
}

.popup__modal .popup_text_box .btn_text
{
	display: block;

	margin: 0 auto;
	margin-top: 50px;
	padding: 20px 0;

	width: 400px;

	color: #5e9492;
	text-align: center;
	line-height: 1.0;
	text-decoration: none;
	background: #fff;
}

.popup__modal .popup_text_box .btn_text:hover
{
	background: #ffeaa3;
}


/*-------------------------------*/


#ABOUTUS .contact_box
{
	margin: 0 auto;
	margin-top: 180px;
	padding: 40px;

	width:1100px;

	background: #ebdecc;

	box-sizing: border-box;
}

#ABOUTUS .contact_box .contact_text
{
	text-align: center;
}


#ABOUTUS .contact_box .contact_mail
{
	display        : flex;
	justify-content: center;
	align-items    : center;

	margin-top: 20px;
}

#ABOUTUS .contact_box .contact_mail span
{
	display        : block;
	
	margin-right   : 20px;
	padding        : 10px 20px;
	
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #fff;
	font-size      : 120%;
	font-weight    : bold;
	text-align     : center;
	line-height    : 1.0;
	
	background     : #5e9492;
	border-radius  : 100px;
}

#ABOUTUS .contact_box .contact_mail a
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #000;
	font-size      : 140%;
	font-weight    : bold;
	line-height    : 1.0;
	text-decoration: none;
}


/*-------------------------------*/


#ABOUTUS .GLB_link_box_01
{
	margin-top     : 120px!important;
}





/*=========================================================================================================

　ISLAND

=========================================================================================================*/



#ISLAND .main_box
{
	padding-top    : 100px;
}

#ISLAND .main_box .text_main
{
	margin-top     : calc(80px - 1.0em);

	font-size      : 110%;
	text-align     : center;
	line-height    : 3.0;
}


/*-------------------------------*/


#ISLAND .island_box
{
	margin-top     : 100px;
}


/*-------------------------------*/


#ISLAND .spot_box
{
	
}

#ISLAND .spot_box .spot_list
{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:20px 60px;

	margin:0 auto;
	margin-top:80px;
}

#ISLAND .spot_box .spot_list[data-type="num4"]
{
	gap:40px 60px;
	width:700px;
}

#ISLAND .spot_box .spot_list[data-type="num6"]
{
	gap:40px 60px;
}

#ISLAND .spot_box .spot_list li
{
	width:320px;
}

#ISLAND .spot_box .spot_list li a
{
	
}

#ISLAND .spot_box .spot_list li a:hover
{
	
}

#ISLAND .spot_box .spot_list li .s_image
{
	width: 100%;
}

#ISLAND .spot_box .btn_box 
{
	margin-top     : 80px;
}


/*-------------------------------*/


#ISLAND .fm_box
{
	margin-top     : 120px;
}

#ISLAND .fm_box .inner
{
	display        : flex;
	justify-content: space-between;
	align-items    : center;

	padding        : 40px;

	background     : #fff;

	box-sizing     : border-box;
}

#ISLAND .fm_box .photo_box
{
	width          : 240px;
}

#ISLAND .fm_box .photo_box .f_image
{
	width          : 100%;
}

#ISLAND .fm_box .text_box
{
	width          : 740px;
}

#ISLAND .fm_box .text_box .f_text
{
	text-align     : left;
}

#ISLAND .fm_box .text_box .f_text strong
{
	display        : block;

	margin-bottom: 10px;

	color:#5e9492;
	font-size: 120%;
	font-weight: bold;
	text-align     : left;
}

#ISLAND .fm_box .text_box .btn_box 
{
	margin-top     : 60px;
}

#ISLAND .fm_box .text_box .btn_box a
{
	padding        : 20px 0;

	width          : 400px;

	font-size      : 110%;
}


/*-------------------------------*/


#ISLAND .tips_box
{
	margin-top     : 120px;
}

#ISLAND .tips_box .text_01
{
	margin-top     : 60px;
	margin-bottom  : 60px;

	text-align     : center;
}

/*
#ISLAND .tips_box .text_01 + .tips_item 
{
	margin-top     : 60px;
}
*/

#ISLAND .tips_box .tips_item[data-type="common"]
{
	display        : none;
}

#ISLAND[data-island="shodoshima"] .tips_box .tips_item[data-type="common"].trg_shodoshima,
#ISLAND[data-island="naoshima"] .tips_box .tips_item[data-type="common"].trg_naoshima,
#ISLAND[data-island="teshima"] .tips_box .tips_item[data-type="common"].trg_teshima,
#ISLAND[data-island="ogijima"] .tips_box .tips_item[data-type="common"].trg_ogijima,
#ISLAND[data-island="megijima"] .tips_box .tips_item[data-type="common"].trg_megijima,
#ISLAND[data-island="awashima"] .tips_box .tips_item[data-type="common"].trg_awashima,
#ISLAND[data-island="ibukijima"] .tips_box .tips_item[data-type="common"].trg_ibukijima
{
	display        : block!important;
}

#ISLAND .tips_box .btn_box 
{
	margin-top     : 80px;
}


/*-------------------------------*/


/* news_box */

#ISLAND .news_box
{
	margin-top     : 120px;
}

#ISLAND .news_box .text_01
{
	margin-top     : 60px;

	text-align     : center;
}

#ISLAND .news_box .news_list
{
	display        : flex;
	flex-wrap      : wrap;
	gap            : 60px 55px;

	margin-top     : 60px;
}

#ISLAND .news_box .news_list li
{
	width          : 330px;
}

#ISLAND .news_box .news_list li a
{
	display        : flex;
	flex-direction : column;

	height         : 100%;

	text-decoration: none;

	background     : #fff;
	box-shadow     : rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
	border-radius  : 10px;

	overflow       : hidden;

	transition     : all .15s;
}

#ISLAND .news_box .news_list li a:hover
{
	opacity        : 0.65;
}

#ISLAND .news_box .news_list li .n_image
{
	width          : 100%;
}

#ISLAND .news_box .news_list li .text_box
{
	display        : flex;
	flex-direction : column;

	padding        : 15px 15px;

	height         : 100%;
}

#ISLAND .news_box .news_list li .text_box .n_title
{
	margin-bottom  : 30px;
	
	color          : #5e9492;
	font-weight    : bold;
	line-height    : 1.5;
}

#ISLAND .news_box .news_list li .text_box .n_title2
{
	margin-top     : auto;

	color          : #aaa;
	font-size      : 80%;
	line-height    : 1.5;
}

#ISLAND .news_box .news_list li .text_box .n_date
{
	margin-top     : 10px;

	color          : #f8b469;
	font-size      : 80%;
	line-height    : 1.4;
}

#ISLAND .news_box .text_02
{
	margin-top     : 80px;

	text-align     : center;
}

#ISLAND .news_box .btn_box
{
	margin-top     : 60px;
}


/*-------------------------------*/


/*-------------------------------*/


#ISLAND .contents_box
{
	margin-top     : 120px;
}


/*-------------------------------*/


#ISLAND .ferry_hazardmap_box
{
	margin-top     : 120px;
}


/*-------------------------------*/


#ISLAND .map_box
{
	margin-top     : 180px;
}

#ISLAND .map_box iframe
{
	width          : 1100px;
	height         : 600px;

	border         : 5px solid #ebdecc;

	box-sizing     : border-box;
}

#ISLAND .map_box .btn_box
{
	margin-top     : 60px;
}


/*-------------------------------*/


#ISLAND[data-type="spot"] .main_box .title_h1
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #5e9492;
	font-size      : 320%;
	text-align     : center;
	line-height    : 1.0;
}

#ISLAND[data-type="spot"] .main_box .title_h2
{
	margin-top     : 70px;

	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 160%;
	text-align     : center;
	line-height    : 2.0;
}


#ISLAND[data-type="spot"] .detail_box
{
	margin-top     : 90px;
}

#ISLAND[data-type="spot"] .detail_box .slide_box
{
	padding:60px 0 100px;
	background: #fff;
}

#ISLAND[data-type="spot"] .detail_box .slide_box .slider
{
	margin: 0 auto;
	width: 800px;
}

.slide-arrow{
  position: absolute;
  top: 50%;
  margin-top: -15px;
}
.prev-arrow{
  left: -50px;
    width: 20px;
    height: 40px;
}
.next-arrow{
  right: -50px;
    width: 20px;
    height: 40px;
}


.slick-dotted.slick-slider
{
    margin-bottom: 0px!important;
}

.slick-dots
{
  bottom: 45px!important;
}
.slick-dots li
{
    width: 60px!important;
    height: 5px!important;
    margin: 0 10px!important;
	box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 10px;
}
.slick-dots li button
{
    width: 60px!important;
    height: 5px!important;
    padding: 0px!important;
}
.slick-dots li button:before
{
    width: 60px!important;
    height: 5px!important;

    content: ''!important;
	
    opacity: 1!important;
    background: #fff!important;
}
.slick-dots li.slick-active button:before
{
    opacity: 1!important;
    background: #f8b469!important;
}

#ISLAND[data-type="spot"] .detail_box .text_box
{
	margin-top     : 60px;
}

#ISLAND[data-type="spot"] .detail_box .address_box
{
	margin-top     : 60px;
	padding: 30px;

	background: #fff;
	border: 3px solid #44535a;
	border-radius: 10px;
}

#ISLAND[data-type="spot"] .detail_box .btn_box
{
	margin-top     : 120px;
}




/*=========================================================================================================

　TIPS

=========================================================================================================*/



#TIPS .main_box
{
	padding-top    : 100px;
}

#TIPS .main_box .text_main
{
	margin-top     : calc(80px - 1.0em);

	font-size      : 110%;
	text-align     : center;
	line-height    : 3.0;
}

#TIPS .main_box .btn_box
{
	margin-top     : 60px;
}


/*-------------------------------*/


#TIPS .tips_area
{
	margin-top     : 100px;
}

#TIPS .tips_area .tips_box
{
	/*margin-top: 60px;*/
	padding: 0 0 100px;
}

#TIPS .tips_area .tips_box .title_h2
{
	margin-bottom: 60px;
}

#TIPS .tips_area .tips_box:nth-of-type(odd)
{
	background: #f7eee0;
}

#TIPS .tips_area .tips_box:nth-of-type(odd)::before
{
	content:'';

	display: block;
	margin-bottom: 80px;
	height: 80px;

	background     : url(/asset/img/shimarebi/tips/back_wave_b.png) top center repeat-x;
}

#TIPS .tips_area .tips_box:nth-of-type(1)::before
{
	display: none;
}

#TIPS .tips_area .tips_box:nth-of-type(even)
{
	background: #bedcce;
}

#TIPS .tips_area .tips_box:nth-of-type(even)::before
{
	content:'';

	display: block;
	margin-bottom: 80px;
	height: 80px;

	background     : url(/asset/img/shimarebi/tips/back_wave_a.png) top center repeat-x;
}


/*-------------------------------*/


.tips_item
{
	
background:#fff;
box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
	border-radius: 20px;
	
	overflow: hidden;
}

.tips_item + .tips_item 
{
	margin-top     : 40px;
}


.tips_item summary
{
	padding        : 30px 35px;

	font-size      : 120%;
	/*font-weight    : bold;*/
	text-align     : left;
	line-height    : 1.8;

	position       : relative;

	cursor         : pointer;

	transition     : all .15s;

	display        : flex;
	justify-content: space-between;
	align-items    : center;
}

.tips_item summary::after
{
	content        : '';
	display        : inline-block;
	/*margin-inline:.3em;*/
	width          : 12px;
	height         : 22px;
	background     : url(/asset/img/shimarebi/common/arrow2.png) center/contain no-repeat;
	transform      : rotate(90deg);

	transition     : all .1s;
}

.tips_item summary span
{
	width          : 1000px;
}

/*
.tips_item[open] summary::after
{
	transform      : rotate(-90deg);
}
*/
.tips_item.is-opened summary::after
{
	transform      : rotate(-90deg);
}

.tips_item summary:hover
{
	background     : #ffeaa3;
	/*color     : #f1a86e;*/
}

.tips_item .answer
{
	padding        : 0px 0px;

	text-align     : left;
	line-height    : 2.0;
}

.tips_item .answer span
{
	display        : block;

	padding        : 30px 35px;
	
	/*border-top     : 3px dotted #5e9492;*/
	border-top     : 1px dotted #44535a;
}

summary { display: block; }
summary::-webkit-details-marker { display: none; }


/*-------------------------------*/





/*=========================================================================================================

　BROADCAST

=========================================================================================================*/



#BROADCAST .main_box
{
	padding-top    : 100px;
}

#BROADCAST .main_box .text_main
{
	margin-top     : calc(80px - 1.0em);

	font-size      : 110%;
	text-align     : center;
	line-height    : 3.0;
}

#BROADCAST .main_box .btn_box
{
	margin-top     : 60px;
}


/*-------------------------------*/


#ISLAND .main_box_full,
#BROADCAST .main_box_full
{
	display        : flex;
	flex-direction : column;
	justify-content: center;
	align-items    : center;

	height         : calc( 100vh - 90px );
	min-height     : 760px;

    position: relative;
    clip-path: inset(0);

	box-sizing     : border-box;

	overflow: hidden;
}

#ISLAND .main_box_full .inner,
#BROADCAST .main_box_full .inner
{
	width          : 1160px!important;
}

#ISLAND .main_box_full .bg_mv,
#BROADCAST .main_box_full .bg_mv
{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
	min-width : 1100px;
    height: 100%;
	object-fit: cover;
}

#ISLAND .main_box_full .inner,
#BROADCAST .main_box_full .inner
{
	position       : relative;
	z-index        : 1;
}

#ISLAND .main_box_full .title_h1,
#BROADCAST .main_box_full .title_h1
{
	color          : #f8b469;

	text-shadow    : 0 0 5px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff;
}

#BROADCAST .main_box_full .title_h1 .text_sub
{
	display        : block;

	margin-top     : 40px;

	color          : #44535a;
	font-size      : 40%;
}

#BROADCAST .title_h2
{
	margin-top     : -50px;

	color          : #44535a;
	font-size      : 200%;
}

#ISLAND .main_box_full .text_main,
#BROADCAST .main_box_full .text_main
{
	margin-top     : calc(80px - 30px - 1.0em);

	color          : #000;
	font-size      : 110%;
	text-align     : center;
	line-height    : 3.0;

	text-shadow    : 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 5px #fff,
					 0 0 10px #fff,
					 0 0 10px #fff,
					 0 0 10px #fff,
					 0 0 10px #fff,
					 0 0 10px #fff,
					 0 0 10px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff,
					 0 0 10px #fff;
}

#ISLAND .main_box_full .text_main .slide-in,
#BROADCAST .main_box_full .text_main .slide-in
{
	padding: 30px;
}

#BROADCAST .main_box_full .btn_box
{
	display: flex;
	justify-content: center;
	gap:60px;
	
	margin-top     : 30px;
}

#BROADCAST .main_box_full .btn_box a
{
	padding: 25px 0;

	width: 300px;

	font-size: 110%;
}


/*-------------------------------*/


#BROADCAST .contents_area
{
	margin-top     : 100px;
}

#BROADCAST .contents_area .contents_list
{

}

#BROADCAST .contents_area .contents_list li
{
	display: flex;
	justify-content: space-between;
}

#BROADCAST .contents_area .contents_list li + li
{
	margin-top: 120px;
}

#BROADCAST .contents_area .contents_list li .photo_box
{
	width: 420px;
}

#BROADCAST .contents_area .contents_list li .photo_box .c_image
{
	width: 100%;
}

#BROADCAST .contents_area .contents_list li .text_box
{
	width: 620px;

	text-align: left;
}

#BROADCAST .contents_area .contents_list li .text_box .c_name
{
	margin-left    : -5px;

	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #5e9492;
	font-size      : 220%;
	text-align     : left;
	line-height    : 1.0;
	letter-spacing : -0.1em;
}

#BROADCAST .contents_area .contents_list li .text_box .c_name .text_sub
{
	margin-left    : 10px;

	color          : #44535a;
	font-size      : 50%;
}

#BROADCAST .contents_area .contents_list li .text_box .c_text
{
	margin-top: 20px;
}

#BROADCAST .contents_area .contents_list li .text_box .btn_box
{
	margin-top: 40px;
}

#BROADCAST .contents_area .contents_list li .text_box .btn_box a
{
	margin-left:0;
	padding: 18px 0px;

	width:300px;

	font-size: 100%;
}


/*-------------------------------*/


#ISLAND .body_content,
#BROADCAST .body_content
{
	position       : relative;

	padding-top    : 120px;

	z-index        : 1;
}

#BROADCAST .movie_area
{
	padding-top: 100px;
}

#BROADCAST .movie_area[data-type="top"]
{
	margin-top: 0px;
	padding-top: 0px;
}

#BROADCAST .movie_area .mov_movie
{
	margin-top: 60px;

	width: 1100px;
	height: 620px;
}

#BROADCAST .movie_area .mov_movie iframe
{
	width: 100%;
	height: 100%;
}

#BROADCAST .movie_area .mov_title
{
	display        : flex;
	justify-content: space-between;
	align-items    : center;

	/*margin-top     : 50px;*/
	/*margin-left:-3px;*/
	padding        : 20px 20px;

	width          : 100%;

	font-size      : 100%;

	background     : #fff;
	border-left    : 5px solid #f8b469;
	box-sizing     : border-box;
}

#BROADCAST .movie_area .mov_title .title_text
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 150%;
	text-align     : left;
	line-height    : 1.4;
	letter-spacing : -0.1em;
}

#BROADCAST .movie_area .mov_title .category_text
{
	flex-shrink    : 0;

	margin-left    : 40px;

	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #f8b469;
	font-size      : 100%;
	text-align     : right;
	line-height    : 1.4;
	letter-spacing : -0.1em;
}

#BROADCAST .movie_area .mov_text
{
	margin-top     : 40px;
}

#BROADCAST .movie_area .person_box
{
	margin-top     : 60px;
	padding        : 30px;

	border         : 5px solid #bedcce;
}

#BROADCAST .movie_area .person_box .member_list
{
	display: flex;
	flex-wrap: wrap;
	gap:10px 10px;
}

#BROADCAST .movie_area .person_box .member_list li
{
	display: flex;
	align-items: center;

	width: 470px;

	overflow:hidden;
	
	transition     : all .15s;
	padding: 20px;
}

#BROADCAST .movie_area .person_box .member_list li:hover
{
	background: #efdec5;
	
}


#BROADCAST .movie_area .person_box .member_list li .m_photo
{
	width: 160px;

	border-radius: 50%;
	overflow: hidden;
	
	transition     : all .15s;
}

#BROADCAST .movie_area .person_box .member_list li .name_box
{
	margin-left: 20px;

	width: 280px;
}

#BROADCAST .movie_area .person_box .member_list li .name_box .m_title
{
	color:#5e9492;
	font-size: 90%;
}

#BROADCAST .movie_area .person_box .member_list li .name_box .m_name
{
	color:#44535a;
	font-size: 140%;
	font-weight: bold;
}

#BROADCAST .movie_area .person_box .member_list li .name_box .m_name .san
{
	margin-left:5px;
	font-size: 70%;
}

#BROADCAST .btn_text[data-type='broadcast']
{
	display: none;
}

#BROADCAST .movie_area .btn_box
{
	margin-top     : 120px;
}


/*-------------------------------*/


#BROADCAST .map_box
{
	margin-top     : 100px;
}

#BROADCAST .map_box iframe
{
	width          : 1100px;
	height         : 600px;

	border         : 5px solid #ebdecc;

	box-sizing     : border-box;
}

#BROADCAST .map_box .btn_box
{
	margin-top     : 60px;
}


/*-------------------------------*/


#BROADCAST .radio_list
{
	display        : flex;
	flex-wrap      : wrap;
	gap            : 60px 55px;

	margin-top     : 100px;
}

#BROADCAST .movie_area[data-type="top"] .radio_list
{
	margin-top     : 0px;
}

#BROADCAST .movie_area .btn_box + .radio_list
{
	margin-top     : 140px;
}

#BROADCAST .radio_list li
{
	width          : 330px;
}

#BROADCAST .radio_list li a
{
	display        : flex;
	flex-direction : column;

	height         : 100%;

	text-decoration: none;

	background     : #fff;
	box-shadow     : rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
	border-radius  : 10px;

	overflow       : hidden;

	transition     : all .15s;
}

#BROADCAST .radio_list li a:hover
{
	opacity        : 0.65;
}

#BROADCAST .radio_list li .r_image
{
	width          : 100%;
}

#BROADCAST .radio_list li .text_box
{
	display        : flex;
	flex-direction : column;

	padding        : 15px 15px;

	height         : 100%;
}

#BROADCAST .radio_list li .text_box .r_title
{
	margin-bottom  : 30px;
	
	color          : #5e9492;
	font-weight    : bold;
	line-height    : 1.5;
}

#BROADCAST .radio_list li .text_box .r_title2
{
	margin-top     : auto;

	color          : #aaa;
	font-size      : 80%;
	line-height    : 1.5;
}

#BROADCAST .radio_list li .text_box .r_date
{
	margin-top     : 10px;

	color          : #f8b469;
	font-size      : 80%;
	line-height    : 1.4;
}





/*=========================================================================================================

　FERRY

=========================================================================================================*/



#FERRY .main_box
{
	padding-top    : 100px;
}

#FERRY .map_box
{
	margin-top     : 100px;
}

#FERRY .map_box .ferry_map
{
	display        : block;

	margin         : 0 auto;

	width          : 1000px;

	border         : 15px solid #fff;
	box-shadow     : rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}


/*-------------------------------*/


#FERRY .route_area
{
	margin-top     : 100px;

	overflow: hidden;
}


#FERRY .route_area .text_01
{
	margin: 0 auto;
	width:1100px;

	font-size: 110%;
	text-align     : center;
}

#FERRY .route_area .text_01 span
{
	display: inline-block;
	position: relative;
	padding: 0 0 0 40px;
	text-align     : center;
	vertical-align: middle;
}

#FERRY .route_area .text_01 span::before,
#FERRY .route_area .text_01 span::after
{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	vertical-align: middle;
}

#FERRY .route_area .text_01 span::before{
	left: 8px;
	bottom :4px;
	height: 22px;
	width: 4px;
	background: #5e9492;
}
#FERRY .route_area .text_01 span::after{
	left: 0px;
	width: 16px;
	height: 16px;
	border-bottom: 4px solid #5e9492;
	border-right: 4px solid #5e9492;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#FERRY .route_area .route_box
{
	margin-top     : 100px;
}

#FERRY .route_area .text_01 + .route_box
{
	margin-top     : 80px;
}

#FERRY .route_area .route_box .title_h2_b
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	/*color          : #5e9492;*/
	color          : #44535a;
	font-size      : 240%;
	text-align     : center;
	line-height    : 1.0;

	display: flex;
	align-items: center;
}

#FERRY .route_area .route_box .title_h2_b span
{
	margin-left: 10px;
	margin-right: 20px;

	letter-spacing: -0.1em;

	flex-shrink: 0;
}

#FERRY .route_area .route_box .title_h2_b::before
{
	content        : '';
	
	display: block;

	width:34px;
	height:34px;

	background: #f8b469;
	border-radius: 50%;

	flex-shrink: 0;
}

#FERRY .route_area .route_box .title_h2_b::after
{
	content        : '';
	
	display: block;

  margin-right: calc(50% - 50vw);

	  width: 100vw;
	height:3px;

	background: #bedcce;

}

#FERRY .route_area .route_box .route_list
{
	margin-top     : 40px;
	padding-left   : 20px;

	display: flex;
	flex-wrap: wrap;
	gap: 10px 0px;
}

#FERRY .route_area .route_box .route_list li
{
	width: 360px;
}

#FERRY .route_area .route_box .route_list li[data-type="num1"]
{
	width: 1080px;
}

#FERRY .route_area .route_box .route_list li[data-type="num2"]
{
	width: 540px;
}

#FERRY .route_area .route_box .route_list li a
{
	display: inline-block;

	padding:20px 30px;

	color: #44535a;
	font-size: 115%;
	font-weight: bold;
	text-decoration: none;

	transition     : all .15s;
}

#FERRY .route_area .route_box .route_list li a .flex
{
	display: flex;
	align-items: center;
}

#FERRY .route_area .route_box .route_list li a .flex span.s1
{
	margin-left:3px;
	
	font-size: 80%;
	font-feature-settings: "palt";
}

#FERRY .route_area .route_box .route_list li a .flex span.s2
{
	margin:0 8px;
}

#FERRY .route_area .route_box .route_list li a .flex::before
{
	content        : '';
	
	display: block;

	margin-right: 20px;

	width:36px;
	height:40px;

	background     : url(/asset/img/shimarebi/ferry/icon_ferry.png) center center no-repeat;
	background-size: contain;

	flex-shrink: 0;
}

#FERRY .route_area .route_box .route_list li a:hover
{
	background: #efdec5;
}


	



/*=========================================================================================================

　HAZARDMAP

=========================================================================================================*/



#HAZARDMAP .main_box
{
	padding-top    : 100px;
}


/*-------------------------------*/


#HAZARDMAP .link_area
{
	margin-top     : 100px;
}

#HAZARDMAP .link_area .text_01
{
	text-align     : center;
}

#HAZARDMAP .link_area .btn_list
{
	display: flex;
	flex-wrap: wrap;
	gap: 60px 70px;

	margin: 0 auto;
	margin-top     : 100px;

	width: 1100px;
}

#HAZARDMAP .link_area .btn_list li
{
	width: 320px
}

#HAZARDMAP .link_area .btn_list li a
{
	width: 100% !important;
}





/*=========================================================================================================

　LINE

=========================================================================================================*/



#LINE
{

}

#LINE .content_area
{
	padding-bottom: 0;
}

#LINE .title_h2
{
	line-height    : 1.6;
}

#LINE .text_strong
{
	margin-top     : 60px;
	
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 180%;
	text-align     : center;
	line-height    : 1.8;
	letter-spacing : -0.1em;
}

#LINE .text_strong .marker
{
	/*
	display        : inline-block;
	padding        : 0 10px;
	*/
	display        : inline;
	
	background     : linear-gradient(transparent 60%, #ff6 60%);
}

#LINE .btn_line
{
	display: inline-block;
	
	padding: 15px 40px;
	
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #fff;
	font-size      : 130%;
	text-align     : center;
	line-height    : 1.6;
	text-decoration: none;
	letter-spacing : -0.1em;
	
  background: #06c755;
	border-radius: 10px;
}

#LINE .btn_line:hover
{
  opacity: 0.8;
}


/*-------------------------------*/


#LINE .main_box_full
{
	display        : flex;
	flex-direction : column;
	justify-content: center;
	align-items    : center;

	height         : calc( 100vh - 90px );
	min-height     : 760px;

    position: relative;
    clip-path: inset(0);

	box-sizing     : border-box;

	overflow: hidden;
}

#LINE .main_box_full .inner
{
	display: flex;
	align-items: center;
	justify-content: center;

	position: relative;
	z-index        : 1;

	width: 70%;
	min-width: 800px;
	max-width: 1100px;
	height: 100%;
}

#LINE .main_box_full .bg_mv
{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
	min-width : 1100px;
    height: 100%;
	object-fit: cover;
}

#LINE .main_box_full .title_h1
{
	color          : #44535a;
	line-height    : 1.4;

	z-index        : 2;

	text-shadow    : 0 0 5px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff;
}

#LINE .main_box_full .title_h1 .text_sub
{
	color          : #44535a;
	font-size      : 50%;

	z-index        : 2;

	text-shadow    : 0 0 5px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 20px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff,
					 0 0 30px #fff;
}


#LINE .main_box_full .mv_item
{
	position       : absolute;
	top            : 0;
	left           : 0;
	right          : 0;
	
	margin         : 0 auto;
	
	width          : 100%;
	height         : 100%;
}

#LINE .main_box_full .mv_item li
{
	position       : absolute;

	width          : 260px;

	opacity        : 0;

	animation      : popup 1.0s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

#LINE .main_box_full .mv_item li:nth-child(1) { width: 28%; top: 5%; left: -13%; }
#LINE .main_box_full .mv_item li:nth-child(2) { width: 25%; bottom: 7%; left: -4%; animation-delay: 0.1s; }
#LINE .main_box_full .mv_item li:nth-child(3) { width: 23%; top: 10%; right:  -5%; animation-delay: 0.2s; }
#LINE .main_box_full .mv_item li:nth-child(4) { width: 26%; bottom: 10%; right: -17%; animation-delay: 0.3s; }

#LINE .main_box_full .mv_item li:nth-child(1) img { animation-delay: 0.0s; }
#LINE .main_box_full .mv_item li:nth-child(2) img { animation-delay: 0.3s; }
#LINE .main_box_full .mv_item li:nth-child(3) img { animation-delay: 0.6s; }
#LINE .main_box_full .mv_item li:nth-child(4) img { animation-delay: 0.9s; }

#LINE .main_box_full .mv_item li img
{
	width          : 100%;

	border-radius  : 100%;

	animation      : yurayura 3s infinite ease-in-out;
}

@keyframes yurayura
{
	  0% { transform: translateY(0); }
	 50% { transform: translateY(15px); }
	100% { transform: translateY(0); }
}

@keyframes popup
{
	  0% { transform: translateY(100px) scale(0.0); opacity: 0; }
	100% { transform: translateY(0) scale(1.0); opacity: 1; }
}


/*-------------------------------*/


#LINE .top_belt
{
	position: sticky;
	bottom:0;
	z-index: 5;

	padding: 20px 0;
	
	text-align: center;
	
	background-color : rgba(255, 255, 255, 0.9);
	-webkit-backdrop-filter:blur(2px);
	backdrop-filter:blur(3px);
}

#LINE .top_belt .btn_line
{

}


/*-------------------------------*/


#LINE .special_box
{
  padding-top: 100px;
}

#LINE .special_box .special_list
{
  display: flex;
	justify-content: center;
	align-items: center;
	gap:60px;
	
	margin-top: 80px;
}

#LINE .special_box .special_list li
{
	display        : flex;
	flex-direction : column;
	justify-content: center;
	align-items    : center;
	
	padding        : 40px;
	
	width          : 300px;
	height         : 300px;
	
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #fff;
	font-size      : 200%;
	text-align     : center;
	line-height    : 1.4;
	letter-spacing : -0.1em;
	
	background     : #f8b469;
	border-radius  : 100%;
}

#LINE .special_box .special_list li .text_small
{
	margin-top     : 10px;
	
  font-size      : 60%;
}


/*-------------------------------*/


#LINE .update_box
{
	margin-top     : 140px;
}

#LINE .update_box .update_list
{
	display        : flex;
	flex-wrap      : wrap;
	gap            : 60px 55px;

	margin-top     : 100px;
}

#LINE .update_box .update_list li
{
	width          : 330px;
}

#LINE .update_box .update_list li a
{
	display        : flex;
	flex-direction : column;

	height         : 100%;

	text-decoration: none;

	background     : #fff;
	box-shadow     : rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
	border-radius  : 10px;

	overflow       : hidden;

	transition     : all .15s;
}

#LINE .update_box .update_list li a:hover
{
	opacity        : 0.65;
}

#LINE .update_box .update_list li .ud_image
{
	width          : 100%;
}

#LINE .update_box .update_list li .text_box
{
	display        : flex;
	flex-direction : column;

	padding        : 15px 15px;

	height         : 100%;
}

#LINE .update_box .update_list li .text_box .ud_title
{
	margin-bottom  : 30px;
	
	color          : #5e9492;
	font-weight    : bold;
	line-height    : 1.5;
}

#LINE .update_box .update_list li .text_box .ud_title2
{
	margin-top     : auto;

	color          : #aaa;
	font-size      : 80%;
	line-height    : 1.5;
}

#LINE .update_box .update_list li .text_box .ud_date
{
	margin-top     : 10px;

	color          : #f8b469;
	font-size      : 80%;
	line-height    : 1.4;
}

#LINE .update_box .btn_box
{
	margin-top     : 80px;
}


/*-------------------------------*/


#LINE .ex_bnr_area
{
	margin-top     : 140px;
	padding-bottom: 200px;
}

#LINE .ex_bnr_area .bnr_box
{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	
	margin: 0 auto;
	
	width: 1100px;
	
  background: #fff;
}

#LINE .ex_bnr_area .bnr_box .text_box
{
	padding: 40px;
	
  width: 640px;
	
	box-sizing: border-box;
}

#LINE .ex_bnr_area .bnr_box .text_box .bnr_text
{
	font-family    : "Senobi Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color          : #44535a;
	font-size      : 200%;
	text-align     : left;
	line-height    : 1.6;
	letter-spacing : -0.1em;
}

#LINE .ex_bnr_area .bnr_box .text_box .btn_box
{
  margin-top: 30px;
}

#LINE .ex_bnr_area .bnr_box .photo_box
{
  width: 460px;
}

#LINE .ex_bnr_area .bnr_box .photo_box img
{
  width: 100%;
}





/*=========================================================================================================

　FOOTER

=========================================================================================================*/



#FOOTER
{
	padding-top    : 80px;

	background     : #bedcce;
}


/*-------------------------------*/


#FOOTER .footer_logo
{
	text-align     : center;
}

#FOOTER .footer_logo img
{
	width          : 340px;
}


/*-------------------------------*/


#FOOTER .footer_nav
{
	display        : flex;
	justify-content: center;
	flex-wrap      : wrap;
	gap            : 30px 50px;

	margin-top     : 80px;
}

#FOOTER .footer_nav li
{
	
}

#FOOTER .footer_nav li a
{
	position       : relative;

	padding-bottom : 5px;

	color          : #44535a;
	font-size      : 110%;
	line-height    : 1.0;
	text-decoration: none;
}

#FOOTER .footer_nav li a::before
{
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	background: #5e9492;
	transform-origin: center top;
	transform: scale(0, 1);
	transition: transform .15s;
}

#FOOTER .footer_nav li a:hover::before
{
	transform-origin: center top;
	transform: scale(1, 1);
}


/*-------------------------------*/


#FOOTER .sm_list
{
	display        : flex;
	justify-content: center;
	align-items    : center;
	gap            : 30px;
	
	margin-top     : 80px;
	
}

#FOOTER .sm_list li
{
	width          : 80px;
	height         : 80px;
}

#FOOTER .sm_list li a
{
	display        : block;
	
	width          : 100%;
	height         : 100%;
	
	background     : #fff;
	border         : 5px solid #fff;
	border-radius  : 50%;
	
	transition     : all .15s;
	
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

#FOOTER .sm_list li a img
{
	margin-top     : -5px;
	margin-left    : -5px;
	width          : calc(100% + 10px);
}

#FOOTER .sm_list li a:hover
{
	border         : 5px solid #f8b469;
}


/*-------------------------------*/


#FOOTER .copyright
{
	margin-top     : 40px;
	padding        : 40px 0;

	color          : #fff;
	font-size      : 80%;
	text-align     : center;
	line-height    : 1.0;
}





/*=======================================================================================================*/


.float_item
{
	position: sticky;
	bottom:0;

	margin-top: 40px;
	margin-left: auto;
	margin-right:20px;

	width:240px;

	z-index: 4;

	display: none;
}

.float_item .item_01
{
	display: block;
}

.float_item img
{
	width:100%;
}


#LINE .float_item
{
	display: none!important;
	opacity: 0!important;
}


/*=======================================================================================================*/



.GLB_link_box_01
{
	margin: 0 auto;

	width: 1100px;

	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", arial, "Lucida Sans", "メイリオ", Meiryo, "Osaka", sans-serif;
}
	
.GLB_link_box_01 a
{
	display: flex;
	justify-content: space-between;
	align-items: center;

	position: relative;

	padding: 5px;

	text-decoration: none;

	background: #fff;
	border: 1px solid #ccc;
	border-radius: 14px;
	box-sizing: border-box;
}
	
.GLB_link_box_01 a::after
{
	content: "";

	position: absolute;
	right: 20px;
	top:0;
	bottom:0;
	margin:auto;

	width: 20px;
	height: 20px;

	border-top: 2px solid #ccc;
	border-right: 2px solid #ccc;

	transform: rotate(45deg);
}
	
.GLB_link_box_01 a:hover
{
	opacity: 0.5;
}
	
.GLB_link_box_01 .photo_box
{
	width: 300px;

	border-radius: 10px 0 0 10px;
	overflow: hidden;
}
	
.GLB_link_box_01 .photo_box img
{
	width: 100%;
}
	
.GLB_link_box_01 .text_box
{
	width: calc( 100% - 330px );

	text-align: left;
}
	
.GLB_link_box_01 .text_box .title
{
	color: #1a1a1a;
	font-size: 110%;
	font-weight: bold;
	line-height: 1.8;
}
	
.GLB_link_box_01 .text_box .subtext
{
	margin-top: 15px;

	color: #999;
	font-size: 90%;
}


/*-------------------------------*/


.GLB_link_box_01 a
{
	padding:0;
	border: 5px solid #fff;
	box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px;
}

.GLB_link_box_01 a,
.GLB_link_box_01 a img
{
	transition: all .15s;
}
	
.GLB_link_box_01 a:hover
{
	background: #ffeaa3;
	opacity: 1.0;
}
	
.GLB_link_box_01 a:hover img
{
	opacity: 0.5;
}

.GLB_link_box_01 .text_box .title
{
	color: #333;
	font-size: 100%;
}
	
.GLB_link_box_01 .text_box .subtext
{
	font-size: 80%;
}



/*==================================================================================================

  CSS Animation

==================================================================================================*/



.blur
{
	animation: blurAnime 1s ease-out forwards;
	/*
	animation-name: blurAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	*/
}

@keyframes blurAnime
{
	from
	{
		filter: blur(10px);
		transform: scale(1.02);
	}

	to
	{
		filter: blur(0);
		transform: scale(1);
	}
}

.textcoloranim
{
	animation: textcoloranim 1.5s linear forwards;
}

@keyframes textcoloranim
{
	  0% { color: #fcd900; }
	 50% { color: #568d50; }
	100% { color: #000000; }
}

.textcoloranim_w
{
	animation: textcoloranim_w 1.5s linear forwards;
}

@keyframes textcoloranim_w
{
	  0% { color: #fcd900; }
	 50% { color: #568d50; }
	100% { color: #ffffff; }
}


/*----------------------*/


.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}


/*----------------------*/





/*==================================================================================================

  JS Animation

==================================================================================================*/



.fadeUp
{
	animation-name: fadeUpAnime;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime
{
	from
	{
		opacity: 0;
		transform: translateY(100px);
	}

	to
	{
		opacity: 1;
		transform: translateY(0);
	}
}

.JS_fadeUpTrg
{
	opacity: 0;
}

.JS_fadeUpTrg[data-animedelay="200ms"], .JS_fadeUpTrg[data-animedelayPC="200ms"] { animation-delay: 0.2s; }
.JS_fadeUpTrg[data-animedelay="300ms"], .JS_fadeUpTrg[data-animedelayPC="300ms"] { animation-delay: 0.3s; }
.JS_fadeUpTrg[data-animedelay="400ms"], .JS_fadeUpTrg[data-animedelayPC="400ms"] { animation-delay: 0.4s; }
.JS_fadeUpTrg[data-animedelay="600ms"], .JS_fadeUpTrg[data-animedelayPC="600ms"] { animation-delay: 0.6s; }


/*----------------------*/


.btn_bgcentery
{
	display: block;
    position: relative;
	overflow: hidden;
	
    padding: 20px 0px;

    text-align: center;
	line-height:1.0;
	text-decoration: none;
	
   	border: 1px solid #000;

    transition: all .15s;
}

.btn_bgcentery:hover
{
	color:#fff;
}

.btn_bgcentery span
{
	position: relative;
	z-index: 3;
}

.btn_bgcentery::before
{
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;

	background: #000;
	width: 100%;
	height: 100%;

	transition: transform .2s cubic-bezier(0.8, 0, 0.2, 1) 0s;
	transform: scale(1, 0);
	transform-origin:center;
}

.btn_bgcentery:hover::before
{
	transform:scale(1, 1);
}


/*----------------------*/


.randomAnime
{
	visibility: hidden;
}

.randomAnime .animated
{
	-webkit-animation-duration: .5s!important;
	animation-duration: .5s!important;
}


/*----------------------*/


.slide-in
{
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner
{
	display: inline-block;
}

.leftAnime
{
    opacity: 0;
}

.slideAnimeLeftRight
{
	animation-name:slideTextX100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100
{
	from
	{
		transform: translateX(-100%);
		opacity: 0;
	}

	to
	{
		transform: translateX(0);
		opacity: 1;
	}
}

.slideAnimeRightLeft
{
	animation-name:slideTextX-100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}

.slide-in[data-animespeed="1500ms"].slideAnimeLeftRight,
.slide-in[data-animespeed="1500ms"] .slideAnimeRightLeft
{
	animation-duration:1.5s;
}

@keyframes slideTextX-100
{
	from
	{
		transform: translateX(100%);
		opacity: 0;
	}

	to
	{
		transform: translateX(0);
		opacity: 1;
	}
}


/*----------------------*/


.TextRandomAnime span
{
	opacity: 0;
}

.TextRandomAnime.appearRandomtext span
{ 
	animation:text_randomanime_on 1.5s ease-out forwards;
}

@keyframes text_randomanime_on
{
	0% {opacity:0;}
	100% {opacity:1;}
}

.TextRandomAnime.appearRandomtext span:nth-child(2n)
{
	animation-delay: .2s;
}

.TextRandomAnime.appearRandomtext span:nth-child(3n)
{
	animation-delay: .4s;
}

.TextRandomAnime.appearRandomtext span:nth-child(4n)
{
	animation-delay: .6s;
}


/*----------------------*/


.eachTextAnime span{opacity: 0;}#ENTRY .entry_box .entry_btn
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }

@keyframes text_anime_on
{
	0% {opacity:0;}
	100% {opacity:1;}
}


/*----------------------*/




/*=======================================================================================================*/




/*=======================================================================================================*/


.paddent { display: block; }

br.compact { display: block; content: ""; margin-top: 20px; }
br.compact2{ display: block; content: ""; margin-top: 15px; }