@charset "utf-8";

* {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
  height: 100%;
}

body {
	color: #111;
	background-color: #F6F6F6;
	font-family: "ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS Pgothic","Osaka",sans-serif,Helvetica, Helvetica Neue, Arial, Verdana;
	word-wrap: break-word;
	height: 100%;
}

body.fixed {
	overflow: hidden;
}

section,
article {
	display: block;
}

img {
    vertical-align: middle;
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

a:hover img {
    -webkit-filter: brightness(1.2);
    -moz-filter: brightness(1.2);
    -ms-filter: brightness(1.2);
    filter: brightness(1.2);
    font-size: medium;
}

li {
	list-style-type: none;
}

.li_ar {
	font-size: 18px;
	margin: 20px;
}

.li_ar li {
	position: relative;
	padding-left: 30px;
	padding-right: 10px;
	padding-bottom: 10px;
}
.li_ar li ::before {
	font-family: "Font Awesome 5 Free";
	content: "\f138";
	position: absolute;
	left: 10px;
	top: 0px;
	font-weight: 900;
	color: #009FE7;
}

a {
	color: #0099CC;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
a:hover {
	color: #000000;
	text-decoration: none;
}

.clfix::after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}


a.ap {
	padding-top: 60px;
	margin-top: -60px;
}

/*
テキスト装飾
----------------------------------*/

.txt_red {
    color: #E43F00!important;
}

.txt_blue {
	color: #069!important;
}

.txt_green {
	color: #063!important;
}

.txt_lgreen {
    color: #A2BE31!important;
}

.txt_pink {
	color: #F45B91!important;
}
.txt_ss {
	font-size: 8px;
}

.txt_s {
	font-size: 10px;
}

.txt_ms {
	font-size: 12px;
}

.txt_m {
	font-size: 16px;
}

.txt_l {
	font-size: 24px;
}

.txt_ll {
	font-size: 34px;
}

/*
続きを読む
----------------------------------*/
.cp_box1 {
  position: relative;
}
.cp_box1 input {
  display: none;
}
/*開くためのボタンとテキストを隠すグラデーションの設定*/
.cp_box1 label {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
  bottom: -10px;
  width: 100%;
  height: 140px; /* グラデーションの高さ */
  cursor: pointer;
  text-align: center;
  /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
  background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 90%);
}
/* 開いた時にグラデーションを消す */
.cp_box1 input:checked + label {
  background: inherit;
}
.cp_box1 input:checked + label {
  /* display: none ; 閉じるボタンを消す場合コメントアウトを外す */
}
.cp_box1 .cp_container {
  overflow: hidden;
  height: 250px; /* 開く前に見えている部分の高さ */
  transition: all 0.5s;
}
/*続きをよむボタン*/
.cp_box1 label:after,
.cp_box1 label::before {
  content: '';
  position: absolute;
  line-height: 2.5rem;
}
.cp_box1 label:after {
  z-index: 2;
  bottom: 20px;
  width: 13em;
  content: '続きをよむ';
  color: #ffffff;
  background: #1b2538;
  border-radius: 20px;
}
.cp_box1 label::before {
  position: absolute;
  bottom: 38px;
  left: calc(50% - 3.5em);
  z-index: 3;
  width: 10px;
  height: 5px;
  background: #ffffff;
  clip-path: polygon(50% 100%, 0 0, 100% 0)
}
/*閉じるボタン*/
.cp_box1 input:checked + label:after {
  content: '閉じる';
}
.cp_box1 input:checked + label:before {
  left: calc(50% - 2.5em);
  transform: scale(1, -1);
}
.cp_box1 input:checked ~ .cp_container {
  height: auto;
  padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
  transition: all 0.5s;
}

/*
ヘッダー
-------------------------------------------*/
header {
	width: 100%;
	background-color: #FFF;
	position: fixed;
	z-index: 300;
	height: 60px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
}

header h1 {
	display: block;
	position: absolute;
	font-size: 10px;
	font-weight: normal;
	color: #555;
	top: 13px;
	left: 5px;
}

header h1 span {
	position: absolute;
	top: -13px;
	display: block;
	white-space: nowrap;
}

header h1 img {
	max-width: 180px!important;
}
header img.logo_2 {
	position: absolute;
	width: 150px;
	top: 17px;
	left: 200px;
}

header .h_btn a {
	display: block;
	text-align: center;
	position: absolute;
	text-decoration: none;
	color: #FFF;
	background-color: #958952;
	top: 0px;
	right: 60px;
	width: 60px;
	height: 60px;
	padding-top: 7px;
}


header .h_btn.n_2 a {
	background-color: #FFF;
	color: #004BB1;
	right: 120px;
}

header .h_btn a span {
	font-size: 10px;
}
header .h_btn a:hover {
	color: #958952;
	background-color: #FFF;
}

header .h_btn a i {
	font-size: 24px;
	display: block;
}

header .h_btn.n_2 a:hover {
	color: #FFF;
	background-color: #004BB1;
}

.max_1200 {
	margin: auto;
	max-width: 1200px;
	position: relative;
	padding-left: 5px;
	padding-right: 5px;
}

/*
言語切り替え
-------------------------------------------*/

.lang_base {
	display: block;
	position: absolute;
	top: 0px;
	right: 120px;
	width: 60px;
	height: 60px;
	padding-top: 5px;
}

.select_lang {
    display: inline-flex;
    align-items: center;
    position: relative;
	font-size: 12px;
}

.select_lang::after {
    position: absolute;
	right: 7px;
	bottom: 5px;
    width: 10px;
    height: 7px;
    background-color: #535353;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.select_lang select {
    appearance: none;
    height: auto;
	padding: calc(.1em + 30px) calc(.1em + 20px) .3em .3em;
    border: 1px solid #cccccc;
    border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}

.select_lang::before {
	position: absolute;
	left: 12px;
	top: 7px;
	font-size: 18px;
	font-family: "Font Awesome 5 Free";
	content: "\f0ac";
	font-weight: 900;
	color: #888;
}

/*
運航情報
-------------------------------------------*/
.head_info {
	padding-top: 70px;
	padding-bottom: 0px;
}

#g_navi .head_info {
	padding-top: 10px;
}


.info_in {
	background-color: #004BB1;
	color: #FFF;
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
}
.hanami .info_in {
	background-color: #F46094;
}

.info_01 {
	font-size: 18px;
	line-height: 40px;
	letter-spacing: 1px;
	width: 100px;
	padding-right: 5px;
	float: left;
	text-align: center;
}

.info_02 {
	font-size: 28px;
	line-height: 40px;
	width: 50px;
	text-align: center;
	background-color: #FFF;
	color: #004BB1;
	float: left;
	border-radius: 5px;
	font-weight: bold;
}
.hanami .info_02 {
    color: #F46094;
}
.info_02.cl_2 {
	color: #E00;
}

.info_03 {
	font-size: 16px;
	width: 260px;
	float: left;
	line-height: 1.2;
	padding-left: 10px;
}

.info_03 span {
	font-size: 10px;
}

.info_04 {
	display: table-cell;
	vertical-align: middle;
	font-size: 14px;
	padding-left: 10px;
	padding-right: 10px;
	line-height: 20px;
}
.info_04 strong {
	color: #F60;
}
.hanami .info_04 strong {
	color: #FFF;
	font-weight: bold;
}
.info_btn a {
	display: block;
	width: 70px;
	font-size: 10px;
	color: #FFF;
	background-color: #777;
	position: absolute;
	right: 5px;
	bottom: 3px;
	text-decoration: none;
	text-align: center;
	border-radius: 5px;
	padding-top: 2px;
	padding-bottom: 2px;
}

.info_btn a:hover label {
	cursor: pointer;
}

.info_btn.n_2 a {
	top: -2px;
	bottom: auto;
	background-color: #2CA0E2;
	font-size: 12px;
	padding-top: 5px;
	padding-bottom: 5px;
}
.info_btn a i {
	padding-left: 5px;
}

.info_sns {
	color: #004BB1;
	font-size: 13px;
	line-height: 30px;
}

.info_sns i {
	font-size: 18px;
	margin-right: 5px;	
}

.info_sns i.fa-line {
	color: #00B900;
}
.info_sns i.fa-x-twitter {
	background-color: #000;
	display: inline-block;
	border-radius: 3px;
	color: #FFF;
}

/*
メニューボタン
-------------------------------------------*/

.btn-trigger {
  	height: 60px;
	width: 60px;
	text-align: center;
	position: fixed;
	z-index: 5000;
	top: 0px;
	right: 0px;
	cursor: pointer;
	background-color: #004BB1;
}
.tabina .btn-trigger {
	background-color: #0098DC;
}
.hanami .btn-trigger {
    background-color: #F46094;
}
.btn-trigger span {
  position: absolute;
  left: 10px;
  width: 40px;
  height: 3px;
  background-color: #fff;
}
.btn-trigger.opened {
  background-color: #fff;
}
.btn-trigger.opened span {
  background-color: #004BB1;
}
.hanami .btn-trigger.opened span {
  background-color: #F46094;
}
.tabina .btn-trigger.opened span {
  background-color: #0098DC;
}
.btn-trigger, .btn-trigger span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
  top: 15px;
}
.btn-trigger span:nth-of-type(2) {
  top: 28.5px;
}
.btn-trigger span:nth-of-type(3) {
  bottom: 15px;
}
/*=============================
#btn07
=============================*/
#btn07 span:nth-of-type(1) {
  -webkit-animation: btn07-bar01 .75s forwards;
  animation: btn07-bar01 .75s forwards;
}
@-webkit-keyframes btn07-bar01 {
  0% {
    -webkit-transform: translateY(14px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(14px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn07-bar01 {
  0% {
    transform: translateY(14px) rotate(45deg);
  }
  50% {
    transform: translateY(14px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
#btn07 span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
#btn07 span:nth-of-type(3) {
  -webkit-animation: btn07-bar03 .75s forwards;
  animation: btn07-bar03 .75s forwards;
}
@-webkit-keyframes btn07-bar03 {
  0% {
    -webkit-transform: translateY(-14px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-14px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes btn07-bar03 {
  0% {
    transform: translateY(-14px) rotate(-45deg);
  }
  50% {
    transform: translateY(-14px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
#btn07.active span:nth-of-type(1) {
  -webkit-animation: active-btn07-bar01 .75s forwards;
  animation: active-btn07-bar01 .75s forwards;
}
@-webkit-keyframes active-btn07-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(14px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(14px) rotate(45deg);
  }
}
@keyframes active-btn07-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(14px) rotate(0);
  }
  100% {
    transform: translateY(14px) rotate(45deg);
  }
}
#btn07.active span:nth-of-type(2) {
  opacity: 0;
}
#btn07.active span:nth-of-type(3) {
  -webkit-animation: active-btn07-bar03 .75s forwards;
  animation: active-btn07-bar03 .75s forwards;
}
@-webkit-keyframes active-btn07-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-14px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-14px) rotate(-45deg);
  }
}
@keyframes active-btn07-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-14px) rotate(0);
  }
  100% {
    transform: translateY(-14px) rotate(-45deg);
  }
}


/*
メニューシャドウ
-------------------------------------------*/
.bg_bl {
	background-color: #000;
	height: 100%;
	width: 100%;
	opacity: 0.35;
	filter: alpha(opacity=35);
	-ms-filter: "alpha( opacity=35 )";
	display: block;
	position: fixed;
	z-index: 2000;
}

/*
グローバルナビ・トップナビ
-------------------------------------------*/
.tabina .g_nav_in {
	max-width: 1200px;
	margin: auto;
	display: block;
}

.top_navi_base {
	max-width: 1200px;
	margin: auto;
	padding: 10px;
}
.top_navi_base.cl_bg {
	border-radius: 10px;
	margin-bottom: 20px;
	padding-top: 20px;
	padding-bottom: 5px;
}
.top_navi_base.cl_bg.blue {
	background-color: #004BB1;
}
.top_navi_base.cl_bg.pink {
    background-color: #F66697;
}
#g_navi {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding-top: 50px;
	padding-bottom: 30px;
	overflow: auto;
	z-index: 3000;
	background-color: #FFF;
	display: none;
}

#g_navi .cont_box.top_box {
	max-width: 1200px;
	margin: auto;
	margin-bottom: 20px;
}

#g_navi .logo {
	display: block;
	text-align: center;
	position: absolute;
	top: 10px;
	left: 0px;
	width: 100%;
}


ul.top_navi {
	margin-bottom: 20px;
}

ul.top_navi li {
	width: 16%;
	border: 1px solid #004BB1;
	background-color: #FFF;
	font-size: 14px;
}
.pink ul.top_navi li {
    border-color: #FF4B88;
}
ul.top_navi.clm_3 li {
	width: 32.8%;
}

ul.top_navi li span {
	background:linear-gradient(transparent 60%, #CCE3C8 60%);
}

ul.top_navi_2 li {
	width: 48.6%;
	border: 1px solid #FFF;
	background-color: #FFF;
	font-size: 16px;
	color: #333;
	font-weight: bold;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 0px 5px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.35) 0px 0px 5px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.35) 0px 0px 5px 0px;
	margin-bottom: 30px;
}
ul.top_navi_2.ww li {
	width: 100%;
}
ul.top_navi_2.sw li {
	width: 32%;
}

ul.top_navi li a,
ul.top_navi_2 li a {
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	text-decoration: none;
	color: #1F5892;
	padding-top: 30px;
	padding-right: 10px;
	padding-bottom: 30px;
	padding-left: 10px;
}

ul.top_navi li a:hover {
	color: #FFF;
	background-color: #1F5892;
}

.pink ul.top_navi li a:hover {
    background-color: #FF4B88;
}

ul.top_navi li a:hover i {
	color: #FFF;
}

ul.top_navi li:hover span {
	background:linear-gradient(transparent 60%, transparent 60%);
}

ul.top_navi_2 li a {
	color: #333;
	position: relative;
}

ul.top_navi li a i,
ul.top_navi_2 li a i {
	display: block;
	font-size: 38px;
	padding-bottom: 5px;
	color: #333;
}
ul.top_navi_2 li a i {
	color: #3171BA;
}

ul.top_navi_2 li a::after {
	font-family: "Font Awesome 5 Free";
	content: "\f13a";
	position: absolute;
	right : 15px;
	bottom: 20%;
	line-height: 20px;
	font-weight: 900;
	font-size: 22px;
	color: #3171BA;
}

ul.top_navi_2 li a:hover {
	color: #FFF;
	background-color: #3171BA;
}

ul.top_navi_2 li a:hover i {
	color: #FFF;
}

ul.top_navi_2 li a:hover::after {
	color: #FFF;
}

.btn_close_3 {
	color: #FFFFFF;
	background-color: #004BB1;
	font-weight: bold;
	text-align: center;
	cursor : pointer;
	display: block;
	width: 100%;
	text-decoration: none;
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 18px;
	letter-spacing: 1px;
	clear: both;
}
.btn_close_3 i {
	font-size: 24px;
	padding-right: 5px;
}
.tabina .btn_close_3 {
    background-color: #0098DC;
}
/*
パンくず
-------------------------------------------*/
.p_guide {
	border: 1px solid #FF850B;
	font-size: 14px;
	border-radius: 5px;
	padding: 5px;
	margin: 0px!important;
	background-color: #FFF;
}
.p_guide a {
	color: #FF850B;
}

.pankuzu {
	background-color: #F6F6F6;
	font-size: 14px;
	line-height: 30px;
	color: #555;
	width: 100%;
	padding: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E5E5E5;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #FFF;
	overflow-x: scroll;
}
.pankuzu.sld {
	padding-top: 60px!important;
	padding-bottom: 0px;
}
.hanami .pankuzu {
	padding-top: 0px;
	padding-left: 15px;
	padding-bottom: 5px;
	border-top: none;
}
.hanami .pankuzu a {
	color: #555;
}
.pankuzu ul {
	width: auto;
	margin-right: auto;
	margin-left: auto;
	white-space: nowrap;
	max-width: 1200px;
}

.pankuzu li {
	display: inline-block;
}

.pankuzu li a {
	text-decoration: none;
}

.pankuzu li a::after {
	content: ">";
	padding-left: 10px;
	padding-right: 10px;
	color: #555;
}

.pankuzu li i {
	padding-right: 5px;
}

/*
サブトップ
-------------------------------------------*/

.sub_top {
	position: relative;
}

.sub_top::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.15);
	position: absolute;
}

.sub_top img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}


.sub_top h2 {
	position: absolute;
	text-align: center;
	top: 55%;
	font-size: 28px;
	line-height: 30px;
	color: #FFF;
	width: 100%;
}

/*
メインコンテンツ
-------------------------------------------*/

.hp_base {
	width: 100%;
	max-width: 1300px;
	margin: auto;
	padding: 20px;
}

.main_cont p {
	line-height: 1.8;
	margin-top: 20px;
	margin-right: 20px;
	margin-bottom: 30px;
	margin-left: 20px;
}

.cont_wrap {
	max-width: 1200px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}

.cont_box {
	background-color: #FFF;
	position: relative;
	width: 100%;
	border-radius: 10px;
	border: 1px solid #CCC;
	padding: 30px;
	margin-bottom: 30px;
}

.cont_box.yl {
    background-color: #FDF6D7;
}

.cont_box.gr {
	background-color: #E3E7E7;
	border-top-color: #FFF;
	border-right-color: #FFF;
	border-bottom-color: #FFF;
	border-left-color: #FFF;
}

.cont_box.cl_green {
    border-color: #12905F;
}
.cont_box.cl_pink {
	border-color: #FF7CB1;
}
.cont_box.cl_blue {
	border-color: #77A9F8;
	background-color: #E5EAF3;
}
.cont_box.cl_blue_2 {
	border-color: #77A9F8;
}

.cont_box h2 {
	font-size: 24px;
	margin-top: 20px;
	margin-bottom: 20px;
	color: #111;
	text-align: center;
	padding: 10px;
}
.cont_box h2.btm_0 {
	padding-bottom: 0px;
	margin-bottom: 0px;
}
p.p_l {
	font-size: 18px;
}

.box_flex {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin: auto;
	position: relative
}

.box_flex .cont_half {
	width: 48%;
	padding: 10px;
}

.box_flex .cont_half img {
	border-radius: 10px;
}
.box_flex .cont_half h3 {
	font-size: 18px;
}

.box_flex .cont_half p {
	font-size: 14px;
	font-weight: bold;
	margin: 15px;
}

