@charset "utf-8";
* {
	padding: 0;
	list-style-type: none;
	margin: 0;
	}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	  }
	  
body {
	text-align: center;
	-webkit-text-size-adjust : 100%;
　/*追加*/
	font-size: 100%;
	font: 100% "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	overflow-x: hidden; /*sp 横ズレ防止*/
	}
	
/* 背景固定
body {
	background-image: url("images/2021_head_img.jpg");
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-position: right top;
	}*/

a { color: #06C; }

a:hover,a:hover img {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	text-decoration: none;
	}
img {
	border: none;
	max-width : 100% ;　/*追加*/
	height : auto ;　/*追加*/
	vertical-align:top;　/*隙間対応*/
	}
h3 {
	margin-bottom: 0.5em;
	line-height: normal;
	font-weight:600;
	}
h4 {
	vertical-align: middle;/*加える*/
	line-height: normal;
	}
p {
	margin-bottom: 1em;
	/*line-height: 1.8em;*/
	}
dt i, .arrow_box i {
	font-size: 1.8rem;/* 1.5vw*/
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	padding-right: 0.8rem;
	vertical-align: text-bottom;
	}
.col {
	color: #06C;
	}
.col-notice {
	color: #CC3333;
	}
.inline {
	display: inline;
	}
	
/* cover背景 */
#head-area {
	width: 100%;
	bottom: 0;
	background: url(../images/undersail2026_hero_backimg.jpg) no-repeat left center;
	animation-name: fadeIn; /*←@keyframesにも同じ名前を記述*/
	animation-duration: 4s; 
	animation-fill-mode: forwards; 	
	/*background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)), url(images/2021_head_img_r1.jpg) bottom ;*/
	background-size: cover;
	display: block;
	}

/* じわっと画像が表示される ---------　一度追加していたら不要*/
@keyframes fadeIn { /*上のbody内で呼び出しているアニメーションと名前をそろえる*/
    0% {opacity: 0} /* 始め */
    100% {opacity: 1} /* 終わり */
}
 
/*古いブラウザ用　---------　一度追加していたら不要*/
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
	
#headder {
	display: flex;
	justify-content: center;
	width:100%;
	background-color: rgba(0, 51, 102, 0.5);
	position: fixed;
	padding: 8px 40px;
	color:#FFF;
	z-index: 1;
 	}
	#headder-logo {
	}
	#headder-menu {
	}
	#headder-menu .headder-men-list {
	}
	#headder-menu .headder-men-list li {
	}
 
#head-wrap {
	display: flex;
	/*flex-wrap: wrap;*/
		display: -webkit-flex;
		flex-wrap: -webkit-wrap;
	/*justify-content: space-between;*/
	/*justify-content: center;*/
	align-items: stretch;
	line-height: 1.8rem;
	padding: 60px 0 0;
	max-width: 860px;
	margin: 0 auto;
	}
	
#head-wrap > li {
	/*flex: 0 1;
	align-self:flex-end;*/
	align-self:center;
	}
#head-wrap > li img {
	width:100%:
	max-width:100%;
	}


#head-wrap #text {
	/*flex: 1;*/
	/*margin: 1em;*/
    order: 1;　/*掲載順*/
	color: #FFF;
	text-align:left;
	/*padding:0 1.5rem;*/
	}


	
#text .detail {
	border-spacing: 0;
	border-radius: 4px;
	text-align:left;
	background-color: rgba(0,0,0, 0.3);
	/*bbackground-color: rgba(51,102,153,0.2);
	background-color: rgb(0 32 96 /0.5);*/
	font-size: .88rem;
	padding: 1.4em;
	border: 1px solid #FFF;	/*margin-top: -3em;*/
	color: ;
	color: #FFF;
	}
	#text .detail ul {
	display: flex;
	flexwrap: wrap;
	}
	#text .detail ul li {
	/*padding-top: 0.5em;*/
	padding-right: 1em;
	/*padding-left: 0.5em;*/
	}
	#text .detail ul li > .icon{
	line-height: normal;
	color: #FFF;
	border-radius: 4px;
	font-size: 0.94em;
	width: 4em;
	display: inline-block;
	text-align: center;
	margin-right: 0.5em;
	background: #036;
	}
	
#head-wrap #cover {
	/*order: 2;　掲載順*/
	}