.box_flex .cont_half_2 {
	width: 50%;
}
.box_flex .cont_half_2 img {
	max-width: 100%;
}

.box_flex.bn_box a {
	width: 49%;
	text-align: center;
	margin-bottom: 25px;
}

.box_flex.bn_box a img {
	max-width: 100%;
}

.price {
	color: #F33;
	font-size: 16px;
}

.price strong {
	font-size: 130%;
}

/*
画像配置
-------------------------------------------*/

.img_center,
.img_center img {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	text-align: center;
}
.img_center p {
	margin-top: 0px;
}

.img_center.w90 img {
	min-width: 90%;
}

.img_center.half {
	max-width: 50%;
}

.img_center.shadow {
	padding: 10px;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 0px 5px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.35) 0px 0px 5px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.35) 0px 0px 5px 0px;
}


.img_left {
	float: left;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
	max-width: 44%;
}
.img_right {
	float: right;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
	max-width: 44%;
}
.img_2l {
	padding-left: 20px;
	padding-right: 20px;
	text-align: center;
}
.img_2l img {
	width: 49%;
}
dd .img_2l {
	padding-left: 0px;
	padding-right: 0px;
}
.img_2l div {
	width: 49%;
}
.img_2l div img {
	width: 100%;
}
.img_2l div p {
	margin: 0;
}
.cont_half_2 .img_2l {
	padding-top: 10px;
	padding-left: 0px;
	padding-right: 0px;
}

.dummy_img {
	text-align: center;
}
.dummy_img img {
	max-width: 100%;
}


/*
タイトル装飾
------------------------*/

.main_cont h3 {
	margin-top: 30px;
	margin-bottom: 20px;
	font-size: 22px;
	line-height: 1.4;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 15px;
	position: relative;
	font-weight: normal;
}
.main_cont h3.n_01 {
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 10px;
}

.main_cont h3.n_01::before {
	position: absolute;
	content: "";
	display: block;
	width: 3px;
	height: 20px;
	background-color: #27ACD9;
	left: 0px;
	top: 7px;
}

.main_cont h3.h3_or {
    color: #FF9E00;
    font-weight: bold;
	margin-bottom: -13px;
	padding-bottom: 0;
}
.main_cont h3.h3_gr {
	color: #46957F;
	font-weight: bold;
	margin-bottom: -13px;
	padding-bottom: 0;
}
.main_cont h3.h3_l {
	font-size: 34px;
	line-height: 1;
	padding: 0;
	margin: 0;
	display: inline;
	background: linear-gradient(transparent 50%, #B8CFE5 50%, #B8CFE5 90%, transparent 90%);
}
.main_cont .cl_pink h3.h3_l {
	background: linear-gradient(transparent 50%, #FFDDEE 50%, #FFDDEE 90%, transparent 90%);
}
.main_cont h3.n_02 {
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #27ACD9;
}
.main_cont .cl_green h3.n_02 {
    border-color: #12905F;
}
.main_cont .cl_pink h3.n_02 {
	border-color: #FF7CB1;
}

.main_cont h3.n_02 strong {
	font-weight: normal;
	color: #27ACD9;
}

.main_cont .cl_green h3.n_02 strong {
	color: #12905F;
}
.main_cont .cl_pink h3.n_02 strong {
	color: #FF7CB1;
}


.main_cont h3.n_03 {
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #27ACD9;
}

.main_cont h3.n_03:first-letter {
	color: #27ACD9;
}

.main_cont h3.n_04 {
	border-bottom-width: 4px;
	border-bottom-style: double;
	border-bottom-color: #27ACD9;
}

.main_cont h3.n_05 {
	border-bottom-width: 2px;
	border-bottom-style: dashed;
	border-bottom-color: #CCC;
}

.main_cont h3.n_06::before {
	position: absolute;
	content: "";
	display: block;
	width: 3px;
	height: 100%;
	background-color: #27ACD9;
	left: 0;
	top: 0;
}

.main_cont h3.n_07 {
	background-image: linear-gradient(#27ACD9 50%, #CCC 50%);
	background-repeat: no-repeat;
	background-size: 3px 100%;
}

.main_cont h3.n_08 {
	background-color: #EEE;
	border-left-width: 3px;
	border-left-style: solid;
	border-left-color: #27ACD9;
	line-height: 1;
}

.main_cont h3.n_09 {
	background-color: #EEE;
	border-left-width: 3px;
	border-left-style: solid;
	border-left-color: #27ACD9;
	line-height: 1.6;
}

.main_cont h3.n_10 {
	position: relative;
	display: table-cell;
	padding-top: 30px;
	padding-right: 45px;
	padding-bottom: 30px;
	padding-left: 45px;
}

.main_cont h3.n_10::before,
.main_cont h3.n_10::after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 44px;
	height: 2px;
	background-color: #27acd9;
}
.main_cont h3.n_10::before {
	left:0;
	transform: rotate(60deg);
}
.main_cont h3.n_10::after {
	right: 0;
	transform: rotate(-60deg);
}

.main_cont h3.n_11 {
	color: #27ACD9;
	font-weight: bold;
}

.main_cont h3.n_12 {
	background-color: #EEE;
	line-height: 1;
}

.main_cont h3.n_13 {
	background-color: #EEE;
	border-left-width: 3px;
	line-height: 1.6;
}

.main_cont h3.h3_center {
	font-size: 34px;
	text-align: center;
	font-weight: bold;
	line-height: 1.8;
	color: #333;
	margin-top: 1em;
}
.main_cont h3.h3_center strong {
	font-size: 120%;
}
.main_cont h4 {
	font-size: 18px;
	line-height: 1.4;
	font-weight: normal;
	padding-top: 2px;
	padding-right: 10px;
	padding-bottom: 2px;
	padding-left: 10px;
	margin-top: 20px;
	margin-bottom: 20px;
}
.main_cont h4.h4_b {
	font-weight: bold;
}

.main_cont h4.n_01 {
	border-left-width: 2px;
	border-left-style: solid;
	border-left-color: #09C;
}

.main_cont h4.n_02 {
	border-left-width: 2px;
	border-left-style: solid;
	border-left-color: #FF598B;
}

.main_cont h4 i {
	color: #FFF;
	background-color: #3171BA;
	line-height: 40px;
	width: 40px;
	text-align: center;
	display: inline-block;
	font-size: 22px;
	border-radius: 40px;
}


.main_cont h4.h4-fune {
  position: relative;
  background: #ffd98a;
  padding: 2px 5px 2px 25px;
  font-size: 20px;
  color: #474747;
  border-radius: 0 10px 10px 0;
}

.main_cont h4.h4-fune:before {
  font-family: "Font Awesome 5 Free";
  content: "\f21a";
  display: inline-block;
  position: absolute;
  padding: 0em;
  color: white;
  background: #ffa337;
  font-weight: 900;
  width: 40px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 3px white; 
  border-radius: 50%;
}

/*
トップ　ニュース・予約状況
-------------------------------------------*/
.cont_box.top_box {
	background-color: #CFE0EE;
	border: 2px solid #459DE0;
}
.cont_box.top_box.cl_2 {
	background-color: #FFF;
}
.cont_box.top_box.cl_3 {
	background-color: #FFF;
	border: 4px solid #325593;
}
.cont_box.top_box.cl_4 {
	background-color: #FFF;
	border-color: #EF9127;
}
.cont_box.top_box.cl_5 {
	background-color: #FFF;
	border-color: #A62DC3;
}
.cont_box.top_box.cl_6 {
	background-color: #FFF;
	border-color: #0B8954;
}
.cont_box.top_box.cl_7 {
    background-color: #FFF;
    border-color: #F66697;
}
.cont_box.top_box h2 {
	margin-top: 5px;
}
.cont_box.top_box h2 span {
	display: block;
	color: #4AA7F4;
	font-size: 70%;
}
.cont_box.top_box h2 span.h2_s {
	display: inline-block;
	color: #888;
	font-weight: normal;
}
.cont_box h2.h2_lb {
	text-align: left;
	position: relative;
	font-weight: bold;
	padding-left: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
}
.cont_box h2.h2_lb::before {
	position: absolute;
	content: "";
	display: block;
	width: 3px;
	height: 30px;
	background-color: #27ACD9;
	left: 5px;
	top: 10px;
}

.cont_box.top_box.cl_4 h2.h2_lb::before {
	background-color: #EF9127;
}
.cont_box.top_box.cl_5 h2.h2_lb::before {
	background-color: #A62DC3;
}
.cont_box.top_box.cl_6 h2.h2_lb::before {
	background-color: #0B8954;
}
.cont_box.top_box.cl_7 h2.h2_lb::before,
.cont_box.cl_pink h2.h2_lb::before{
    background-color: #E9618F;
}

.cont_box.top_box ul.top_news li {
	width: 49%;
}
.cont_box.top_box ul.top_news li a {
	background-color: #FFF;
	border: 1px solid #888;
	display:  block;
	padding:  20px;
	color: #555;
	text-decoration: none;
	position: relative;
	border-radius: 10px
}
.cont_box.top_box .date {
	color: #2B64C3;
	display: block;
	padding-bottom: 10px;
}
.cont_box.top_box .i_txt {
	color: #FFF;
	display: block;
	text-align: center;
	position: absolute;
	top: 12px;
	right: 15px;
	width: 120px;
	line-height: 30px;
	background-color: #EB7454;
	border-radius: 30px;
}
.cont_box.top_box .i_txt.cl_2 {
	background-color: #67BFD6;
}
.cont_box.top_box .i_txt.cl_3 {
	background-color: #5BC683;
}
.btn_r {
	text-align: right;
	margin-top: 20px;
	font-size: 13px;
	font-weight: bold;
}
.btn_r a {
    display: inline-block;
    text-decoration: none;
    border: 1px solid #555;
    background-color: #FFF;
    color: #333;
    padding-top: 10px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 10px;
    border-radius: 5px
}
.btn_r a i {
	color: #009FE8;
	padding-left: 10px;
	font-size: 14px;
}
.btn_r a:hover {
	color: #FFF;
    border: 1px solid #FFF;
    background-color: #009FE8;
}
.btn_r a:hover i {
	color: #FFF;
}
.top_yoyaku li {
    width: 32%;
    text-align: center;
    border: 4px solid #EAF1FD;
	line-height:2.2;
}
.top_yoyaku li.cl_2 {
	border-color: #E0ECD6;
}
.top_yoyaku li.cl_3 {
	border-color: #F2E6D7;
}

.top_yoyaku li .y_title {
	color: #FFF;
	font-weight: bold;
	background-color: #2B64C3;
}
.top_yoyaku li.cl_2 .y_title {
	background-color: #6CAD3E;
}
.top_yoyaku li.cl_3 .y_title {
	background-color: #F0953A;
}

.top_yoyaku li .y_date {
	font-weight: bold;
	font-size: 14px;
}

.top_yoyaku li .y_gr {
	font-size: 12px;
	background-color: #EAF1FD;
	letter-spacing: 5px;
}
.top_yoyaku li.cl_2 .y_gr {
	background-color: #E0ECD6;
}
.top_yoyaku li.cl_3 .y_gr {
	background-color: #F2E6D7;
}

.top_yoyaku li .y_st {
	font-weight: bold;
	font-size: 24px;
	color: #DD0000;
}
.top_yoyaku li .y_st i {
	font-size: 28px;
}
.top_yoyaku li .y_st.cl_2 {
    color: #FF7F00;
}

.y_yl {
    background-color: #FFF691;
    padding-top: 5px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 5px;
    border: 3px solid #FFEB00;
	margin-top: 20px;
}

.btn_center a {
    display: block;
    background-color: #264E99;
    color: #FFF;
    border: 1px solid #FFF;
	text-decoration: none;
	text-align: center;
	width: 320px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 16px;
	line-height: 30px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 20px;
	margin-bottom: 10px;
	border-radius: 5px;
}
.btn_center a:hover {
    display: block;
    background-color: #FFF;
    color: #264E99;
    border: 1px solid #264E99;
}

.btn_center a i {
	color: #009FE8;
	margin-left: 20px;
}


.grid_base {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: minmax(100px,auto);
  grid-gap: 20px;
}

.g_box {
    padding: 20px;
    border: 1px solid #555;
}

.g_box img {
	width: 100%;
}
.g_box.clm_1 {
  grid-column: 1 / 3;
}
.g_box.clm_1 img {
	width: 48%;
	float: left;
	padding-right: 20px;
}
.g_box .txt_base {
	position: relative;
	padding-top: 50px;
}

.g_box h3 {
	font-size: 34px;
}

.g_box .g_point {
	position: absolute;
	top: -30px;
	right: 0;
	font-size: 120px;
	color: #FFD380;
	z-index: -1;
}

.g_box .g_point span {
    font-size: 28px;
    display: inline-block;
    padding-top: 8px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 5px;
    background-color: #FA892E;
    color: #FFF;
    vertical-align: 44px;
    margin-right: 10px;
}
/*
-------------------------------------------*/


.scrl_waku {
	overflow-x: scroll;
	width: 100%;
}

.x_scrl {
	min-width: 760px;
}

/*
トップスライダー
-------------------------------------------*/

#top_slide {
	padding-top: 5px;
	background-color: #F6F6F6;
	padding-bottom: 10px;
}


.sp-slide {
	opacity: 0.35;
	filter: alpha(opacity=35);
	-ms-filter: "alpha( opacity=35 )";
	-webkit-filter: grayscale(55%);
	filter: grayscale(55%);
	max-height: 800px;
	overflow: hidden;
}
.sp-slide.sp-selected {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}

.sp-thumbnail-container img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	object-fit: cover;
}

.sp-thumbnail-container img {
	height: 100% !important;
}

.sp-thumbnail-container:hover img,
.sp-thumbnail-container.sp-selected-thumbnail img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	cursor: pointer;
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}


#top_slide .top_catch {
	z-index: 200;
	font-size: 16px;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	padding: 10px;
	letter-spacing: 0.1em;
	background-color: rgba(0, 0, 0, 0.5);
}


/*
モーダルウィンドウ
--------------------------------------*/
.modal_wrap input {
  display: none;
}

.modal_overlay {
  display: flex;
  justify-content: center;
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.5s, transform 0s 0.5s;
  transform: scale(0);
}

.modal_trigger {
  position: absolute;
  width: 100%;
  height: 100%;
}

.modal_content {
	align-self: center;
	width: 90%;
	max-width: 560px;
	padding: 30px;
	background: #fff;
	line-height: 1.4em;
	transition: 0.5s;
	border-radius: 10px;
}

.modal_content p {
	margin-bottom: 20px;
	font-size: 16px;
	margin-top: 20px;
}
.modal_content p strong {
	color: #E00;
}

.modal_content p.m_title {
	color: #004BB1;
	font-size: 18px;
	font-weight: bold;
}

.btn_close {
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: 34px;
	cursor: pointer;
	font-weight: bold;
}

.modal_wrap input:checked ~ .modal_overlay {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s;
}

.modal_wrap input:checked ~ .modal_overlay .modal_content {
  transform: translateY(20px);
}

.btn_close_2 {
	color: #FFFFFF;
	background-color: #004BB1;
	font-weight: bold;
	text-align: center;
	cursor : pointer;
	display: block;
	max-width: 160px;
	text-decoration: none;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 18px;
	border-radius: 50px;
	letter-spacing: 1px;
}

/*
リスト関連
--------------------------------------------------*/

ul.check_list li {
	line-height: 2;
	position: relative;
	padding-bottom: 20px;
	padding-left: 30px;
}

ul.check_list li::before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
	position: absolute;
	left : 0;
	color: #FF3333;
	font-weight: 900;
	font-size: 18px;
}

.ul_news {
	margin-bottom: 20px;
}

.ul_news li {
	padding-top: 15px;
	padding-bottom: 15px;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #AAA;
	font-size: 16px;
	padding-right: 10px;
	padding-left: 10px;
}

.ul_news li i {
	color: #09C;
	font-size: 22px;
	padding-right: 10px;
}

.ul_news li .date {
	color: #057;
	padding-right: 20px;
}


ul.ul_list > li,
ul.ul_list_2 > li {
	margin: 10px;
	padding-left: 20px;
	position: relative;
	line-height: 1.8;
}

ul.ul_list > li::before {
	content: "・";
	position: absolute;
	top: 1px;
	left: 0;
}
ul.ul_list.red {
	padding-bottom: 20px;
}
ul.ul_list.red:last-child {
	padding-bottom: 0px;
}

ul.ul_list.red > li {
	line-height: 1.5;
	font-weight: bold;
	font-size: 15px;
}
ul.ul_list.red > li::before {
	color: #DD0000;
	font-size: 34px;
	line-height: 23px;
	margin-left: -7px;
}
ul.ul_list_2 > li::before {
	content: "〇";
	position: absolute;
	top: 1px;
	left: 0;
}

ol.ol_list {
	padding: 10px;
	margin-bottom: 30px;
}

ol.ol_list > li {
	list-style: decimal;
	margin: 20px;
}

ol.ol_list_2 {
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 35px;
}

ol.ol_list_2 > li {
	list-style-type:none;
	counter-increment: cnt;
	text-indent:-2.5em;
	padding:0;
}

ol.ol_list_2 > li:before {
	display: marker;
	content: "( "counter(cnt) " ) ";
}

ol.ol_list_3 {
	padding: 10px;
}

ol.ol_list_3 > li {
	list-style: upper-latin;
	text-indent: 0rem;
}

li li,
li ol,
li ul {
	padding-right: 0px !important;
	margin-right: 0px !important;
}

/*
フッター
-------------------------------------------*/

footer {
    background-color: #F1F1F1;
    color: #333;
    clear: both;
    width: 100%;
    display: block;
    padding-top: 50px;
}

footer a,
.f_bottom ul li a {
	text-decoration: none;
	color: #333;
}

footer a:hover,
.f_bottom ul li a:hover {
	color: #888;
}

footer .f_sns {
	text-align: center;
	display: block;
}

footer .f_sns li {
	display: inline;
	font-size: 34px;
}

footer .f_sns li a {
	display: inline-block;
	padding: 10px;
}


.f_sns a .fa-facebook {
	color: #1877F2;
}
.f_sns a .fa-instagram {
	color: #FF705B;
}
.f_sns a .fa-line {
	color: #00B900;
}
.f_sns a .fa-twitter {
	color: #1DA1F2;
}
.f_sns a .fa-youtube {
	color: #FF0000;
}

footer .head_info {
	padding-top: 0px;
}

.f_box h2 {
	font-size: 18px;
	font-weight: bold;
	padding: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #555;
}
.f_box ul {
	padding: 10px;
}

.f_box ul li {
	width: 33.3%;
}

.f_box ul li a {
	display: block;
	padding: 10px;
	font-size: 15px;
	text-align: center;
	font-weight: bold;
}

.f_box ul li a img {
    border-radius: 50%;
    vertical-align: middle;
    margin-right: 10px;
    border: 1px solid #888;
}


.f_bottom {
	padding: 10px;
    background-color: #FFF;
    position: relative;
}

.f_bottom ul li {
	display: inline;
}
.f_bottom ul li a {
	display: inline-block;
	font-size: 14px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #555;
	margin-bottom: 15px;
	padding-top: 3px;
	padding-right: 10px;
	padding-bottom: 3px;
	padding-left: 5px;
}
.f_bottom ul li:last-child a {
	border-right: none;
}
.f_bottom ul li a i {
	margin-left: 5px;
	margin-right: 5px;
	color: #AAA;
}

img.fr_logo {
	float: right;
	max-width: 200px!important;
	padding-top: 30px;
}

.tabina img.fr_logo {
	padding-top: 0px;
}

.fl_list {
	float: left;
}

address {
	clear: both;
    text-align: right;
    font-size: 12px;
    font-style: normal;
    color: #888;
    display: block;
    padding: 20px;
}
address img {
	padding-bottom: 10px;
}


/*-----トップへ戻るボタン------*/


.to_top a {
	text-decoration: none;
	color: #FFF;
	text-align: center;
	display: block;
	font-size: 30px;
	background-color: #0098DC;
	height: 50px;
	width: 50px;
	line-height: 50px;
}
.to_top a:hover {
	background-color: #FFF;
	color: #0098DC;
}
.to_top.cl_pink a {
    background-color: #F46094;
}
.to_top.cl_pink a:hover {
    background-color: #FFF;
	color: #F46094;
}

.to_top {
	position: fixed;
	right: 0;
	z-index: 200;
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

.to_top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

.to_top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}



/*
エフェクト
-------------------------------------------*/
.effect {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	transform: translateY(20px);
	-webkit-transform: translateY(20px);  
    -moz-transform: translateY(20px); 
	-webkit-transition: 1.0s ease-out;
	-moz-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}

.effect.e_x {
	transform: translateX(30px);
	-webkit-transform: translateX(30px);  
    -moz-transform: translateX(30px);
}

.effect.e_x_l {
	transform: translateX(-30px);
	-webkit-transform: translateX(-30px);  
    -moz-transform: translateX(-30px);
}

.effect.d_01 {
transition-delay:0.1s !important;
-webkit-transition-delay:0.1s !important;
}
.effect.d_02 {
transition-delay:0.2s !important;
-webkit-transition-delay:0.2s !important;
}
.effect.d_03 {
transition-delay:0.3s !important;
-webkit-transition-delay:0.3s !important;
}
.effect.d_04 {
transition-delay:0.4s !important;
-webkit-transition-delay:0.4s !important;
}
.effect.d_05 {
transition-delay:0.5s !important;
-webkit-transition-delay:0.5s !important;
}
.effect.d_06 {
transition-delay:0.6s !important;
-webkit-transition-delay:0.6s !important;
}
.effect.d_08 {
transition-delay:0.8s !important;
-webkit-transition-delay:0.8s !important;
}
.effect.d_10 {
transition-delay:1.0s !important;
-webkit-transition-delay:1.0s !important;
}

.effect.start {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	transform: translateY(0px) !important;
	-webkit-transform: translateY(0px) !important;  
    -moz-transform: translateY(0px) !important;    
}
.effect.e_x.start,
.effect.e_x_l.start {
	transform: translateX(0px);
	-webkit-transform: translateX(0px);  
    -moz-transform: translateX(0px);    
}

/*
ボタン
-----------------------------*/

.btn_001 {
	max-width: 300px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
}
.btn_001 a,
a .btn_001 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  position: relative;
  background: #228bc8;
  border: 1px solid #228bc8;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 0 45px 0 25px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}

.cl_green .btn_001 a,
.cl_green a .btn_001 {
  background-color: #12905F;
  border: 1px solid #12905F;
}

.cl_pink .btn_001 a,
.cl_pink a .btn_001 {
  background-color: #FF7CB1;
  border: 1px solid #FF7CB1;
}

.btn_001 a::before,
a .btn_001::before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
.btn_001 a:hover,
a:hover .btn_001 {
  background: #fff;
  color: #228bc8;
}
.btn_001 a:hover::before,
a:hover .btn_001::before {
  border-top: 2px solid #228bc8;
  border-right: 2px solid #228bc8;
}

.cl_green .btn_001 a:hover,
.cl_green a:hover .btn_001 {
  background: #fff;
  color: #12905F;
}
.cl_green .btn_001 a:hover::before,
.cl_green a:hover .btn_001::before {
  border-top: 2px solid #12905F;
  border-right: 2px solid #12905F;
}

.cl_pink .btn_001 a:hover,
.cl_pink a:hover .btn_001 {
  background: #fff;
  color: #FF7CB1;
}
.cl_pink .btn_001 a:hover::before,
.cl_pink a:hover .btn_001::before {
  border-top: 2px solid #FF7CB1;
  border-right: 2px solid #FF7CB1;
}

.btn_001.cl_2 a,
a .btn_001.cl_2 {
  background: #EC9D46;
  border: 1px solid #EC9D46;
}

.btn_001.cl_2 a:hover,
a:hover .btn_001.cl_2 {
  color: #EC9D46;
  background-color: #FFF;
}
.btn_001.cl_2 a:hover::before,
a:hover .btn_001.cl_2::before {
  border-top: 2px solid #EC9D46;
  border-right: 2px solid #EC9D46;
}


.btn_002 a {
	font-size: 18px;
	color: #333;
	text-align: center;
	border: 2px solid #555;
	text-decoration: none;
	display: block;
	width: 90%;
	background-color: #FFF;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	line-height: 30px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
	max-width: 360px;
	clear: both;
}
.btn_002 a i {
	position: absolute;
	right: 15px;
	top: 15px;
}
.btn_002 a:hover {
	color: #FFF;
	text-align: center;
	background-color: #555;
	border-top-color: #FFF;
	border-right-color: #FFF;
	border-bottom-color: #FFF;
	border-left-color: #FFF;
}


.btn_set {
	max-width: 1100px;
	margin: auto;
}

.btn_set ul li {
	width: 49.2%;
	margin-bottom: 20px;
}

.btn_set ul li a {
	position: relative;
    display: block;
    color: #FFF;
    background-color: #3171BA;
    text-align: center;
    padding-top: 15px;
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 15px;
    font-size: 15px;
    border: 2px solid #EEEEEE;
	text-decoration: none;
}
.btn_set ul li a strong {
	font-weight: normal;
	font-size: 18px;
}
.btn_set ul li a span {
	font-size: 13px;
}
.btn_set ul li a:hover {
    color: #3171BA;
    background-color: #FFF;
	border-color: #3171BA;
}

.btn_set ul li.cl_2 a {
    background-color: #4397D6;
}

.btn_set ul li.cl_3 a {
    background-color: #65C583;
}

.btn_set ul li.cl_2 a:hover {
    color: #4397D6;
    background-color: #FFF;
	border-color: #4397D6;
}

.btn_set ul li.cl_3 a:hover {
    color: #65C583;
    background-color: #FFF;
	border-color: #65C583;
}

.btn_set ul li:first-child a {
    background-color: #A3C144;
}
.btn_set ul li:first-child a:hover {
    color: #A3C144;
	background-color: #FFF;
	border-color: #A3C144;
}

.btn_set ul li:last-child a {
    background-color: #938959;
}
.btn_set ul li:last-child a:hover {
    color: #938959;
	background-color: #FFF;
	border-color: #938959;
}

.btn_set ul li:last-child {
	width: 100%;
}

.btn_set ul li a::after {
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	position: absolute;
	right : 15px;
	top: 17px;
	font-weight: 900;
	color: #FFF;
}

.btn_set ul li:last-child a::after {
	display: none;
}

.btn_set ul li a i {
	margin-right: 10px;
	font-size: 18px;
}

.btn_top a {
	display: block;
	width: 100%;
	font-size: 16px;
	line-height: 36px;
	text-align: center;
	text-decoration: none;
	color: #333;
	padding: 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 0px 0px 5px 0px;
	background-color: #FFF;
	margin-bottom: 20px;
	font-weight: bold;
}

.btn_top a i {
	padding-left: 5px;
	font-size: 22px;
	color: #1F5892;
}

.btn_top a:hover {
	color: #FFF;
	background-color: #1F5892;
}
.btn_top a:hover i {
	color: #FFF;
}

/*
カードデザイン
-----------------------------*/
.card_base {
	width: 1350px;
}
.card_base.line_4 {
	width: 1800px;
}
.card_base.line_5 {
	width: 2250px;
}
.top_hanami .card_base.line_5,
.hanami_cont .card_base.line_5 {
	width: 1350px;
}
.card_base.line_5.small {
	width: 1350px;
}
.card_base.line_6 {
	width: 1600px;
}
.card_base .card_box {
    width: 32%;
    padding: 10px;
    background-color: #FFF;
    border: 1px solid #CCC;
    margin-bottom: 20px;
}
.card_base.line_4 .card_box {
    width: 23.8%;
}
.card_base.line_5 .card_box {
    width: 19%;
}
.card_base.line_6 .card_box {
    width: 15.3%;
}
.card_base .card_box img {
	width: 100%;
}

.card_base.line_6 .card_box img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.card_base .card_box .card_title {
	font-size: 16px;
	font-weight: bold;
	padding: 10px;
	line-height: 1.8;
}
.card_base .card_box .card_title span {
	font-size: 14px;
	font-weight: normal;
	color: #888;
	display: block;
}
.card_base .card_box .card_title img {
	width: auto;
	float: left;
	padding-right: 10px;
}

.card_box2 {
	background-color: #FFF;
	padding: 10px;
	border: 1px solid #09C;
	margin-top: 15px;
	margin-right: 30px;
	margin-bottom: 30px;
	margin-left: 30px;
}

.card_btn a {
    display: block;
    text-align: center;
    text-decoration: none;
    border: 1px solid #009FE8;
    position: relative;
    padding-top: 6px;
    padding-bottom: 6px;
    width: 92%;
    margin: auto;
	border-radius: 5px;
	color: #333;
	margin-bottom: 20px;
	line-height: 24px;
	font-size: 16px;
}
.card_btn a i {
	color: #009FE8;
	position: absolute;
	right: 20px;
	top: 10px;
}

.top_box.cl_4 .card_btn a {
	border-color: #EF9127;
}
.top_box.cl_4 .card_btn a i {
	color: #EF9127;
}
.top_box.cl_5 .card_btn a {
	border-color: #A62DC3;
}
.top_box.cl_5 .card_btn a i {
	color: #A62DC3;
}
.top_box.cl_6 .card_btn a {
	border-color: #0B8954;
}
.top_box.cl_6 .card_btn a i {
	color: #0B8954;
}
.top_box.cl_7 .card_btn a {
    border-color: #E9618F;
}
.top_box.cl_7 .card_btn a i {
	color: #E9618F;
}

.card_btn a:hover {
	border-color: #FFF!important;
	color: #FFF;
	background-color: #009FE8;
}
.card_btn a:hover i {
	color: #FFF!important;
}

.top_box.cl_4 .card_btn a:hover {
	background-color: #EF9127;
}
.top_box.cl_5 .card_btn a:hover {
	background-color: #A62DC3;
}
.top_box.cl_6 .card_btn a:hover {
	background-color: #0B8954;
}
.top_box.cl_7 .card_btn a:hover {
	background-color: #E9618F;
}


/*
ボックスリンク
---------------------------*/
.boxlink {
	position: relative;
}

.boxlink a {
	display: block;
	text-decoration: none;
	color: #555;
	padding: 20px;
	border-radius: 10px;
	border: 1px solid #CCC;
	margin-bottom: 20px;
	background-color: #FFF;
	position: relative;
}

.cl_green .boxlink a {
    border-color: #12905F;
}
.cl_pink .boxlink a {
    border-color: #FF7CB1;
    background-color: #FFF0F9;
}

.boxlink.lock::after {
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.55);
	z-index: 10;
	top: 0;
	left: 0;
	border-radius: 10px;
}

.boxlink.lock p.lock_txt {
	color: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
	letter-spacing: 0.1em;
}

.boxlink a:hover {
	border-color: #06C;
}

.cl_green .boxlink a:hover {
	border-color: #12905F;
}
.cl_pink .boxlink a:hover {
	border-color: #FF7CB1;
}

.boxlink a .box_title {
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #228bc8;
	padding-bottom: 5px;
	margin-bottom: 5px;
}

.cl_green .boxlink a .box_title {
	border-bottom-color: #12905F;
}
.cl_pink .boxlink a .box_title {
	border-bottom-color: #FF7CB1;
}

.boxlink a .sub_title {
	font-size: 18px;
}
.boxlink a .btn_001 {
	max-width: 280px;
	height: 40px;
	padding: 0 45px 0 25px;
	font-size: 15px;
	letter-spacing: 0em;
	margin-bottom: 10px;
}

.boxlink a p {
	margin: 0px;
	line-height: 1.6;
	font-size: 14px;
	padding-bottom: 10px;
}

.boxlink a p strong {
	color: #111;
	font-size: 120%;
}

.boxlink a p .price strong {
	color: #F33;
	font-size: 150%;
}

.boxlink a .img_box {
	width: 50%;
	float: left;
	padding-right: 25px;
}

.boxlink a .img_box img {
	width: 100%;
}

.boxlink a .txt_box {
	width: 50%;
	float: right;
	padding-top: 10px;
}

/*
TABINA移行コンテンツ
-------------------------------------------*/
body.tabina {
	background-color: #FFF;
}
.tabina .img_center {
	border-radius: 20px;
}

.tabina .pankuzu {
	padding-top: 70px;
}
.sub_top_tbn {
	padding-bottom: 30px;
}

.sub_top_tbn img {
  width: 100%;
  height: 700px;
  object-fit: cover;
  margin-bottom: 20px;
}

.sub_top_tbn h2 {
	padding: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #888;
	font-size: 28px;
	letter-spacing: 0.05em;
}

.sub_top_3 {
	padding-bottom: 30px;
}

.sub_top_3 img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  margin-bottom: 20px;
}

.sub_top_3 h2 {
	padding: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #888;
	font-size: 28px;
	letter-spacing: 0.05em;
}

.tabina .content {
	width: 100%;
	background-color: #FFF;
	padding-top: 50px;
	padding-bottom: 30px;
}
.content2 {
	width: 100%;
	background-color: #FFF;
	padding-top: 50px;
	padding-bottom: 50px;
}
.content2 p{
	font-size: 16px;
	line-height: 1.8;
	padding: 5px;
	margin-bottom: 30px;
	margin-top: 0px;
	margin-right: 0px;
	margin-left: 0px;
}

.content2 li{
	line-height: 1.8;
	font-size: 1em;
	padding: 0px;
    padding-left: 2em;
    text-indent: -1.6em;
	margin-right: 0px;
	margin-left: 0px;
}

.content2 h4{
	font-size: 20px;
	color: #0085B2;
	letter-spacing: 0.1em;
	padding: 5px;
	font-weight: bold;
	clear: both;
	margin-top: 20px;
	margin-right: 30px;
	margin-bottom: 0px;
	margin-left: 0px;
}


.content3 {
	width: 100%;
	background-color: #FFF;
	/*padding-top: 50px;*/
	padding-bottom: 50px;
}

.content3 p{
	font-size: 16px;
	line-height: 1.8;
	padding: 5px;
	margin-bottom: 30px;
	margin-top: 0px;
	margin-right: 0px;
	margin-left: 0px;
}

.content3 li{
	line-height: 1.8;
	font-size: 1em;
	padding: 0px;
    padding-left: 2em;
    text-indent: -1.6em;
	margin-right: 0px;
	margin-left: 0px;
}

.content3 h4{
	font-size: 20px;
	color: #0085B2;
	letter-spacing: 0.1em;
	padding: 5px;
	font-weight: bold;
	clear: both;
	margin-top: 20px;
	margin-right: 30px;
	margin-bottom: 0px;
	margin-left: 0px;
}

.content3.cont_t {
	padding-left: 20px;
	padding-right: 20px;
}

.content3.cont_t h3 {
	margin: 10px;
	position: relative;
	display: block;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 35px;
}

.content3.cont_t h3::before {
	content: "";
	display: block;
	width: 4px;
	height: 70%;
	background-color: #09C;
	position: absolute;
	top: 15%;
	left: 5px;
}

.content3.cont_t p {
	margin: 20px;
	line-height: 2;
}

.tabina .cont_wrap {
	max-width: 1200px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.cont_wrap2 {
	max-width: 1200px;
	width: 90%;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
.cont_wrap3 {
	max-width: 1200px;
	width: 90%;
	background-color: #FFF;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}

.tabina .content h2 {
	font-size: 28px;
	line-height: 30px;
	margin-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #DDD;
	font-weight: normal;
	letter-spacing: 1px;
	color: #111;
	text-align: center;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
	clear: both;
}

.tabina .content h2 .h2_small {
	font-size: 14px;
	color: #999;
}

.box24{
    position: relative;
    background: #e0ffff;
    box-shadow: 0px 0px 0px 5px #e0ffff;
    border: dashed 2px white;
    padding: 0.2em 0.5em;
    color: #454545;
}
.box24:after{
    position: absolute;
    content: '';
    right: -7px;
    top: -7px;
    border-width: 0 15px 15px 0;
    border-style: solid;
    border-color: #09C #fff #09C;
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}
.box24 p {
    margin: 0; 
    padding: 0;
}



/*
新着情報
-------------------------------------------*/
.tabina .content .ul_news li {
	line-height: 30px;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #AAA;
	font-size: 16px;
	padding-right: 10px;
	padding-left: 10px;
}

.tabina .content .ul_news li div {
	display: inline-block;
}

.tabina .content .ul_news li .date {
	color: #555;
	padding-right: 20px;
}
.tabina .content .ul_news li .event {
	color: #FFF;
	background-color: #096;
	margin-right: 10px;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	border-radius: 30px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
}

.tabina .content .ul_news li .event.cl_2 {
	background-color: #F33;
}


/*
TABINAトップメインイメージ
-------------------------------------------*/

#index_top {
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
}

#index_top .top_catch {
	position: absolute;
	bottom: 15%;
	z-index: 10;
	width: 100%;
	color: #FFF;
	background-color: rgba(0, 0, 0, 0.5);
	padding: 20px;
	line-height: 1.8;
}

#index_top .top_catch div {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}

#index_top .top_catch img {
	float: left;
	padding-right: 20px;
	width: 33%;
	max-width: 300px;
}