#head-wrap #cover img {
	vertical-align:bottom;
	max-width:318px;
	height:auto;
	}
	
/* photo area 各月背景 */
#photo_area {
	max-width: 980px; /*pc*/
	bottom: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0),rgba(255, 255, 255, 1), rgba(0, 0, 0, 0)), url(../images/) top no-repeat;
	/*background: linear-gradient(to top, rgba(0, 0, 0, 0),rgba(71, 87, 87, 0.3), rgba(0, 0, 0, 0)), url(../images/) top no-repeat;*/
	display: block;
	margin: 0 auto;
	} 

#cont-area {
    display: flex;
    justify-content: space-between;
    max-width: 980px;
    margin: auto;
    padding: 0 auto 20px;
	 }

/*--- nav  ---*/  
#nav-wrap {
	flex-direction: row;
	 -webkit-flex-direction: row;
	/*background: #eee;*/
	border-radius: 4px;
	/*flex: 0 0 23.3333%;*/
	font-size: 1em;
	margin: 1em 0;
	/*position: -webkit-sticky;
	position: sticky;*/
	/*top: 10px;*/
	}

#nav-wrap .attention {
	border-radius: 4px;
	padding: 0.5em;
	color: #990000;
	background: #eee;
	text-align: left;
	border: 1px solid #CC9999;
	margin: 1em;
	font-size: 0.88em;
	line-height: normal;
	}
	#nav-wrap .attention > p {
	padding: 0.5em;
	margin: 0;
	}
	#nav-wrap .attention:before {
	content: '\f06a';
	margin-top: -0.6em;
	margin-left: -0.6em;
	position: absolute;
	font: 900 1.8em "Font Awesome 5 Free";
	color: #CC6666;
	}
	#nav {
	border-radius:2px;
	position: relative;
	display: -webkit-flex;
	display: flex;
	flex-wrap: -webkit-wrap;
	flex-wrap:wrap;
	/*justify-content: center;*/
	padding: 1em 0.5em 0.5em;
	}
	#nav .nav-hl {
	margin: 0 auto;
	/*color: #336699;*/
	}
	#nav a {
	/*border-radius: 4px;*/
	}
	#nav li {
	padding: 4px;
	font-style: normal;
	}
	/* order */
	#nav .nav-btn {
	border: 1px solid #FFFFFF;
	border-radius: 2px;
	width: 100%;
	margin: 0.5em auto;	
	display: flex;
	flex-direction: column;	
	}
	#nav .nav-btn li a {
	letter-spacing: 1px;
	padding: 1em 0.5em;
	text-decoration: none;
	border: 2px solid #719ECC;
	/*background:url(../images/icon_openwindow.png) top right no-repeat;*/
	gap:.5em;
	}

	
	/*_blankのときだけ*/
	#nav .nav-btn li a[target="_blank"] {
	background:url(../images/icon_openwindow.png) top right no-repeat;
	}
	
/*	Awesome仕様
	#nav .nav-btn li a[target="_blank"] {
	&:after {
    font-family: "Font Awesome 6 Free";
    content: "\f08e";
    font-weight: 900;
    margin: 0 0.25rem;
  }
}*/

	#nav .nav-btn .icon {

	}
	#nav .nav-btn .icon div {
	/*text-align: left;*/
	}
	.aw-icon {
	padding-top:4px;
		}
	#nav .subnav {
	display: block;
	font-size: 0.96em;
	padding: 1em 0;
	}
	#nav .subnav li {
	display: block;
	line-height: normal;
	text-align:left;
	}

	#nav .subnav li:before {
	font-family: "Font Awesome 5 Free";
	content: '\f35a';
	font-weight: 900;
	color: #0066CC;
	opacity:0.8;
	padding-right: 0.3em;
	}
/*--- /nav  ---*/

#cont-wrap {
	flex: 0 0 76.6666%;
	padding: 0 0 1rem 1rem;
	text-align: left;
	line-height: 2em;
	}
.contact {
	display: block;
	}
.contact li{
	display: block;
	}
	
.scroll {
	display:block;
	padding-top: 4rem;　/*★高さ相殺*/
    margin-top:-4rem;　/*★高さ相殺*/
	}	
	
.story {
	clear: both;
	margin-bottom: 3em;
	padding: 1em 1em 0;
    padding-top: 4rem;　/*★高さ相殺*/
    margin-top:-4rem;　/*★高さ相殺*/
	}