#index_top .top_catch h2 {
	font-size: 24px;
	letter-spacing: 1px;
	font-weight: normal;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #FFF;
	margin-bottom: 15px;
	padding-bottom: 10px;
}
#index_top .top_catch p {
	font-size: 14px;
}


/*　キャッチアニメーション設置　*/

.top_catch.num_01,
.top_catch.num_02,
.top_catch.num_03 {
	animation-name: album;
	-webkit-animation-name: album;
	animation-duration: 15s;
	-webkit-animation-duration: 15s;
	animation-iteration-count: infinite;
	-webkit-animation-iteration-count: infinite;
	opacity: 0;
}


.top_catch.num_02 {
	animation-delay:5s;
	-webkit-animation-delay:5s;
}


.top_catch.num_03 {
	animation-delay:10s;
	-webkit-animation-delay: 10s;
}

@keyframes album {
	0% {
		opacity: 0;
	}
	
	10% {
		opacity: 1;
	}

	34% {
		opacity: 1;
	}
	44% {
		opacity: 0;
	}
}

@-webkit-keyframes album {
	0% {
		opacity: 0;
	}
	
	10% {
		opacity: 1;
	}

	34% {
		opacity: 1;
	}
	44% {
		opacity: 0;
	}
}

/*---スクロールボタン--------*/

.sc_btm a {
	line-height: 50px;
	color: #333;
	background-color: #FFF;
	height: 100px;
	width: 100px;
	display: block;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	font-size: 12px;
	text-decoration: none;
	letter-spacing: 2px;
	background-image: url(../img/sc_btm.png);
	background-position: center center;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -50px;
	left: 50%;
	margin-left: -50px;
	z-index: 80;
	text-align: center;
}
.sc_btm a:hover {
	color: #000;
	height: 110px;
	width: 110px;
	border-radius: 55px;
	-webkit-border-radius: 55px;
	-moz-border-radius: 55px;
	margin-top: -10px;
	margin-left: -55px;
}
/*
TABINA フッター
---------------------------------------------*/

img.f_logo {
	width: 180px;
}
.tabina footer img.fr_logo {
	position: absolute;
	top: -10px;
	right: 10px;
}

.tabina .f_box h2 {
	background-color: #F1F1F1;
}
nav.f_navi {
	max-width: 1160px;
	margin: auto;
	display: block;
	padding: 20px
}
nav.f_navi ul li {
	width: 25%;
	padding: 10px;
}

header nav.f_navi ul li {
	width: 100%;
}

nav.f_navi ul li a {
	display: block;
	padding: 10px;
	border: 1px solid #CCC;
	text-decoration: none;
	color: #555;
}
nav.f_navi ul li a:hover {
    background-color: #FFF;
    border-color: #0098DC;
	color: #0098DC;
}
nav.f_navi ul li a img {
	margin-right: 10px;
}
nav.f_navi_2 {
	display: block;
	width: 100%;
	padding: 10px;
	margin-bottom: 20px;
	text-align: center;
}

nav.f_navi_2 li {
	display: inline-block;
	font-size: 14px;
	margin-right: 15px;
	padding-right: 15px;
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #CCC;
}

nav.f_navi_2 li:last-child {
	border-right: none;
}

nav.f_navi_2 li a {
	display: block;
	text-decoration: none;
	color: #555;
}

nav.f_navi li a:hover,
nav.f_navi_2 li a:hover {
	color: #0098DC;
}

.tabina address {
	font-size: 10px;
	font-style: normal;
	text-align: center;
	line-height: 20px;
	background-color: #0098DC;
	color: #FFF;
	clear: both;
	display: block;
	padding: 15px;
	width: 100%;
}

@media screen and (min-width:960px){
body {
	font-size: 16px;
}

.no_pc {
	display: none;
}
}
/*(/960～)*/

@media screen and (min-width:1200px){
	
header .menu_btn {
	right: 50%;
	margin-right: -600px;
}
	
header .h_btn a {
	right: 50%;
	margin-right: -540px;
}
	
.lang_base,
header .h_btn.n_2 a {
	right: 50%;
	margin-right: -480px;
}

header h1 {
	left:50%;
	margin-left: -600px;
}

header img.logo_2 {
	left:50%;
	margin-left: -400px;
}


}
/*(/1200～)*/


@media screen and (max-width:960px){

body {
	font-size: 16px;
}

img {
	max-width: 100% !important;
	height: auto;
	width /***/:auto;
	margin-left:auto;
	margin-right:auto;
}
.img_left,
.img_right {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	max-width: 100%;
}

.head_info {
	padding-right: 10px;
	padding-left: 10px;
}

.info_in {
	border-radius: 5px;
}

.info_01 {
	width: 85px;
}
.info_03 {
	width: 200px;
}

.sub_top_tbn img {
  height: 500px;
}

.sub_top_3 img {
  height: 200px;
}

/*フッター
---------------------------------*/

.f_box h2 {
	background-color: #FFF;
	padding-top: 25px;
	padding-bottom: 15px;
}

.f_box ul {
	padding: 0px;

}

.f_box ul li {
	width: 50%;
}

.f_box ul li:first-child {
	width: 100%;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
}
.f_box ul li:last-child {
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #CCC;
}

.f_box ul li a img {
	max-width: 50px !important;
}
.f_box ul li a {
	padding-left: 5px;
	padding-right: 5px;
	font-size: 12px;
}
	
.f_bottom ul li a {
	display: block;
	border-right: none;
	padding-left: 10px;
	margin-bottom: 5px;
	margin-top: 5px;
}

img.fr_logo {
	float: none;
	margin: auto;
	display: block;
	margin-bottom: 20px;
}

.fl_list {
	float: none;
}

address {
	text-align: center;
}

img.f_logo {
	display: block;
	margin: auto;
}

nav.f_navi ul li {
	width: 100%;
}

nav.f_navi_2 ul {
	display: block;
	max-width: 480px;
	margin: auto;
}

nav.f_navi_2 li {
	display: block;
	margin-right: 0px;
	padding-right: 0px;
	border-right: none;
	text-align: left;
	padding-top: 5px;
	padding-left: 20px;
}

.card_box2 {
	margin-left: 5px;
	margin-right: 5px;
}

.no_sp {
	display: none;
}

}
/*(/～960)*/

@media screen and (min-width:640px){

.info_btn.n_2 {
	display: none;
}

}
/*(/640～)*/

@media screen and (max-width : 760px ){
.g_box h3 {
	font-size: 28px !important;
}

.g_box .g_point {
	font-size: 80px;
	top: -10px;
}

.g_box .g_point span {
    font-size: 22px;
    vertical-align: 28px;
}

}
/*(/～780)*/

@media screen and (max-width:640px){

.tabina .content h2 {
	font-size: 22px !important;
}
.tabina .content h2 span.h2_small {
	font-size: 12px;
}
.sub_top_tbn img {
  height: 300px;
}
.sub_top_tbn h2 {
	font-size: 22px;
}

.sub_top_3 img {
  height: 200px;
}
.sub_top_3 h2 {
	font-size: 22px;
}

#index_top .top_catch h2 {
	font-size: 22px;
}

#index_top .top_catch p {
	font-size: 12px;
}

.grid_base {
  grid-gap: 10px;
}

.g_box {
    padding: 10px;
}
.g_box .txt_base {
	padding-top: 20px;
}
.g_box h3 {
	font-size: 18px !important;
	padding: 3px;
	margin-bottom: 5px;
}
.g_box p {
	padding: 3px !important;
	margin: 0 !important;
	font-size: 12px;
}


.g_box .g_point {
	font-size: 40px;
	top: -5px;
}

.g_box .g_point span {
    font-size: 14px;
	vertical-align: middle;
	padding-top: 2px;
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 0px;
	margin-right: 5px;
}

.card_base {
	width: 1100px;
}
.card_base.line_4 {
	width: 1500px;
}
.card_base.line_5 {
	width: 1900px;
}
.card_base.line_6 {
	width: 1500px;
}
/*
ヘッダー（スマホ用）
----------------------------------*/

header h1 {
	top: 16px;
	font-size: 8px;
}
header h1 img {
	height: 30px;
}
header img.logo_2 {
	width: 100px;
	left: 150px;
}

.info_sns {
	font-size: 14px;/*スマホ用　ヘッダー下テキスト　文字サイズ*/
}

.info_sns i {
	font-size: 20px;/*スマホ用　ヘッダー下　SNSアイコンサイズ*/
}

.info_btn.n_2 a {
	top: 5px;
	right: 10px;
	width: 56px;
}
.info_01 {
	float: none;
	position: absolute;
	font-size: 14px;
	top: -15px;
	left: 0;
}
.info_02 {
	margin-top: 20px;
	margin-left: 5px;
	width: 60px;
}
.info_03 {
	margin-top: 10px;
	margin-left: 10px;
}
.info_04 {
	display: none;
}

/*
トップナビ（スマホ用）
----------------------------------*/

ul.top_navi {
	margin-bottom: 0px;
}

ul.top_navi li {
	width: 32%;
	margin-bottom: 10px;
}
ul.top_navi.clm_3 li {
	width: 100%;
}

ul.top_navi.clm_3 li i {
	display: inline-block;
	padding-right: 10px;
}

ul.top_navi li a {
	padding-top: 20px;
	padding-bottom: 20px;
}


ul.top_navi li a i {
	font-size: 32px;
}

/*
コンテンツ（スマホ用）
----------------------------------*/

.main_cont p {
	margin-right: 10px;
	margin-left: 10px;
}

.sub_top img {
  height: 200px;
}

.sub_top h2 {
	font-size: 22px;
}

.box_flex .cont_half,
.box_flex .cont_half_2,
.box_flex.bn_box a {
	width: 100%;
}

.ul_news li {
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 14px !important;
}

.ul_news li i {
	font-size: 18px !important;
}

.ul_news li .date {
	padding-right: 10px;
}

.cont_box.top_box ul.top_news li {
	width: 100%;
	margin-bottom: 20px;
}
.cont_box.top_box ul.top_news li:last-child {
	margin-bottom: 0px;
}



.btn_set ul li {
	width: 100%;
	margin-bottom: 10px;
}

.boxlink a .img_box,
.boxlink a .txt_box {
	width: 100%;
	float: none;
	padding-right: 0px;
}

.img_2l img {
	width: 100%;
	margin-bottom: 10px;
}

}
/*(/～640)*/


@media screen and (max-width : 460px ){

.hp_base {
	padding-right: 5px;
	padding-left: 5px;
}

a .btn_check {
	font-size: 12px;
	line-height: 30px;
}
a .btn_check i {
	padding-right: 5px;
	padding-left: 2px;
}
a:hover .btn_check i {
	padding-right: 2px;
	padding-left: 5px;
}

.cont_box {
	padding: 10px;
}

#index_top .top_catch h2 {
	font-size: 18px;
}

header img.logo_2{
	display: none;
}

}
/*(/～460)*/


/*
FAQ
-------------------------------------------*/

.main_cont dl.faq {
	padding: 10px;
	background-color: #FFF;
	border-radius: 5px;
}
.main_cont dl.faq dt {
	font-size: 18px;
	line-height: 30px;
	position: relative;
	padding-top: 10px;
	padding-right: 50px;
	padding-bottom: 10px;
	padding-left: 50px;
	background-color: #F6F6F6;
	color: #3171BA;
	margin-top: 15px;
	font-weight: bold;
	border: 1px solid #DDD;
}
.main_cont .cl_pink dl.faq dt {
	color: #F66697;
}
.main_cont .hanami_cont dl.faq dt,
.main_cont .cl_pink dl.faq dt{
    color: #F66697;
    background-color: #FFF;
    border-color: #DCC;
}
.main_cont dl.faq dd {
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 50px;
    margin-bottom: 20px;
    line-height: 2;
    position: relative;
    border-left: 1px solid #DDD;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
    font-size: 15px;
	display: none;
}

.main_cont dl.faq dt::before,
.main_cont dl.faq dd::before {
	content:"Q";
	position: absolute;
	top: 10px;
	left: 10px;
	background-color: #3171BA;
	color: #FFF;
	height: 30px;
	width: 30px;
	text-align: center;
	line-height: 30px;
	font-size: 18px;
	border-radius: 30px;
	font-weight: bold;
}
.main_cont .cl_pink dl.faq dt::before,
.main_cont .cl_pink dl.faq dd::before {
	background-color: #F66697;
}

.main_cont dl.faq dd::before {
	top: 20px;
	content: "A";
	background-color: #FFF;
	color: #3171BA;
	border: 1px solid #3171BA;
}

.main_cont .cl_pink dl.faq dd::before {
	color: #F66697;
	border-color: #F66697;
	background-color: #FFF;
}

dl.faq .ac_menu {
	cursor: pointer;
	overflow: hidden;
	position: relative;
}
dl.faq .ac_menu::after {
	font-size: 18px;
	line-height: 22px;
	width: 22px;
	text-align: center;
	display: block;
	content: "＋";
	position: absolute;
	top: 50%;
	right: 20px;
	color: #FFF;
	background-color: #3171BA;
	margin-top: -11px;
	border-radius: 22px;
}
.cl_pink dl.faq .ac_menu::after {
	background-color: #F66697;
}
dl.faq .ac_menu.active::after {
	content: "－";
}

/*
吹き出しコンテンツ
--------------------------------------------------*/

.balloon {
  margin: 30px 0;
  display:flex;
  justify-content: flex-start;
  align-items: flex-start;
/*   align-items: center; */
}

.faceicon img{
  width: 80px;
  height: auto;
  border-radius: 50%;
  max-width: inherit !important;
	border: 1px solid #CCC;
}

.balloon .faceicon{
  margin-right:25px;
}

.bl_cont {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 17px 13px 15px 18px;
  border-radius: 12px;
  background-color: #FFF;
  box-sizing:border-box;
  margin:0 !important;
  line-height:1.5;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
/*   align-items: center; */
}

.bl_cont p{
  margin:8px 0 0 !important; 
}
.bl_cont p:first-child{
  margin-top:0 !important;
}

.bl_cont::before,
.bl_cont::after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
/*   margin-top:-3px;  */
}
.balloon .bl_cont::before {
  left: -30px;
  border-right: 22px solid #BBB;
}

.balloon .bl_cont::after {
  left: -28px;
  border-right: 22px solid #FFF;
}

/*
２カラム用
-----------------------------------------------------------------*/

.hp_base {
	display: -webkit-flexbox;
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.main_cont {
	width: 69%;
	position: relative;
}

.clm_1 .main_cont {
	width: 100%;
}

/*
サイド
----------------------------*/
.side {
    width: 28%;
}

.side_base {
	position: sticky;
	position: -webkit-sticky;
	top: 80px;
	padding-bottom: 10px;
}


.side_sns {
	text-align: center;
	padding-left: 20px;
	padding-right: 20px;
}

.side_sns p {
	text-align: right;
	font-size: 14px;
	margin-top: 0px;
}
	
.side_sns a {
	width: 18%;
	display: inline-block;
	font-size: 44px;
}

.side_sns a .fa-facebook {
	color: #1877F2;
}
.side_sns a .fa-instagram {
	color: #FF705B;
}
.side_sns a .fa-line {
	color: #00B900;
}
.side_sns a .fa-twitter {
	color: #1DA1F2;
}
.side_sns a .fa-youtube {
	color: #FF0000;
}

.side a.line_bn {
	margin-bottom: 20px;
	background-color: #FFF;
	padding: 10px;
	border: 1px solid #06C755;
	display: block;
	border-radius: 10px;
}

.side a.line_bn img {
	max-width: 100%;
}

.side_in {
	border: 1px solid #CCC;
	padding: 20px;
	border-radius: 10px;
	background-color: #FFF;
	margin-bottom: 20px;
}
.side h3 {
	font-size: 18px;
	padding-bottom: 5px;
	margin-bottom: 5px;
	border-bottom: 1px solid #555;
}
.side h3 span {
	font-size: 14px;
}
.side .side_btn a {
	display: block;
	width: 90%;
	border-radius: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 16px;
	line-height: 30px;
	background-color: #4E76D1;
	text-decoration: none;
	text-align: center;
	margin-right: auto;
	margin-left: auto;
	color: #FFF;
	border: 1px solid #4E76D1;
}
.side .side_btn a.cl_2 {
	background-color: #EB483F;
	margin-top: 15px;
	margin-bottom: 15px;
	border-color: #EB483F;
}
.side .side_btn a i {
	margin-right: 5px;
}

.side .side_btn a:hover {
	background-color: #FFF;
	color: #4E76D1;
}

.side .side_btn a.cl_2:hover {
	color: #EB483F;
}

/*
サイドFAQ
----------------------------------*/

.side .faqbox h3 {
	text-align: center;
}

.side .faqbox h3 i {
	color: #555;
	padding-right: 5px;
}

.side .faqbox p {
	font-size: 14px;
	margin: 10px;
}

.side .faqbox ul li {
	margin-bottom: 15px;
}

.side .faqbox ul li a {
	font-size: 18px;
	padding-top: 20px;
	padding-bottom: 20px;
	text-decoration: none;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.15);
	color: #333;
	border: 1px solid #AAA;
	border-radius: 5px;
	display: block;
	text-align: center;
	position: relative;
}

.side .faqbox ul li a i {
	display: inline-block;
	font-size: 22px;
	padding-bottom: 0px;
	padding-right: 5px;
}
.side .faqbox ul li a::after {
	font-family: "Font Awesome 5 Free";
	content: "\f138";
	position: absolute;
	right : 10px;
	top: 50%;
	line-height: 20px;
	margin-top: -10px;
	font-weight: 900;
	font-size: 18px;
	color: #3171BA;
}

.side .faqbox ul li a:hover {
	color: #FFF;
	background-color: #3171BA;
	border-color: #FFF;
}

.side .faqbox ul li a:hover::after {
	color: #FFF;
}

/*
アクセスページ
---------------------------*/
.box_01 {
	display: inline-block;
	padding: 15px;
	line-height: 1.8;
	border: 1px solid #AAA;
	font-weight: bold;
	border-radius: 10px;
	margin-bottom: 20px;
}

.box_02 {
	padding: 15px;
	line-height: 1.8;
	border: 2px solid #3171BA;
	border-radius: 10px;
}
.li_link {
	display: block;
	max-width: 640px;
	margin: auto;
	padding-bottom: 20px;
}
.li_link li {
	position: relative;
	padding-left: 30px;
	padding-right: 10px;
}
.li_link li::before {
	content: "・";
	position: absolute;
	left: 10px;
	top: 0;
	color: #555;
}
.li_link li a {
	text-decoration: none;
	color: #333;
	font-weight: bold;
}
.li_link li a::after {
	font-family: "Font Awesome 5 Free";
	content: "\f08e";
	color: #3171BA;
	padding-left: 5px;
}

.li_link li a:hover {
	color: #0096E0!important;
	text-decoration: underline;
}

.box_num li {
	width: 48.5%;
	position: relative;
	font-weight: bold;
	padding-bottom: 20px;
}
.box_num li span {
	display: block;
	width: 80px;
	line-height: 40px;
	font-size: 22px;
	text-align: center;
	font-weight: bold;
	color: #FFF;
	background-color: #ED7A17;
	position: absolute;
	top: 0;
	left: 0;
}
.box_num li img {
	width: 100%;
	margin-bottom: 5px;
}

/*
STEP枠
-----------------------------------------------------------------*/
h2.step_title {
    text-align: left;
    font-weight: normal;
    border-bottom: 2px solid #F46938;
}
h2.step_title strong {
	color: #F46938;
}
.step_box {
	padding: 1px;
	border-radius: 10px;
	position: relative;
	background-color: #FFF;
	border: 1px solid #DBD7C4;
	max-width: 960px;
	margin: auto;
}

.step_box .step_num {
	position: absolute;
	top: 15px;
	left: 15px;
	width: 60px;
	height: 60px;
	text-align: center;
	line-height: 1.2;
	color: #FFF;
	font-weight: bold;
	font-size: 14px;
	background-color: #F63;
	border-radius: 30px;
	padding-top: 10px;
}

.hanami_cont .step_box .step_num ,
.cl_pink .step_box .step_num {
	background-color: #F46094;
}

.cl_blue_2 .step_box .step_num {
    background-color: #3D8AC9;
}

.step_box .step_num span {
	font-size: 24px;
	display: block;
}

.step_box h3 {
	padding-left: 85px;
	margin-top: 25px;
	font-weight: bold;
}
.step_box h4 {
	background-color: #F46938;
	color: #FFF;
	text-align: center;
	width: 240px;
	display: block;
	line-height: 38px;
	border-radius: 8px;
	margin-left: 20px;
}

.step_box2 {
	padding: 1px;
	border-radius: 10px;
	position: relative;
	background-color: #FFF;
	border: 1px solid #DBD7C4;
	max-width: 960px;
	margin: auto;
}

.step_box2 .step_num2 {
	position: absolute;
	top: 15px;
	left: 15px;
	width: 60px;
	height: 60px;
	text-align: center;
	line-height: 1.2;
	color: #FFF;
	font-weight: bold;
	font-size: 14px;
	background-color: #00B900;
	/*background-color: #F63;*/
	border-radius: 30px;
	padding-top: 10px;
}

.hanami_cont .step_box2 .step_num2 ,
.cl_pink .step_box .step_num {
	background-color: #F46094;
}

.cl_blue_2 .step_box2 .step_num2 {
    background-color: #3D8AC9;
}

.step_box2 .step_num2 span {
	font-size: 24px;
	display: block;
}

.step_box2 h3 {
	padding-left: 85px;
	margin-top: 25px;
	font-weight: bold;
}
.step_box2 h4 {
	background-color: #00B900;
	color: #FFF;
	text-align: center;
	width: 240px;
	display: block;
	line-height: 38px;
	border-radius: 8px;
	margin-left: 20px;
}


.i_arrow {
	text-align: center;
	font-size: 68px;
	color: #F90;
	line-height: 1;
	margin-top: -15px;
	z-index: 10;
	position: relative;
	clear: both;
}

.i_arrow img {
	max-width: 30%!important;
}
/*
サブヘッダー
---------------------------------------*/
.sub_head {
	padding: 10px;
	background-color: #FFF;
	border: 1px solid #CCC;
	max-width: 1200px;
	margin: auto;
}
.h_icon li {
	display: inline-block;
	color: #FFF;
	line-height: 24px;
	background-color: #375CA0;
	border-radius: 24px;
	font-size: 14px;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 10px;
}
.h_icon li.cl_2 {
	background-color: #808026;
}
.h_icon li.cl_3 {
	background-color: #F19E38;
}
.h_icon li.cl_4 {
	background-color: #4397C7;
}
.h_icon li.cl_5 {
	background-color: #5CC99C;
}
.h_icon li.cl_6 {
	background-color: #E76C89;
}
.sub_head h2 {
    font-size: 38px;
    line-height: 1;
    display: block;
    padding-top: 5px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 5px;
    vertical-align: middle;
}
.sub_head h2 strong {
	display: inline-block;
	border-bottom: 2px solid #888;
}
.sub_head h2 span {
	padding-top: 7px;
	font-size: 18px;
	color: #888;
	display: block;
	font-weight: normal;
}
.sub_head .h_catch {
    display: inline-block;
    padding-top: 15px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 13px;
    font-size: 24px;
    border: 1px solid #F19E38;
	color: #F19E38;
	font-weight: bold;
	margin-left: 10px;
	margin-right: 10px;
}
.sub_head .h_txt {
    padding-top: 15px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 15px;
    font-size: 15px;
    border: 1px solid #555;
	border-radius: 5px;
	margin: 10px;
}
.sub_head .h_price {
    font-size: 34px;
    color: #FF003F;
	line-height: 1;
	padding-right: 10px;
	margin: 10px;
}
.sub_head .h_price .sml {
    font-size: 24px;
}
.sub_head .h_price .ssml {
    font-size: 16px;
    color: #F19E38;
	display: inline-block;
}
.hf_icon {
	float: right;
}
.hf_icon li {
    display: inline-block;
    border: 2px solid #FF740A;
    color: #FF740A;
    padding: 5px;
    font-weight: bold;
	margin-right: 5px;
}
.hf_icon li i {
	font-size: 18px;
	padding-right: 5px;
}


/*
タブ
---------------------------------------------*/
.tab_base {
	white-space: nowrap;
	width: 100%;
	overflow-x: scroll;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

.tab_2_base {
	white-space: nowrap;
	width: 100%;
	overflow-x: scroll;
}

#tabtop {
	margin-top: -100px;
	padding-top: 100px;
	position: relative;
	z-index: -1;
}

.tab_base.fixed,
.tab_2_base.fixed {
	position: fixed;
	top: 0px;
	left: auto;
	z-index: +1;
	transform: translateY(60px);
	width: 66.5%;
	max-width: 880px;
}

.clm_1 .tab_base.fixed {
	width: 100%;
	max-width: 1200px;
}

.tab_base.fixed.none,
.tab_2_base.fixed.none {
    opacity: 0;
}



ul.tab {
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #4397D6;
	background-color: #FFF;
	padding-top: 10px;
	min-width: 400px;
}

.cl_pink ul.tab {
    border-bottom-color: #F46094;
	font-weight: bold;
	letter-spacing: 0.1em;
}

ul.tab_2 {
	min-width: 440px;
}

.photo ul.tab {
	min-width: 300px;
}

ul.tab li {
	width: 20%;
	padding-left: 1px;
	padding-right: 1px;
}
.photo ul.tab li {
	width: 33.3%;
}


.l_2 ul.tab {
	min-width: 280px;
}

.l_2 ul.tab li {
	width: 50%;
}

ul.tab_2 li {
	width: 25%;
	padding: 10px;
}

ul.tab li a {
    display: block;
    padding-top: 15px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 12px;
    text-decoration: none;
    background: #EEE;
    color: #111;
    font-size: 15px;
    text-align: center;
}

ul.tab_2 li a {
    display: block;
    padding-top: 15px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 12px;
    text-decoration: none;
    background: #FFF;
    color: #111;
    font-size: 15px;
    text-align: center;
	border: 1px solid #CCC;
	border-radius: 10px;
	font-weight: bold;
	position: relative;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
}
ul.tab_2 li a::after {
	font-family: "Font Awesome 5 Free";
	content: "\f13a";
	position: absolute;
	right : 15px;
	top: 17px;
	font-weight: 900;
	color: #4397D6;
}
ul.tab_2 li a:hover::after {
	color: #FFF;
}
ul.tab li a:hover,
ul.tab li.active a,
ul.tab_2 li a:hover {
	background-color: #4397D6;
	color: #FFF;
}
.cl_pink ul.tab li a:hover,
.cl_pink ul.tab li.active a {
	background-color: #F46094;
}
ul.tab_2 li a:hover {
	border-color: #FFF;
}
.tabContents {
	display: none;
	background-color: #FFF;
	padding: 10px;
	margin-bottom: 20px;
}
.tabContents.active {
  display: block;
}


ul.tab_01 {
	padding: 5px;
}

ul.tab_01 li {
	display: table-cell;
	width: 160px;
	vertical-align: middle;
}

ul.tab_01 li a {
	display: block;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	background-color: #F1F1F1;
	color: #264E99;
	line-height: 20px;
	padding: 5px;
	border: 1px solid #264E99;
	border-radius: 8px 0px 0px 8px;
}
ul.tab_01 li:last-child a {
	border-radius: 0px 8px 8px 0px;
}

ul.tab_01 li a:hover {
	color: #000;
	background-color: #FFF;
}
ul.tab_01 li.active a {
	color: #FFF;
	background-color: #264E99;
	line-height: 30px;
	border-radius: 5px 5px 5px 5px;
}


.tab_01_cont {
	display: none;
	background-color: #FFF;
	padding-top: 10px;
	margin-bottom: 20px;
	clear: both;
}
.tab_01_cont.active {
  display: block;
}


ul.tab_02 {
	display: block;
	margin: 5px;
	background-color: #F1F1F1;
	border: 1px solid #4397D6;
	border-radius: 8px;
	width: 336px;
	height: 36px;
	padding: 2px;
}

ul.tab_02 li {
	display: inline;
}

ul.tab_02 li a {
	display: block;
	width: 110px;
	float: left;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	color: #4397D6;
	line-height: 30px;
	position: relative;
}
ul.tab_02 li:first-child a::after,
ul.tab_02 li:last-child a::after{
	content: "";
	display: block;
	background-color: #4397D6;
	width: 1px;
	height: 12px;
	right: 0;
	top: 10px;
	position: absolute;
}
ul.tab_02 li:last-child a::after {
	right: auto;
	left: 0;
}

ul.tab_02 li a:hover {
	color: #000;
	background-color: #FFF;
}
ul.tab_02 li.active a {
	color: #FFF;
	background-color: #4397D6;
	line-height: 50px;
	margin-top: -10px;
	border-radius: 8px;
}

.tab_02_cont {
	display: none;
	background-color: #FFF;
	padding-top: 10px;
	margin-bottom: 20px;
	clear: both;
}
.tab_02_cont.active {
  display: block;
}

/*
アコーディオン
--------------------------------------------------*/
.ac_menu {
	cursor: pointer;
	overflow: hidden;
	position: relative;
}
.ac_menu::after {
	font-size: 24px;
	line-height: 30px;
	display: block;
	content: "＋";
	position: absolute;
	top: 50%;
	right: 20px;
	color: #111;
	margin-top: -15px;
}

.h2_lb.ac_menu::after {
	font-size: 38px;
	line-height: 40px;
	font-family: "Font Awesome 5 Free";
	content: "\f078";
	color: #397BB8;
	margin-top: -20px;
}
.cl_pink .h2_lb.ac_menu::after {
    color: #F66697;
}
.tabina .h2_lb.ac_menu::after {
    color: #0098DC;
}

.ac_menu.active::after {
	content: "－";
}
.h2_lb.ac_menu.active::after {
	content: "\f077";
}

.ac_box {
	display: none;
}
.ac_box.open {
	display: block;
}

/*
注意事項
-------------------------------------------*/

dl.ac_dl {
	padding: 20px;
}
dl.ac_dl dt {
	font-size: 18px;
	line-height: 30px;
	position: relative;
	padding-top: 18px;
	padding-right: 50px;
	padding-bottom: 18px;
	padding-left: 15px;
	background-color: #FFF;
	color: #111;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #555;
}

dl.ac_dl dt.active {
	color: #333;
	background-color: #EEE;
}

dl.ac_dl dd {
	padding-top: 10px;
	padding-bottom: 10px;
	display: none;
	z-index: 110;
	position: relative;
	background-color: #FFF;
}

dl.ac_dl dd .dd_title {
	font-size: 22px;
	text-align: center;
	padding: 20px;
}

dl.ac_dl dd p {
	line-height: 1.8;
	font-size: 14px;
	color: #333;
	margin-right: 20px;
	margin-bottom: 30px;
	margin-left: 20px;
}
dl.ac_dl dd p strong {
	font-size: 16px;
}
/*
折り畳みボックスメニュー
--------------------------------------------------*/

.box_list .ac_menu {
	font-size: 18px;
	width: 90%;
	max-width: 500px;
	background-color: #555;
	padding: 15px;
	margin: auto;
	text-align: center;
	color: #FFF;
	font-weight: bold;
}

.box_list .ac_menu:hover {
	background-color: #777;
}


.box_list .ac_menu::after {
	color: #FFF;
}

.box_list ul {
	padding-top: 10px;
}

.box_list ul li {
	width: 33%;
	padding: 10px;
}

.box_list ul::after {
	content: "";
	width: 33%;
}

.box_list ul li a {
	display: block;
	font-size: 14px;
	text-decoration: none;
	padding: 10px;
	background-color: #EEE;
	text-align: center;
	color: #111;
}
.box_list ul li a i {
	margin-left: 5px;
}
.box_list ul li a:hover {
	background-color: #777;
	color: #FFF;
}

ul.box_list_2 li {
	width: 48%;
	padding: 10px;
	position: relative;
	padding-bottom: 30px;
}

ul.box_list_2 li img {
	width: 100%;
	margin-bottom: 10px;
}
ul.box_list_2 li p {
	padding: 0;
	margin: 0;
	font-size: 14px;
	font-weight: bold;
}
ul.box_list_2 li .box_title {
	font-weight: bold;
	font-size: 18px;
	margin-top: 10px;
	margin-bottom: 5px;
}
ul.box_list_2 li .icon {
	position: absolute;
	display: inline-block;
	padding: 5px;
	color: #FFF;
	background-color: #213E94;
	top: 5px;
	left: 5px;
	text-align: center;
	width: 80px;
	z-index: 10;
}
/*
ギャラリー
-------------------------------------------*/
.gallery_box {
	width: 100%;
	background-color: #FFF;
	padding: 30px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	border: 1px solid #DDD;
}
.gallery_box img {
	width: 100%;
}
.gallery_box .g_rank {
	font-size: 34px;
	text-align: center;
	line-height: 1.2;
	margin-bottom: 20px;
	font-weight: bold;
	color: #C90;
	letter-spacing: 0.5em;
}
.gallery_box .g_rank.r_2 {
	color: #888;
}
.gallery_box .g_rank.r_3 {
	font-size: 28px;
	color: #333;
	margin-bottom: 5px;
}

.gallery_box .g_title {
	font-size: 28px;
	margin-bottom: 20px;
	font-weight: bold;
}
.gallery_box .g_title span {
	display: block;
	font-size: 16px;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 5px;
}

.gallery_box a {
	text-decoration: none;
}

.gallery_box a span {
	text-decoration: none;
	display: block;
	text-align: right;
	padding: 10px;
	color: #111;
	font-size: 16px;
	letter-spacing: 1px;
	
}

.gallery_box a span i {
	padding-right: 5px;
}
.gallery_box a:hover span {
	color: #777;
}

.gallery_box p {
	font-size: 15px;
	color: #555;
	letter-spacing: 1px;
}
.gallery_box p strong {
	font-size: 16px;
	color: #000;
}


.gallery_list .gallery_box {
	width: 48%;
	padding: 10px;
}

.gallery_list .gallery_box p {
	font-size: 14px;
	margin: 10px;
}


/*
フォーム
-------------------------------------------*/
.form_base {
	background-color: #FAF7F1;
	padding: 5px;
	border-radius: 10px;
}

.form_base h2 {
    background-color: #EAE8E7;
    display: block;
    padding-top: 30px;
    padding-bottom: 20px;
    margin: 0;
    border-radius: 5px;
	color: #443F3F;
	font-size: 20px;
	letter-spacing: 0.1em;
}
.form_table {
	width: 100%;
	margin-top: 30px;
	margin-bottom: 30px;
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
}

.form_table th {
	text-align: left;
	padding: 20px;
	color: #443F3F;
	vertical-align: top;
	white-space: nowrap;
	font-size: 14px;
	width: 30%;
}
.confirm .form_table th {
	color: #877;
}
.form_table th div.required {
	padding-right: 50px;
	position: relative;
}
.form_table th div.required::after {
	content: "必須";
	display: inline-block;
	color: #FFF;
	background-color: #EC5D4A;
	font-size: 12px;
	border-radius: 5px;
	letter-spacing: 1px;
	padding-top: 2px;
	padding-right: 7px;
	padding-bottom: 2px;
	padding-left: 7px;
	position: absolute;
	right: 0px;
	top: 0px;
}
.form_table th .txt_sub {
	color: #777;
	font-size: 12px;
	display: block;
}
.form_table td {
    padding-top: 10px;
    padding-right: 20px;
    padding-left: 20px;
    padding-bottom: 20px;
    color: #555;
    font-size: 13px;
}
.confirm .form_table td {
    padding-top: 20px;
    color: #510;
    font-size: 16px;
	font-weight: bold;
}
.form_table td .td_txt {
	font-size: 14px;
	color: #777;
}
form input.form_btn,
a.form_btn {
	background-color: #D96F04;
	color: #FFF;
	padding-top: 20px;
	padding-bottom: 20px;
	border-radius: 10px;
	border: 2px solid #F6F6F6;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 1px;
	display: block;
	text-align: center;
	width: 100%;
	max-width: 640px;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 20px;
	margin-left: auto;
	text-decoration: none;
}
form input.form_btn:hover,
a.form_btn:hover {
	background-color: #FFF;
	color: #D96F04;
	border-color: #D96F04;
	cursor: pointer;
}