.story h3 {
	border-radius: 4px 4px 0 0;
	font-size: 1rem;
	line-height: normal;
	color: #FFF;
	text-align: center;
	background: #369;
	font-weight: normal;
	padding: 0.7em;
	margin: -0.9em -0.9em 2em;
	letter-spacing: 0.1em;
	}
.arrow_box {
	position: relative;
	border-radius: 4px;
	padding: 1em;
	text-align: center;
	color: #FFF;
	display: block;
	font-size: 1.125rem;
	background: #369;
	letter-spacing: 0.1em;
	margin: -0.5em -0.5em 2em;
	line-height: normal;
	}
.arrow_box:after {
	top: 100%;
	left: 50%;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-top-color: #369;
	margin-left: -12px;
	border-width: 12px;
	border-style: solid;
	border-right-color: rgba(136, 183, 213, 0);
	border-bottom-color: rgba(136, 183, 213, 0);
	border-left-color: rgba(136, 183, 213, 0);
	}
.story-in {
	/*margin-top: 1em;*/
	}
	.story-in dl {  }
	
	.story-in dl dt {
	font-size: 1.2em;
	display: flex;
	align-items: center;
	margin: 2em 0 1.5em 0;
	color: #0099FF;
	font-weight: bold;
	}
/*	.story-in  dl  dt > span {
	letter-spacing: 0.1em;
	vertical-align: middle;
	}*/

	.story-in dl dt:before, .story-in dl dt:after {
		content: "";
		flex-grow: 1;
		height: 2px;
		display: block;
		}
	.story-in dl dt:before {
		margin-right: .4em; /*ドットは基準値*/
		background: linear-gradient(-90deg, #69C, transparent);
		}
	.story-in dl dt:after {
		margin-left: .4em;
		background: linear-gradient(90deg, #69C, transparent);
		}	
	.story-in dl dd {
	margin-bottom: 3em;
	/*padding: 1em;*/
	}
	.story-in dd:last-child {
	margin-bottom: 1em ;
	}
	.story-in dl dd > .hl{
	text-indent: -0.5;
	padding: 0.2em 0;
	margin: -1em -1em 1.5em;
	letter-spacing: 0.1em;
	text-align: left;
	}

	.story-in .hl-icon {
	background-color: #69C;
	border-radius: 3px;
	color: #FFF;
	margin-right: 1em;
	font-weight: normal;
	line-height: 1em;
	font-size: 0.88em;
	padding: 0.5em 0.5em;
	display: inline-block;
	}
	.story-in .indent dd {
	margin-left: 1em;
	}
	.story > .attention p {
	border-radius: 4px;
	text-align: center;
	padding: 1em;
	border: 2px solid #009900;
	margin-bottom: 1em;
	color: #006600;
	}
	.opacity-area  { /*法人受付終了*/
	background: #FFFFFF;
	opacity:0.4;
	}
.clum2 {
	display: flex;
	border-collapse: separate;
	border-spacing: 10px;
  	justify-content: space-around;
	width: 100%;
	vertical-align: top;
	gap:1em;
	}
.clum2 > li {
	border-radius: 4px;
	vertical-align: top;
	width: 48%;
	margin:0.1em 0.1em 1em 0.1em ;
	}
	.clum2 li.box > h4{
	border-radius: 4px 4px 0 0;
	color: #FFF;
	text-align: center;
	font-size: 1em;
	margin: -1em -1em 1em;
	}
.notice_box {
	border-radius: 4px;
	border: 1px solid #cc6666;
	margin-bottom: 1.5em;
	margin-top: 1.5em;
	padding:.5rem;
	}
	.notice_box h4 {
	color: #CC0000;
	border-radius: 4px;
	font-weight: normal;
	line-height: normal;
	padding: 0.3em;
	display: block;
	text-align: center;
	font-size: 0.94em;
	background: #FFDBDB;
	}
	.notice_box p {
	padding: 0.5em;
	text-align: left;
	margin-bottom: 0;
	}
.tel_fax {
	font-size: 1.5em;
	color: #369;
	font-weight: bold;
	line-height: normal;
	vertical-align: baseline;
	padding-left: 1em;
	}
table.table-line  {
	font-weight: normal;
	margin-bottom: 1em;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
	border-spacing : 0;
    border-collapse : separate; 
	}
.table-line tr th {
	background: #CCE6FF;
	padding: 0.2em 1em;
	font-weight: normal;
	border-width: 1px;
	border-top-style: solid;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: solid;
	border-color: #CCC;
	}
.table-line tr td {
  padding: 0.2em 1em;
  border: solid 1px #CCC ;
  border-bottom-style: none;
	}
	
/* flexbox */
.flexbox {
	display: flex;
	justify-content: space-between;
	align-content: stretch;
	verflow: hidden; /*子要素を認識*/
	}
	.flexbox .nowrap {
	flex-wrap: nowrap;
	}
	.flexbox li {
	}
	.flexbox li img {
	}
	.flex-item1 { flex-basis: auto; }
	.flex-item2 { flex-basis:40%; }
	.flex-item3 { flex-basis:30%; }
	
	
.pad {
	margin-bottom: 1em;
	margin-top: 1em;
	display: block;
	}
.box {
	border-radius: 4px;
	border: 1px solid #CCC;
	margin-bottom: 2em;
	padding: 1em;
	}
.box .hl {
	border-radius: 4px 4px 0 0;
	display: block;
	color: #FFF;
	font-weight: normal;
	font-size: 1em;
	padding: 0.2em 1em;
	margin: -1em -1em 1em;
	text-align: center;
	background: #666;
	}
.inline {
	display: inline-block;
	}
.icon {
  display: flex;
  flex-direction:column;
  align-items:stretch;
	}
.icon > div {
	flex-item: 1;
	vertical-align: middle;
	}
.icon1:before{
    display: block;
    margin-right: 1em;
    width: auto;
	}
.caption {
	background: #eee;
	border-radius: 4px;
	padding: 1em;
	margin-top: 1em;
	font-size: 0.875rem;
	}
.caption li {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 0;
	}
.txt_small {
	font-size: 0.88em;
	}
.linkbtn-box {
	border-radius: 8px;
	text-align: center;
	display: block;
	padding: 1em;
	margin-bottom: 1em;
	margin-right: auto;
	margin-left: auto;
	background: #E4EDF5;
	border: 1px none #ADC8E0;
	}
.linkbtn-fax a,.linkbtn-mail a {
	background-color: #FFF;
	border: 4px solid #A4E1FF;
	color: #09C;
	display: inline-block;
	margin:1em;
	}
.linkbtn-fax a {
	border-radius: 4px;
	font-size: 1.1em;
	background-repeat: no-repeat;
	background-position: 10px;
	text-decoration: none;
	line-height: normal;
	background-image: url(../images/btn_fax_backimg.png);
	padding: 16px 20px 16px 90px;
	}
.linkbtn-mail a {
	border-radius: 4px;
	font-size: 1.1em;
	background-image: url(../images/btn_mail_backimg.png);
	background-repeat: no-repeat;
	background-position: left;
	text-decoration: none;
	line-height: normal;
	padding: 16px 20px 16px 80px;
	}
.shadow_box {
	background-image:-moz-linear-gradient(top, #F3F4F5, #C8C9CA);
	background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#F3F4F5), to(#C8C9CA), color-stop(1,#C8C9CA));
	box-shadow: 4px 4px 4px rgba(0,0,0,0.25);
	/*対策*/
	-moz-box-shadow: 4px 4px 4px rgba(0,0,0,0.25);
	-webkit-box-shadow: 4px 4px 4px rgba(0,0,0,0.25);
	}
	
.pageup {
	text-align: right;
	}
	
/*--- page scroll ---*/
#page-top {
	position:fixed;
	bottom:0;
	margin-bottom: 20px;
	right:20px;
	font-size:0.88em;
	z-index:10;
	width: 80px;
	}
	#page-top a {
	border-radius: 5px;
	color: #fff;
	display: block;
	opacity: 0.5;
	text-align: center;
	text-decoration: none;
	background-attachment: scroll;
	background-color: #036;
	background-image: none;
	background-repeat: repeat;
	background-position: 0 0;
	padding: 20px;
	}
	#page-top a:hover {
	background:#999;
	}

#foot {
	width: 100%;
	font-size: 0.8em;
	padding: 1em;
	display: block;
	}
	
	
  .pc { display:inline !important; }
  .sp { display:none !important; }

.clearfix {
	display: block;
	}
	