form.confirm input.form_btn,
.confirm a.form_btn {
	float: right;
	width: 55%;
	margin-right: 1%;
}
form.confirm input.form_btn.back,
.confirm a.form_btn.back {
	float: left;
	width: 40%;
	margin-left: 1%;
	color: #111;
	background-color: #FFF;
	border-color: #CCC;
}
form.confirm input.form_btn.back:hover ,
.confirm a.form_btn.back:hover {
	border-color: #333;
}
form input.txt,
form textarea {
    word-break: break-all;
    border: 1px solid #E1DCDA;
    background: #FFFFFF;
    padding: 15px;
    border-radius: 5px;
    color: #333;
    font-size: 14px;
    width: 100%;
}

form .error input.txt,
form .error textarea {
    border: 3px solid #CC0000;
    border-radius: 5px;
}
form p.txt_error {
	margin: 5px;
	color: #CC0000;
	font-weight: bold;
}

form p.txt_error::before {
	font-family: "Font Awesome 5 Free";
	content: "\f057";
	margin-right: 5px;
}

form input.txt:focus,
form textarea:focus {
	background-color: #FFFDDD;
	border-color: #D96F04;
}

form input.btn_s {
	background-color: #264E99;
	color: #FFFFFF;
	padding: 10px;
	border-radius: 5px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	font-size: 14px;
	letter-spacing: 1px;
	border: 1px solid #264E99;
	cursor: pointer;
	margin-bottom: 10px;
	width: 100%;
}
form input.btn_s:hover {
    background-color: #2276CF;
}

.pp_box {
	padding: 10px;
	max-width: 640px;
	margin: auto;
}

.pp_box h3 {
	font-size: 16px;
	font-weight: bold;
	margin: 0;
	color: #555;
}
.pp_box p {
	margin: 0;
	padding: 10px;
	color: #777;
	font-size: 12px;
}
label.agree {
	display: block;
	cursor: pointer;
	padding-left: 10px;
}
.agree input {
	margin-right: 5px;
}

.pp_box p strong {
	color: #510;
	font-size: 16px;
}
.pp_box p strong i {
	font-size: 20px;
	margin: 5px;
}

.sent_msg {
	text-align: center;
}
.sent_msg i {
	font-size: 200px;
	color: #68BCA1;
	margin-top: 50px;
}
.sent_msg p {
	color: #555;
}
.sent_msg p strong {
	font-size: 18px;
}

a.btn_login {
	display: block;
    color: #FFF;
    background-color: #938959;
    text-align: center;
    padding-top: 15px;
    padding-right: 5px;
    padding-left: 5px;
    padding-bottom: 15px;
    border: 2px solid #EEEEEE;
	text-decoration: none;
	font-size: 18px;
	width: 100%;
}
a.btn_login span {
	font-size: 13px;
}
a.btn_login i {
	margin-right: 5px;
}
a.btn_login:hover {
    color: #938959;
	background-color: #FFF;
	border-color: #938959;
}



/*
目次
----------------------------------*/

.mokuji {
	background-color: #F6F6F6;
	padding: 20px;
	border-radius: 5px;
	border: 1px solid #DDD;
	margin-top: 20px;
	margin-bottom: 30px;
}

.mokuji h3 {
	text-align: center;
}

.mokuji ol {
	display: block;
	counter-reset: li;
	padding: 10px;
	margin: auto;
	max-width: 740px;
	margin-bottom: 30px;
}

.clm_1 .mokuji ol,
.clm_1 .mokuji ul {
	max-width: 960px;
}
.mokuji ol li{
	position: relative;
	font-size: 22px;
	padding-left: 40px;
	list-style: none;
	line-height: 34px;
	margin-bottom: 15px;
}
.mokuji ol li:before{
	position: absolute;
	top: 0;
	left: 0;
	font-weight: bold;
	color: #FFF;
	counter-increment: li;
	content: counter(li);
	background-color: #09C;
	width: 34px;
	text-align: center;
	border-radius: 5px;
}

.mokuji ul {
	display: block;
	padding: 10px;
	margin: auto;
	max-width: 740px;
}
.mokuji ul li{
	position: relative;
	font-size: 22px;
	padding-left: 30px;
	list-style: none;
	line-height: 1.5;
	margin-bottom: 15px;
}

.mokuji ul li:before{
	position: absolute;
	top: 0;
	left: 0;
	content: "●";
	color: #97C9E1;
}

.mokuji ul ul {
	padding-bottom: 0px;
}

.mokuji ul li li {
	font-size: 18px;
	padding-left: 0px;
}
.mokuji ul li li:before{
	display: none;
}


/*
引用
----------------------------------*/
.inyou {
	border-radius: 5px;
	border: 1px solid #CCC;
	margin-top: 20px;
	margin-bottom: 30px;
	position: relative;
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 50px;
	font-size: 18px;
	color: #333;
}

.inyou::before {
	font-family: "Font Awesome 5 Free";
	content: "\f10d";
	font-weight: 900;
	font-size: 44px;
	color: #999;
	position: absolute;
	top: 20px;
	left: 20px;
}

.inyou ol {
	padding: 10px;
}
.inyou ol li {
	list-style: decimal;
	margin: 10px;
}
blockquote {
	font-style: italic;
	color: #069;	
}


/*
ページネーション
----------------------------------*/


nav[role="navigation"] {
  text-align: center;
}
.pagination {
  width: 90%;
  max-width: 768px;
  margin: 2em auto 2em;
  text-align: center;
}
.pagination li {
  display: none;
  margin: 0 0.2em;
}

.pagination.n_2 li {
  display: inline-block;
}

.pagination li.button {
  display: inline-block;
}
.pagination a {
  border: 1px solid #e6e6e6;
  border-radius: 0.25em;
  text-decoration: none;
}
.pagination a:active {
  -webkit-transform: scale(0.9);
  -moz-transform: scale(0.9);
  -ms-transform: scale(0.9);
  -o-transform: scale(0.9);
  transform: scale(0.9);
}
.pagination a.disabled {
  color: rgba(46,64,87,0.4);
  pointer-events: none;
}
.pagination .button:first-of-type a::before {
  content: '\00ab  ';
}
.pagination .button:last-of-type a::after {
  content: ' \00bb';
}
.pagination .current {
	background-color: #4E76D1;
	border-color: #4E76D1;
	color: #fff;
	pointer-events: none;
}
.pagination.no-space {
  width: auto;
  max-width: none;
  display: inline-block;
  border-radius: 0.25em;
  border: 1px solid #e6e6e6;
}
.pagination.no-space:after {
  content: "";
  display: table;
  clear: both;
}
.pagination.no-space li {
  margin: 0;
  float: left;
  border-right: 1px solid #e6e6e6;
}
.pagination.no-space li:last-of-type {
  border-right: none;
}
.pagination.no-space li:last-of-type a {
  border-radius: 0 0.25em 0.25em 0;
}
.pagination.no-space li:first-of-type a {
  border-radius: 0.25em 0 0 0.25em;
}

.pagination a,
.pagination span {
  display: inline-block;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  padding: 0.6em 0.8em;
  font-size: 16px;
}
.no-touch .pagination a:hover {
  background-color: #f2f2f2;
}

.pagination a.disabled::before,
.pagination a.disabled::after {
  opacity: 0.4;
}
@media only screen and (min-width: 768px) {
  .pagination li {
    display: inline-block;
  }
}

.pagination.no-space a,
.pagination.no-space span {
  float: left;
  border-radius: 0;
  padding: 0.8em 1em;
  border: none;
}

@media screen and (max-width:960px){


.main_cont {
	width: 100%;
}

.side{
	display: none;
}
.box_num li {
	width: 100%;
}

.sub_head h2 {
	font-size: 28px;
	width: 400px;
}
.sub_head h2 span {
	font-size: 16px;
}
.sub_head .h_catch {
    font-size: 18px;
}
.tab_base.fixed,
.tab_2_base.fixed {
	left: 0px;
	width: 100%;
}
ul.tab_2 li {
	padding: 5px;
}

}
/*(/～960)*/

@media screen and (max-width:640px){
.sub_head h2 {
	width: auto;
}
.sub_head .h_catch {
    font-size: 16px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 10px;
	padding-right: 10px;
}
.sub_head .h_price {
	margin-top: 55px;
    font-size: 28px;
}
.sub_head .h_price .sml {
    font-size: 18px;
}
.hf_icon li {
	font-size: 14px;
}
dl.ac_dl {
	padding: 0px;
}
p.p_guide {
	margin-bottom: 10px!important;
}
ul.tab_2 li {
	padding: 1px;
}
ul.tab_2 li a::after {
	right : 5px;
}

ul.tab_02 {
	width: 276px;
}

ul.tab_02 li a {
	width: 90px;
}

.gallery_box {
	padding-right: 10px;
	padding-left: 10px;
}

.gallery_box .g_title {
	font-size: 20px;
	margin-bottom: 10px;
}

.gallery_box .g_rank {
	font-size: 28px;
}
.gallery_box .g_rank.r_3 {
	font-size: 22px;
}
.gallery_list .gallery_box {
	width: 100%;
}

ul.box_list_2 li {
	width: 100%;
}
.form_table th,
.form_table td {
	display: block;
	width: 100%;
}
.form_table th {
	padding-bottom: 0px;
}
.form_table th div.required {
	padding-right: 0px;
}
.form_table th div.required::after {
	position: relative;
	right: auto;
	top: auto;
	margin-left: 10px;
}


/*
目次（スマホ用）
----------------------------------*/

.mokuji {
	padding-top: 5px;
}
.mokuji ol {
	padding: 0px;
}
.main_cont h3 {
	font-size: 20px;
	margin-bottom: 10px;
}
.mokuji ol li{
	font-size: 18px;
	line-height: 26px;
	padding-left: 30px;
}

.mokuji ol li:before{
	width: 26px;
}

.mokuji ul li{
	font-size: 18px;
}

.mokuji ul li li {
	font-size: 16px;
}

/*
引用（スマホ用）
----------------------------------*/

.inyou {
	margin-bottom: 20px;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 35px;
	font-size: 16px;
}

.inyou::before {
	font-size: 28px;
	left: 15px;
}

}
/*(/～640)*/


/*
カラー枠
-------------------------------------------*/
.bl_box {
	background-color: #EBF3FF;
	padding: 10px;
	border: 1px solid #264E99;
	border-radius: 10px;
}
.bl_box strong {
    color: #FF9900;
}
.bl_box h3 {
	text-align: center;
	margin: 0;
	padding: 0;
	padding-top: 10px;
	font-weight: bold;
}

ol.ol_01 {
  counter-reset:number;
  list-style-type: none!important;
  padding:0.5em;
}
ol.ol_01 li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol.ol_01 li:before {
  position: absolute;
  counter-increment: number;
  content: counter(number);
  display:inline-block;
  background: #264E99;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  top: 6px;
}

.or_box {
	background-color: #FFF3E6;
	padding: 10px;
	border: 1px solid #FF850B;
	border-radius: 10px;
	margin-bottom: 20px;
}
.or_box strong {
    color: #F20012;
}

.or_box ol.ol_01 li:before {
	background: #FF850B;
}


/*
プルダウン切替
---------------------------*/
.select_box {
    display: inline-flex;
    align-items: center;
    position: relative;
	width: 100%;
}

.select_box::after {
    position: absolute;
    right: 15px;
    width: 10px;
    height: 7px;
    background-color: #1B74BF;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    pointer-events: none;
}

.select_box select {
    appearance: none;
	width: 100%;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #FFF;
    border-radius: 3px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.35);
    background-color: #fff;
    color: #111;
    font-size: 1em;
    cursor: pointer;
}

.s_box_in {
	padding: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	border: 1px solid #CCC;
	border-radius: 10px;
}

/*
テーブル
----------------------------------------*/
table {
	border-collapse: collapse;
}
table td {
	border-collapse: collapse;
}

table.table_01 {
	width: 100%;
	margin-top: 10px;
	margin-bottom: 30px;
}

table.table_01 th {
	text-align: left;
	font-size: 17px;
	white-space: nowrap;
	font-weight: normal;
}

table.table_01 th span {
	font-size: 12px;
	color: #555;
	font-weight: normal;
}
table.table_01 th i {
	color: #09C;
	display: inline-block;
	width: 40px;
	text-align: center;
	font-size: 20px;
	margin-left: -3px;
}

.cl_pink table.table_01 th i {
    color: #F66697;
}

table.table_01 th,
table.table_01 td {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
}
table.table_01 th {
	padding-left: 0px;
}
table.table_01 td {
	font-size: 14px;
}


table.table_02 {
	margin-top: 5px;
	margin-bottom: 20px;
	border: 1px solid #555;
	min-width: 98%;
}
table.table_02 th,
table.table_02 td {
	padding: 12px;
	text-align: center;
	border-right-width: 1px;
	border-left-width: 1px;
	border-bottom-width: 1px;
	border-right-style: dashed;
	border-left-style: dashed;
	border-bottom-style: dashed;
	border-bottom-color: #555;
	border-right-color: #555;
	border-left-color: #555;
	white-space: nowrap;
}

table.table_02 th {
	font-size: 16px;
	letter-spacing: 1px;
	background-color: #F9F9F9;
}
table.table_02 td {
	font-size: 15px;
	background-color: #FFF;
}


table.table_02 td strong {
	font-size: 135%;
}


table.table_02_tbn {
	width: 100%;
	margin-top: 10px;
	margin-bottom: 30px;
}

table.table_02_tbn th {
	text-align: left;
	font-size: 17px;
	white-space: nowrap;
}

table.table_02v th span {
	font-size: 12px;
	color: #555;
	font-weight: normal;
}
table.table_02_tbn th i {
	color: #09C;
	display: inline-block;
	width: 40px;
	text-align: center;
	font-size: 18px;
}

table.table_02_tbn th,
table.table_02_tbn td {
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #999;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
}

table.table_02_tbn td .price {
	font-size: 14px;
}


.table_03 {
	margin: 10px;
}
.table_03 th {
	white-space: nowrap;
	padding: 10px;
	background-color: #F1A63B;
	color: #FFF;
	font-size: 18px;
	font-weight: normal;
}
.table_03 th.cl_2 {
	background-color: #F26060;
}
.table_03 td {
	padding: 10px;
}

table.table_04 {
	width: 100%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	border-top-width: 3px;
	border-top-style: solid;
	border-top-color: #ACC8CA;
}
table.table_04 th,
table.table_04 td {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #ACC8CA;
	padding: 15px;
}
table.table_04 th {
	font-size: 15px;
	white-space: nowrap;
	font-weight: normal;
	color: #7B96A2;
	text-align: left;
}
table.table_04 td {
	font-size: 15px;
	color: #44525E;
}

.table_05 {
	margin-top: 10px;
	margin-bottom: 20px;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
.table_05 td,
.table_05 th {
	border: 1px solid #CCC;
	line-height: 30px;
	font-size: 14px;
	padding: 10px;
}
.table_05 th {
	background-color: #F7F7F7;
	text-align: left;
	white-space: nowrap;
}



table.table_06 {
	margin-top: 20px;
	margin-bottom: 30px;
	border: 1px solid #555;
	min-width: 98%;
}
table.table_06 th,
table.table_06 td {
	padding: 12px;
	text-align: center;
	border-right-width: 1px;
	border-left-width: 1px;
	border-bottom-width: 1px;
	border-right-style: dashed;
	border-left-style: dashed;
	border-bottom-style: dashed;
	border-bottom-color: #555;
	border-right-color: #555;
	border-left-color: #555;
	white-space: nowrap;
}
table.table_06 th.futowaku {
	border-right-width: 5px;
	border-left-width: 5px;
	border-right-style: solid;
	border-left-style: solid;
	border-right-color: #FF8600;
	border-left-color: #FF8600;
	border-top-style: solid;
	border-top-color: #FF8600;
	border-top-width: 5px;
}
table.table_06 td.futowaku {
	border-right-width: 5px;
	border-left-width: 5px;
	border-right-style: solid;
	border-left-style: solid;
	border-right-color: #FF8600;
	border-left-color: #FF8600;
}
table.table_06 td.futowaku.btm {
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color: #FF8600;
}
table.table_06 th {
	font-size: 14px;
	letter-spacing: 1px;
	background-color: #F9F9F9;
}
table.table_06 td {
	font-size: 15px;
}


table.table_06 td strong {
	font-size: 150%;
}

table.table_07 th,
table.table_07 td {
	padding: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999;
}

table.table_07 th {
	white-space: nowrap;
	border-right-width: 1px;
	border-right-style: dashed;
	border-right-color: #999;
	text-align: left;
	vertical-align: top;
}


table.table_08 {
	width: 100%;
	margin-top: 10px;
	margin-bottom: 30px;
}

table.table_08 th {
	text-align: left;
	font-size: 17px;
	white-space: nowrap;
	background-color: #F9F9F9;
}

table.table_08 th span {
	font-size: 12px;
	color: #555;
	font-weight: normal;
}
table.table_08 th i {
	color: #09C;
	display: inline-block;
	width: 40px;
	text-align: center;
	font-size: 18px;
}

table.table_08 th,
table.table_08 td {
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #999;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
}

table.table_08 td .price {
	font-size: 14px;
}

/*
ピックアップ枠
-------------------------------------------*/
.pickup {
    font-size: 18px;
    background-color: #FFF;
    border: 1px solid #555;
    color: #555;
    border-radius: 10px;
    position: relative;
    padding-top: 10px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 10px;
    margin: 10px;
	text-align: center;
}
.pickup i {
	padding-left: 10px;
	padding-right: 10px;
}
.pickup .pu_icon {
	position: absolute;
	top: -25px;
	left: -10px;
	background-color: #3F6ADE;
	color: #FFF;
	display: inline-block;
	padding-top: 3px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 2px;
	border-radius: 10px;
	font-size: 16px;
}

/*
プライバシーポリシー
-------------------------------------------*/

.pp h4 {
	font-weight: bold;
}

.pp ol {
	padding-bottom: 20px;
	line-height: 1.8;
}

.pp ol li {
	counter-increment: cnt;
	position: relative;
	padding-left: 34px;
}

.pp ol ol li {
	counter-increment: cnt2;
	padding-left: 44px;
}
 
.pp ol li::before {
	position: absolute;
	content: counter(cnt) "．";
	left: 0;
	top: 0;
	text-align: right;
	width: 40px;
}
.pp ol ol li::before {
	content: "(" counter(cnt2) ") ";
	width: 36px;
}

.list_box {
	padding: 10px;
	border: 1px solid #CCC;
	border-radius: 10px;
}

/*
SDGs
-------------------------------------------*/
.sdgs_box {
	border: 1px solid #21A017;
	margin-bottom: 20px;
}
.sdgs_box .cont_half_2 {
	padding: 10px;
}
.sdgs_box h3 {
	border-bottom: 1px solid #888;
	text-align: center;
	font-size: 20px;
}

.sdgs_box p strong {
	display: inline-block;
	border-bottom: 1px solid #888;
}

ul.icon_list li {
	display: inline-block;
	width: 23%;
	margin-bottom: 10px;
}
ul.icon_list li img {
	width: 100%;
}

/*
以下お花見ページ追加コンテンツ
---------------------------------------------*/

/*
ローダー
------------------*/

#loading {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100vw;
	height: 100vh;
	background-color: #FFF;
	transition: all 1.5s ease;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11000;
}


#loading.loaded {
	transition-delay: 1.5s;
  opacity: 0;
  visibility: hidden;
}

img.loader {
	width: 160px;
	height: 160px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -80px;
	margin-top: -80px;
	opacity: 0;
	animation: fade_ld 2s 0.2s forwards;
  -webkit-animation: fade_ld 2s 0.2s forwards;
}
	
@-webkit-keyframes fade_ld {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  60% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade_ld {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  60% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
  }
}

/*
既存トップページ追加
------------------*/
.top_hanami {
	background-color: #FCECEC;
	padding: 10px;
	border-top: 5px solid #E9618F;
	border-bottom: 5px solid #E9618F;
	margin-bottom: 30px;
}
.top_hanami p a {
	text-decoration: none;
	color: #F66697;
	font-weight: bold;
}

.top_hanami p a:hover {
    text-decoration: underline;
    color: #FF99BB;
}

.btn_hanami a {
    display: block;
    padding-top: 20px;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 20px;
    text-align: center;
    margin-top: 10px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 10px;
    max-width: 1200px;
    text-decoration: none;
    font-size: 28px;
    background-color: #F66697;
    color: #FFF;
    letter-spacing: 0.1em;
    border-radius: 10px;
	border: 3px solid #EEE;
	font-weight: bold;
}

.btn_hanami.cl_blue a {
    background-color: #3D8AC9;
}
.btn_hanami a:hover {
	background-color: #FFF;
    color: #F66697;
	border-color: #F66697;
}
.btn_hanami.cl_blue a:hover {
	background-color: #FFF;
    color: #3D8AC9;
	border-color: #3D8AC9;
}
.btn_hanami a i {
	margin-left: 5px;
}
.btn_hanami a.cl_2 {
	background-color: #94895B;
}
.btn_hanami a.cl_2:hover {
	background-color: #FFF;
    color: #94895B;
	border-color: #94895B;
}
.side .btn_hanami a {
	font-size: 18px;
}
	
.btn_hanami a span {
	font-size: 65%;
}
.btn_hanami.sw a {
	max-width: 800px;
	letter-spacing: 0;
	margin-top: 2em;
	margin-bottom: 2em;
}
iframe.y_tube {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}


/*
花見トップページ
------------------*/

.hanami_head {
	position: relative;
}

.hanami_head::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255,255,255,0.35);
    position: absolute;
}

.hanami_head img {
  width: 100%;
  height: 350px;
  object-fit: cover;
}


.hanami_head h2 {
	position: absolute;
	text-align: center;
	font-size: 58px;
	color: #FFF;
	padding-top: 20px;
	padding-bottom: 20px;
	border-radius: 10px;
	background-color: #F46094;
	top: 50%;
	left: 50%;
	width: 1180px;
	margin-left: -590px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	max-width: 1200px;
}


.news_box {
	border: 5px solid #F46094;
	padding: 20px;
	margin-bottom: 30px;
	background-color: #FFF;
	border-radius: 10px;
}
.news_box.grl {
	border: 1px solid #CCC;
}
.news_box h2 {
	text-align: center;
	display: block;
	position: relative;
	font-weight: normal;
	letter-spacing: 0.1em;
	padding: 10px;
	border-bottom: 1px solid #DDD;
	margin-top: 10px;
	margin-bottom: 20px;
}
.news_box h2.pink {
    color: #F66697;
    font-weight: bold;
}
.news_box h2.blue {
    color: #4E76D1;
    font-weight: bold;
}
.news_box h2 span {
	color: #888;
	font-size: 12px;
	display: block;
}
.news_box h2::before,
.news_box h2::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 0px;
	width: 50px;
	height: 50px;
	margin-left: 80px;
	background-image: url("../img/i_sakura.png");
	background-repeat: no-repeat;
	z-index: -1;
}
.news_box h2::before {
	margin-left: -130px;
}

.news_box dl dt {
	padding: 5px;
	color: #777;
}
.news_box dl dt span {
    display: inline-block;
    border-radius: 22px;
    font-size: 12px;
    line-height: 22px;
    padding-left: 10px;
    padding-right: 10px;
    margin-left: 5px;
    background-color: #F04449;
    color: #FFF;
    letter-spacing: 1px;
}
.news_box dl dd {
	padding: 5px;
	border-bottom: 1px dashed #AAA;
	padding-bottom: 10px;
	margin-bottom: 15px;
	font-size: 15px;
	line-height: 1.8;
}

.hanami_cont {
	background-color: #FFF;
	padding: 10px;
	border-radius: 10px;
	padding-top: 20px;
	margin-top: 20px;
}

.hanami_cont h2.midashi {
	font-size: 58px;
	text-align: center;
	color: #2B55A1;
	line-height: 1.8;
}

.hanami_cont h2.midashi.left {
	text-align: left;
	margin: auto;
	max-width: 900px;
	width: 90%;
	padding-top: 20px;
	padding-bottom: 20px;
}
.hanami_cont h2.midashi strong {
	font-size: 68px;
	color: #F45B91;
}
.hanami_cont h2.midashi img {
	width: 50%;
	max-width: 800px;
	vertical-align: top;
}

.hanami_cont.cl_2 {
	border: 1px solid #F56195;
	padding: 0;
	margin-top: 30px;
	margin-bottom: 30px;
}

.hanami_cont.cl_2 h2 {
	background-color: #F56195;
	text-align: center;
	color: #FFF;
	font-size: 38px;
	padding: 20px;
	border-radius: 10px 10px 0 0;
}
.hanami_cont.cl_2 h2.blk {
	background-color: #FFF;
	color: #111;
	font-size: 78px;
	padding-top: 30px;
	padding-bottom: 0;
	margin-bottom: 0;
}
.hanami_cont.cl_2 h2.blk.sml {
	font-size: 58px;
}
.hanami_cont.cl_2 h2.blk.cl_2 {
	color: #F56195;
}
.cont_in {
	max-width: 1000px;
	margin: auto;
	padding: 20px;
}
.cont_in.no_pad {
	padding: 0;
}
/*
左右レイアウト
------------------*/
.box_half {
	position: relative;
	padding: 2em;
	margin-bottom: 1em;
}
.box_half::after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

.box_half img.img_half {
	float: left;
	width: 48%;
}

.box_half .cont_txt {
	float: right;
	width: 50%;
}

.box_half .cont_txt h3 {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 34px;
	background-color: #FFF;
	display: block;
	width: 56%;
	font-weight: bold;
	border-radius: 10px;
	border: 1px solid #4978BE;
	text-align: center;
	padding: 1em;
	margin: 0;
	line-height: 1.8;
}

.box_half.left_cont img.img_half {
	float: right;
}

.box_half.left_cont .cont_txt {
	float: left;
}

.box_half.left_cont .cont_txt h3 {
	right: auto;
	left: 0;
}

.box_half .cont_txt h3 span {
	background: linear-gradient(transparent 85%, #4978BE 85%);
}
.box_half .cont_txt h3 img {
	margin-left: 0.5em;
	max-width: 2em!important;
}

.box_half .cont_txt p {
	padding-top: 7em;
	font-size: 24px;
	margin: 0;
}

.btn_box {
    border: 5px solid #F46094;
    padding: 20px;
    margin-top: 30px;
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom: 30px;
    border-radius: 10px;
    background-color: #FFF;
}
.btn_box h2 {
	text-align: center;
	color: #F46094;
	font-size: 58px;
	margin: 20px;
}

.ccard {
	border: 1px solid #F46094;
	border-radius: 10px;
	text-align: center;
	padding-bottom: 20px;
	margin: auto;
	margin-top: 30px;
	max-width: 640px;
}
.ccard h3 {
	color: #F46094;
	background-color: #FFE3ED;
	margin-top: 0;
	line-height: 2;
	font-weight: bold;
	font-size: 26px;
	border-radius: 10px 10px 0 0;
}

/*
疑問01～06
------------------*/

.gimon dt {
	border: 5px solid #2F5EA2;
	border-radius: 20px;
	font-size: 44px;
	color: #2F5EA2;
	position: relative;
	font-weight: bold;
	line-height: 2.5;
	display: block;
	margin-top: 2em;
	margin-bottom: 15px;
	cursor: pointer;
}

.gimon dt img {
	position: absolute;
	bottom: -8px;
	right: 1%;
	max-width: 12%!important;
}
.gimon dt span.num {
	background-color: #2F5EA2;
	color: #FFF;
	padding-left: 3%;
	padding-right: 3%;
	margin-right: 3%;
	display: inline-block;
}
.gimon dt span.num span {
	font-size: 65%;
	padding-right: 0.1em;
}

.gimon dt:hover {
    color: #3676D1;
	border-color: #3676D1;
}
.gimon dt:hover span.num {
	background-color: #3676D1;
}

.gimon dd {
	border: 5px solid #2F5EA2;
	border-radius: 20px;
	font-size: 24px;
	font-weight: bold;
	padding: 30px;
	margin-bottom: 30px;
	line-height: 1.8;
}

.gimon dd strong {
	color: #DD0000;
}
.gimon dd ul {
	margin: 10px;
}
.gimon dd ul li {
	list-style: disc;
	margin-left: 10px;
}
.gimon.close dd {
	display: none;
}

.gimon dd img {
	margin-top: 20px;
	margin-bottom: 20px;
}

.gimon.cl_2 dt {
	border-color: #E0878D;
	color: #E0878D;
}
.gimon.cl_2 dt span.num {
	background-color: #E0878D;
}
.gimon.cl_2 dd {
	border-color: #E0878D;
}
.gimon.cl_2 dd strong {
	color: #E0878D;
}
.gimon.cl_2 dt:hover {
    color: #F9959C;
    border-color: #F9959C;
}
.gimon.cl_2 dt:hover span.num {
	background-color: #F9959C;
}


.gimon.cl_3 dt {
	border-color: #EAB640;
	color: #EAB640;
}
.gimon.cl_3 dt span.num {
	background-color: #EAB640;
}
.gimon.cl_3 dd {
	border-color: #EAB640;
}
.gimon.cl_3 dd strong {
	color: #EAB640;
}
.gimon.cl_3 dt:hover {
    color: #FFC644;
    border-color: #FFC644;
}
.gimon.cl_3 dt:hover span.num {
	background-color: #FFC644;
}

.gimon.cl_4 dt {
	border-color: #519586;
	color: #519586;
}
.gimon.cl_4 dt span.num {
	background-color: #519586;
}
.gimon.cl_4 dd {
	border-color: #519586;
}
.gimon.cl_4 dd strong {
	color: #519586;
}
.gimon.cl_4 dt:hover {
    color: #58D1B6;
    border-color: #58D1B6;
}
.gimon.cl_4 dt:hover span.num {
	background-color: #58D1B6;
}

.gimon.cl_5 dt {
	border-color: #3FA1EA;
	color: #3FA1EA;
}
.gimon.cl_5 dt span.num {
	background-color: #3FA1EA;
}
.gimon.cl_5 dd {
	border-color: #3FA1EA;
}
.gimon.cl_5 dd strong {
	color: #3FA1EA;
}
.gimon.cl_5 dt:hover {
    color: #60BBFF;
    border-color: #60BBFF;
}
.gimon.cl_5 dt:hover span.num {
	background-color: #60BBFF;
}

.gimon.cl_6 dt {
	border-color: #975350;
	color: #975350;
}
.gimon.cl_6 dt span.num {
	background-color: #975350;
}
.gimon.cl_6 dd {
	border-color: #975350;
}
.gimon.cl_6 dd strong {
	color: #975350;
}
.gimon.cl_6 dt:hover {
    color: #D17874;
    border-color: #D17874;
}
.gimon.cl_6 dt:hover span.num {
	background-color: #D17874;
}


/*
花見プランページ
------------------*/
.hanami_cont ul.tab_01 li a,
.cl_pink ul.tab_01 li a {
	color: #F56195;
	border-color: #F56195;
}
.hanami_cont ul.tab_01 li.active a,
.cl_pink ul.tab_01 li.active a {
	background-color: #F56195;
	color: #FFF;
}

.pink_box {
    background-color: #FFE9F2;
    padding: 10px;
    border: 1px solid #F56195;
    border-radius: 10px;
    margin-bottom: 20px;
}
.pink_box strong {
    color: #F56195;
}

.pink_box ol.ol_01 li:before {
	background: #F56195;
}

p.p_logo {
	font-size: 22px;
	text-align: center;
}
p.p_logo img {
	max-width: 55%!important;
}

.add {
	font-size: 34px;
	font-weight: bold;
	position: relative;
	margin: auto;
	padding-left: 2.5em;
	margin-top: 2em;
	margin-bottom: 2em;
	white-space: nowrap;
}
.add strong {
	font-size: 120%;
}
.add i {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 250%;
	color: #DD0000;
}
.dot_box {
	border: 3px dashed #537CBA;
	padding: 20px;
	margin-top: 30px;
	margin-bottom: 20px;
	font-size: 18px;
}

.img_glry li {
	width: 32%;
	margin-top: 10px;
	margin-bottom: 10px;
}

.img_glry img {
  width: 100%;
  aspect-ratio: 1.5 / 1;
  object-fit: cover;
}

.img_4box li {
	width: 49%;
	margin-top: 10px;
	margin-bottom: 10px;
	position: relative;
}

.img_4box img {
  width: 100%;
  aspect-ratio: 1.5 / 1;
  object-fit: cover;
}

.img_4box li span {
	display: block;
	position: absolute;
	right: 2%;
	bottom: 3%;
	text-align: center;
	background-color: #FFF;
	width: 48px;
	border: 1px solid #000;
	border-radius: 5px;
	line-height: 38px;
	font-size: 18px;
	font-weight: bold;
}
.img_4box li span.lb {
	right: auto;
	left: 2%;
}
.img_4box li span.rt {
	bottom: auto;
	top: 3%;
}
.img_4box li span.lt {
	right: auto;
	left: 2%;
	bottom: auto;
	top: 3%;
}

.list_num li {
	font-size: 18px;
	margin: 10px;
}
.list_num li span.num {
	display: inline-block;
	width: 38px;
	border: 1px solid #000;
	border-radius: 5px;
	text-align: center;
	margin-right: 5px;
}

/*
開花状況ページ
------------------*/
.h2_kaika span {
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
	margin-left: 5px;
	font-size: 16px;
	border: 1px solid #888;
	vertical-align: middle;
	font-weight: normal;
}
.kaika_top p {
	font-size: 18px;
	font-weight: bold;
}

.kaika_top p strong {
    color: #F46094;
}

.kaika_2l {
	width: 49%;
}

.kaika_2l img.kaika_img {
  width: 100%;
  aspect-ratio: 1.5 / 1;
  object-fit: cover;
}

.kaika_2l p {
	font-size: 22px;
	font-weight: bold;
	margin: 0;
	
}
.kaika_time {
	border: 1px solid #CCC;
	border-radius: 5px;
	padding: 10px;
	text-align: center;
}

.kaika_time .select_time {
	display: inline-block;
	color: #000;
	border: 1px solid #888;
	font-size: 18px;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-top: 10px;
	margin-bottom: 10px;
	width: 100%;
	max-width: 320px;
	white-space: nowrap;
}

.status {
	border: 1px solid #CCC;
	border-radius: 5px;
	font-size: 22px;
	font-weight: bold;
	padding: 5px;
	display: inline-block;
	margin: 5px;
	text-align: center;
	width: 200px;
}

.box_flex .status {
	width: 32%;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}
.box_flex .kaika_2l .status {
	width: 50%;
}
.status img {
	margin-right: 5px;
}
.gl_base {
	padding: 15px;
	background-color: #FFF0F3;
	margin-top: 20px;
}
.gl_base h3 {
	font-size: 18px;
	margin: 0;
	padding-left: 0;
}

h3.h3_box {
	font-size: 18px;
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
	border: 1px solid #888;
	letter-spacing: 0.1em;
}


/*
日程リスト
-------------------------------------------*/

.date_list,
.date_list_2 {
	padding: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #CCC;
	margin-bottom: 20px;
}

.date_list .date_head {
	display: table-cell;
	font-size: 24px;
	width: 100px;
	text-align: center;
	padding: 10px;
}

.date_list .date_head span {
	display: block;
	font-size: 12px;
}

.date_list .date_txt {
	font-size: 22px;
	padding: 10px;
	display: table-cell;
	border-left-width: 1px;
	border-left-style: solid;
	border-left-color: #333;
}

.date_list .date_foot {
	font-size: 14px;
	clear: both;
	color: #555;
}

.date_list .date_foot span {
	display: inline-block;
	padding: 10px;
}

.date_list .date_foot span i {
	padding-right: 5px;
}


.date_list_2 .date_txt {
	font-size: 22px;
	padding: 10px;
}

.date_list_2 .date_head {
	color: #555;
	font-size: 14px;
	padding: 10px;
}

.date_list_2 .date_foot {
	color: #555;
	font-size: 14px;
	padding: 10px;
	text-align: right;
}



/*
３つのこだわり
-----------------------------------------------------------------*/
.kodawari_box {
	padding: 20px;
	font-family: "Inter","Noto Sans JP","Avenir","Helvetica Neue","Helvetica","Arial","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","游ゴシック","Yu Gothic","ＭＳ Ｐゴシック",sans-serif;
	color: #333;
}
.kodawari_box h3 {
	font-weight: bold;
	font-size: 22px;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 10;
	line-height: 1.8;
}

.kodawari_box h3 .bg_num {
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 180px;
	color: #FFE7B9;
	font-weight: bold;
	display: block;
	line-height: 1;
	z-index: -1;
}
.kodawari_box h3 .i_con {
	background: rgb(255,128,0);
background: -moz-linear-gradient(90deg, rgba(255,128,0,1) 10%, rgba(255,162,0,1) 80%);
background: -webkit-linear-gradient(90deg, rgba(255,128,0,1) 10%, rgba(255,162,0,1) 80%);
background: linear-gradient(90deg, rgba(255,128,0,1) 10%, rgba(255,162,0,1) 80%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff8000",endColorstr="#ffa200",GradientType=1);
	display: inline-block;
	background-color: #F90;
	color: #FFF;
	margin-right: 5px;
	margin-left: 5px;
	padding-top: 2px;
	padding-right: 5px;
	padding-bottom: 2px;
	padding-left: 5px;
}
.kodawari_box h3 .h3_sub {
	font-size: 80%;
}
.kodawari_box h3 strong {
	font-size: 180%;
}

.kodawari_box p {
	line-height: 2;
	margin-bottom: 50px;
}


/*
文字アニメーション-----------*/
.anm_title {
	line-height: 1.2;
	overflow: hidden;
	font-size: 78px;
	font-weight: 700;
}

.anm_title span {
	display: inline-block;
}

.anm_title .effect {
	transform: translateY(50px);
	-webkit-transform: translateY(50px);  
    -moz-transform: translateY(50px);
	-webkit-transition: 0.5s ease-out;
	-moz-transition: 0.5s ease-out;
	transition: 0.5s ease-out;
}


/*
画像アニメーション----------*/
.anm_img {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	object-fit: cover;
	max-height: 600px;
	object-position: 50%;
}

.anm_img.effect {
	transform: translateY(0px);
	-webkit-transform: translateY(0px);  
    -moz-transform: translateY(0px);
}
.anm_img img {
	max-width: 100%;
	filter: brightness(200%) sepia(100%);
	transition: 1.0s ease-out;
	transition-delay: 2.0s;
}
.anm_img.start img {
	max-width: 100%;
	filter: brightness(100%) sepia(0%);
}
.anm_img::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	display: block;
	content: "";
	z-index: 1;
	-webkit-transition: 0.35s ease-in;
	-moz-transition: 0.35s ease-in;
	transition: 0.35s ease-in;
	transition-delay:1.8s;
	-webkit-transition-delay:1.8s;
	transition: 0.6s cubic-bezier(.95, .05, .795, .035);
}

.anm_img.start::before {
	top: 100% !important;
}




/*
無限ループ
-----------------------------------------------------------------*/

.loop_wrap_base {
	width: 100%;
	height: auto;
	overflow: hidden;
	padding-bottom: 30px;
}

.loop_wrap {
  display: flex;
  width: 220%;
  height: auto;
}

.loop_wrap ul {
  width: 100%;
  height: auto;
  display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.loop_wrap ul li {
	width: 20%;
}

.loop_wrap ul li a {
	display: block;
	text-decoration: none;
	color: #555;
	text-align: center;
	line-height: 1.6;
	font-size: 14px;
	position: relative;
}
.loop_wrap ul li a img {
	width: 100%;
	display: block;
	margin-bottom: 5px;
}

.loop_wrap ul li a span {
	display: inline-block;
	background-color: #36BEAD;
	color: #FFF;
	font-size: 12px;
	position: absolute;
	top: 0;
	left: 0;
	padding: 5px;
	letter-spacing: 1px;
	z-index: 10;
}

.loop_wrap ul li a span.cl_2 {
	background-color: #333;
}

.loop_wrap ul li a span.cl_3 {
	background-color: #FF9900;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.loop_wrap ul:first-child {
  animation: loop 50s -25s linear infinite;
}

.loop_wrap ul:last-child {
  animation: loop2 50s linear infinite;
}

.loop_wrap:hover ul {
  animation-play-state: paused;
}




@media screen and (max-width:1200px){
.btn_hanami a {
    margin-right: 10px;
    margin-left: 10px;
}
.btn_hanami.sw a {
	max-width: 100%;
}
.hanami_head h2 {
	left: 7%;
	width: 86%;
	font-size: 5vw;
	margin-left: 0;
}
.hanami_cont h2.midashi {
	font-size: 5vw;
}
.hanami_cont h2.midashi strong {
	font-size: 6vw;
}
.box_half {
	padding: 1em;
}
.box_half .cont_txt h3 {
	font-size: 3vw;
}
.box_half .cont_txt p {
	padding-top: 8em;
	font-size: 2vw;
}
.btn_box h2 {
	font-size: 5vw;
}
.gimon dt {
	font-size: 4vw;
}
.hanami_cont.cl_2 h2 {
	font-size: 5vw;
}
.hanami_cont.cl_2 h2.blk {
	font-size: 8vw;
	padding-left: 0;
	padding-right: 0;
}
.main_cont h3.h3_center {
	font-size: 4vw;
	padding-left: 0;
	padding-right: 0;
}
.hanami_cont.cl_2 h2.blk.sml {
	font-size: 7vw;
	white-space: nowrap;
}
.main_cont h3.h3_center.sml {
	font-size: 3vw;
}
.add {
	font-size: 3vw;
}
.clm_1 .add {
	font-size: 4vw;
}
}/*(/～1200)*/

@media screen and (max-width:640px){

.loop_wrap {
  width: 400%;
}

.date_list .date_txt,
.date_list_2 .date_txt {
	font-size: 18px;
}

.date_list .date_head {
	font-size: 22px;
	width: 80px;
}

.add {
	font-size: 4vw;
}
.btn_hanami a {
	font-size: 20px;
}
.top_hanami .card_base.line_5,
.hanami_cont .card_base.line_5 {
	width: 960px;
}
.top_hanami .card_base.line_5 .card_btn a,
.hanami_cont .card_base.line_5 .card_btn a {
	font-size: 12px;
    width: 98%;
}
.top_hanami .card_base.line_5 .card_btn a i,
.hanami_cont .card_base.line_5 .card_btn a i {
	font-size: 14px;
}
.box_half {
	padding-left: 0;
	padding-right: 0;
}

.box_half .cont_txt h3 {
	font-size: 3.6vw;
	width: 65%;
	padding-left: 0.5em;
	padding-right: 0.5em;
}
.box_half .cont_txt p {
	padding-top: 6em;
	font-size: 3.2vw;
	line-height: 1.6;
}
.ccard h3 {
	font-size: 3vw;
}
.gimon dd {
	font-size: 18px;
	padding: 20px;
}
p.p_logo {
	font-size: 4vw;
}
p.p_logo img {
	max-width: 65%!important;
}
.img_glry img {
  aspect-ratio: 1 / 1;
}
.img_4box li span {
	width: 38px;
	line-height: 28px;
	font-size: 16px;
}
.status {
	font-size: 3.5vw;
}

.status img {
	width: 33%;
}
.kaika_2l p {
	font-size: 18px;
}
.box_flex .kaika_2l .status {
	width: 100%;
}

/*
テーブル（スマホ用）*/


table.table_04 th {
	display: block;
	border-bottom: none;
	padding-bottom: 0px;
}

table.table_04 td {
	display: block;
}


table.table_05 th,
table.table_05 td {
	padding: 10px;
	line-height: 1.5;
}
table.table_05 th {
	font-size: 14px;
	width: auto;
}

table.table_07 th,
table.table_07 td {
	display: block;
}

table.table_07 th {
	border-right: none;
	border-bottom: none;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
}
table.table_07 td {
	padding-top: 0px;
	padding-left: 18px;
	padding-right: 0px;
	padding-bottom: 10px;
}

table.table_08 tr {
	display: flex;
	flex-wrap: wrap;
}

table.table_08 th {
	width: 45%;
}
table.table_08 td {
	width: 55%;
}
table.table_08 th {
	font-size: 15px;
	padding-left: 5px;
	padding-right: 5px;
}

table.table_08 th i {
	width: 30px;
	font-size: 16px;
}
table.table_08 td {
	font-size: 15px;
}

/*
３つのこだわり（スマホ用）
------------------------------*/
.kodawari_box {
	padding: 0px;
}

.kodawari_box h3 .bg_num {
	font-size: 100px;
}

.kodawari_box h3 {
	font-size: 18px;
}

.kodawari_box h3 strong {
	font-size: 150%;
}

.anm_title {
	font-size: 38px;
}

}/*(/～640)*/


/*
アイコンボックス
----------------------------------*/

.iconbox {
	margin-top: 30px;
	/*margin-bottom: 30px;*/
	position: relative;
	border-width: 2px;
	border-style: solid;
	/*padding-top: 30px;*/
	padding-top: 0px;
	padding-right: 20px;
	/*padding-bottom: 30px;*/
	/*padding-bottom: 0px;*/
	padding-left: 20px;
}

.iconbox.n_01 {
	border-color: #F2AA51;
}

.iconbox.n_02 {
	border-color: #98D485;
}

.iconbox.n_03 {
	border-color: #E26965;
}

.iconbox.n_04 {
	border-color: #6293C7;
}

.iconbox.n_05 {
	border-color: #F2DB5A;
}

.iconbox.n_06 {
	border-color: #85878A;
}

.iconbox.n_07 {
	border-color: #84AAD3;
}

.iconbox.n_08 {
	border-color: #3D8AC9;
}

.cl_pink .iconbox.n_08 {
    border-color: #F66697;
}

.iconbox::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 24px;
	color: #FFF;
	position: absolute;
	top: -20px;
	left: 20px;
	width: 40px;
	line-height: 40px;
	display: block;
	border-radius: 20px;
	text-align: center;
}

.iconbox.n_08::before {
	display: none;
}

.iconbox.n_08 span.icon {
	font-size: 18px;
	font-weight: bold;
	color: #FFF;
	position: absolute;
	top: -20px;
	left: 20px;
	line-height: 40px;
	padding-left: 10px;
	padding-right: 10px;
	display: inline-block;
	border-radius: 10px;
	background-color: #3D8AC9;
}

.cl_pink .iconbox.n_08 span.icon {
	background-color: #F66697;
}

.iconbox.n_01::before {
	background-color: #F2AA51;
	content: "\f0eb";
}

.iconbox.n_02::before {
	background-color: #98D485;
	content: "\f00c";
}

.iconbox.n_03::before {
	background-color: #E26965;
	content: "\f00d";
}

.iconbox.n_04::before {
	background-color: #6293C7;
	content: "\3f";
}

.iconbox.n_05::before {
	background-color: #F2DB5A;
	content: "\f071";
}

.iconbox.n_06::before {
	background-color: #85878A;
	content: "\f52d";
}

.iconbox.n_07::before {
	color: #84AAD3;
	background-color: #FFF;
	font-family: "ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS Pgothic","Osaka",sans-serif,Helvetica, Helvetica Neue, Arial, Verdana;
	content: "お知らせ";
	font-size: 22px;
	width: auto;
	padding-left: 10px;
	padding-right: 10px;
}



/*
吹き出しコンテンツ
--------------------------------------------------*/

.balloon_l,
.balloon_r{
  margin: 30px 0;
  display:flex;
  justify-content: flex-start;
  align-items: flex-start;
/*   align-items: center; */
}
.balloon_r{
  justify-content:flex-end;
}
.faceicon img{
  width: 80px;
  height: auto;
  border-radius: 50%;
  max-width: inherit !important;
}
.balloon_r .faceicon{
  margin-left:25px;
}
.balloon_l .faceicon{
  margin-right:25px;
}
.balloon_r .faceicon{
  order:2 !important;
}
.bl_cont {
  max-width: 500px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding: 17px 13px 15px 18px;
  border-radius: 12px;
  background-color: #FFF;
  box-sizing:border-box;
  margin:0 !important;
  line-height:1.5;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
/*   align-items: center; */
}

.clm_1 .bl_cont {
  max-width: 800px;
}
.bl_cont p{
  margin:8px 0 0 !important; 
}
.bl_cont p:first-child{
  margin-top:0 !important;
}

.bl_cont::before,
.bl_cont::after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
/*   margin-top:-3px;  */
}
.balloon_l .bl_cont::before {
  left: -30px;
  border-right: 22px solid #BBB;
}
.balloon_r .bl_cont::before {
  right: -30px;
  border-left: 22px solid #BBB;
}

.balloon_l .bl_cont::after {
  left: -28px;
  border-right: 22px solid #FFF;
}
.balloon_r .bl_cont::after {
  right: -28px;
  border-left: 22px solid #FFF;
}

/*
2502追記　TABINAカードリスト
--------------------------------------------------*/
.card_list_base {
	border: 3px solid #F56094;
	padding: 15px;
	background-color: #EEE;
	margin-bottom: 30px;
}
.card_list_base.cl_2 {
	border-color: #C94EE6;
}
.card_list_base.cl_3 {
	border-color: #3882D9;
}

.card_list_base h2 {
	background-color: #F56094;
	color: #FFF!important;
	padding: 20px 10px!important;
	line-height: 1.8!important;
}
.card_list_base.cl_2 h2 {
	background-color: #C94EE6;
}
.card_list_base.cl_3 h2 {
	background-color: #3882D9;
}

.card_list {
	background-color: #FFF;
	margin-bottom: 30px;
	position: relative;
}
.card_list.lock::before {
	content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.55);
	z-index: 10;
	top: 0;
	left: 0;
}

.card_list.lock p.lock_txt {
	color: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 20;
	letter-spacing: 0.1em;
}

.card_list::after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

.card_list .c_num {
	background-color: #BCB8BA;
	padding: 10px;
}

.card_list .c_num span {
	display: inline-block;
	border: 1px solid #333;
	padding: 0 5px;
	margin: 0 5px;
}
.card_list .cont_l {
	float: left;
	width: 35%;
	padding: 10px;
}

.card_list .cont_r {
	float: right;
	width: 65%;
	padding: 10px;
}

.card_list .cont_r h3 {
	color: #F56094;
	margin: 0;
	padding: 10px;
	line-height: 2;
	font-size: 18px;
	font-weight: bold;
}
.card_list_base.cl_2 .card_list .cont_r h3 {
	color: #C94EE6;
}
.card_list_base.cl_3 .card_list .cont_r h3 {
	color: #3882D9;
}

.card_list .cont_r ul {
	margin-bottom: 10px;
}
.card_list .cont_r ul li {
	border-bottom: dotted 1px #333;
	padding: 5px;
	color: #555;
}
.card_list .cont_r ul li i {
	font-size: 22px;
	display: inline-block;
	width: 50px;
	text-align: center;
}

.card_list .cont_r .btn a {
	display: block;
	margin: 10px auto;
	width: 80%;
	min-width: 300px;
	text-align: center;
	background-color: #F56094;
	color: #FFF;
	border: 2px solid #FFF;
	text-decoration: none;
	padding: 10px;
}
.card_list_base.cl_2 .card_list .cont_r .btn a {
	background-color: #C94EE6;
}
.card_list_base.cl_3 .card_list .cont_r .btn a {
	background-color: #3882D9;
}

.card_list .cont_r .btn a i {
	margin-left: 10px;
}

.card_list .cont_r .btn a:hover {
	color: #F56094;
	background-color: #FFF;
	border-color: #F56094;
}
.card_list_base.cl_2 .card_list .cont_r .btn a:hover {
	color: #C94EE6;
	background-color: #FFF;
	border-color: #C94EE6;
}
.card_list_base.cl_3 .card_list .cont_r .btn a:hover {
	color: #3882D9;
	background-color: #FFF;
	border-color: #3882D9;
}

/*
slickスライダー
--------------------------------------------------*/

.slk_slide{
  width: 100%;
  margin:0 auto;
}
.slk_slide img{
	width:100%;
}

.slk_slide .slick-slide{
	height:auto!important;
}
.slk_slide .slick-next{
    right:0!important;
}
.slk_slide .slick-prev{
    left:0!important;
}
.slk_slide .slick-arrow{
    width: initial!important;
    height: initial!important;
    z-index:2!important;
}
.slk_slide .slick-arrow:before{
    font-size: 30px!important;
}

@media screen and (max-width:640px){
.card_list .cont_l,
.card_list .cont_r {
	float: none;
	width: 100%;
}
.card_list .cont_r h3 {
	line-height: 1.5;
}
}

/*---------- タイムライン ----------*/

.tl_select_base {
	text-align: center;
}
.tl_select_base p {
	margin-bottom: 0px;
}
.tl_select_base select {
	font-size: 18px;
	padding: 5px;
	margin-bottom: 10px;
}
.timeline {
    width: 100%;
	padding: 20px;
}

.timeline li {
	clear: both;
}

.timeline li .tl_time {
	font-size: 16px;
	color: #09C;
	margin-top: -8px;
}

.timeline li .tl_content {
	position: relative;
	padding-right: 10px;
	padding-bottom: 30px;
	padding-left: 20px;
	font-size: 15px;
	border-left-width: 2px;
	border-left-style: dashed;
	border-left-color: #0098DC;
	color: #333;
}

.timeline li .tl_content .tl_title {
	font-weight: bold;
	font-size: 18px;
	color: #111;
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #333;
}

.timeline li .tl_content.c_02 .tl_title {
	color: #09C;
	border-bottom: none;
}

.timeline li .tl_content p {
	margin-top: 10px;
	margin-bottom: 10px;
}

.timeline li .tl_content::before {
    font-family: "Font Awesome 5 Free";
	content: "\f3c5";
	color: #09C;
	background-color: #FFF;
    position: absolute;
    top: 0;
    left: -15px;
	width: 30px;
	text-align: center;
	font-size: 28px;
	font-weight: 900;
}

.timeline li .tl_content.c_02::before {
	content: "\f111";
	font-size: 22px;
}

.timeline li:last-child .tl_content {
    border-left: none;
}


/*
余白調整
-------------------------------------------*/
.blank500{
	margin-top: 500px;
}
.blank300{
	margin-top: 300px;
}
.blank200{
	margin-top: 200px;
}
.blank100{
	margin-top: 100px;
}
.blank50{
	margin-top: 50px;
}
.blank25{
	margin-top: 25px;
}
.blank15{
	margin-top: 15px;
}
.blank10{
	margin-top: 10px;
}
.blank5{
	margin-top: 5px;
}
.blank2{
	margin-top: 2px;
}
.blank1{
	margin-top: 1px;
}

/*
グーグルマップ
-------------------------------------------*/

.g_map_base {
	background-color: #E2E0DC;
	padding: 20px;
}

.g_map {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.g_map iframe,
.g_map object,
.g_map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.g_map_base img {
	width: 100%;
}
