@charset "UTF-8";

body{
	font-size:1.0rem;
	line-height:1.75em;
	background-image: url(../images/bg-img.jpg);
	background-size: cover;
	background-attachment: fixed;
	background-position: top center;
	color: black;
}

a{
	color: #808080;
	text-decoration: none;
}

a:hover{
	color:#808080;
	text-decoration: underline;
}

img{
	max-width: 100%;
}

#header{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	background-color:rgba(255,54,79,0.80);
	/*background-color:rgba(36,48,98,0.80);*/
	z-index: 50;
	color:#fff;
}

/*#header:after{
	content:"";
	display:block;
	height:5px;
	width:100%;
	
	background:#808080;
}*/

#header div.wrap{
	width:960px;
	margin:0 auto;
}

#header div.table-parent{
	display:table;
	width:100%;
}

#header div.table-parent h1{
	display:table-cell;
	width:240px;
	vertical-align: top;
}

#header div.table-parent h1 a{
	display:block;	
	box-sizing: border-box;
	padding:5px;
}

#g-navi{
	display:table-cell;
	width:720px;
	vertical-align: top;
}

#g-navi ul{
	font-size:0;
	line-height:1.0em;
}

#g-navi li{
	display:inline-block;
	width: calc(100% / 8);
	text-align: center;
	/*color:#fff;*/
	color:#fff;
	font-size:0.8rem;
	line-height:1.0em;
	font-weight:bold;	
	box-sizing: border-box;
	padding:30px 0;
	/*border-right:solid 1px #243062;*/
	border-right:solid 1px #fd7384;
}

#g-navi li:first-child{
	/*border-left:solid 1px #243062;*/
	border-left:solid 1px #fd7384;
}

#g-navi li span.eng{
	display:block;
	font-size:0.6rem;
	line-height:1.0em;
	font-weight:normal;
	letter-spacing: 0.1em;
	/*color:#fff;*/
	color:#fff;
	margin-top:10px;
}

#g-navi li a{
	display:block;
	/*color:#fff;*/
	color:#fff;
}

#g-navi li:hover{
	/*background-color:#243062;*/
	background-color:#fff;
	color:#ff364f;
	cursor: pointer;
}

#g-navi li:hover a{
	color:#ff364f;
	text-decoration: none;
}

#g-navi li:hover span.eng{
	color:#ff364f;
	text-decoration: none;
}

#contents h2{
	text-align: center;
	box-sizing: border-box;
	padding:40px 0 20px 0;
	/*color:#bda55d;*/
	color:#000;
	font-weight:bold;
	font-size:1.5rem;
	line-height:1.0em;
	max-width:960px;
	margin:0 auto 20px auto;
	/*border-bottom: solid 2px #bda55d;*/
	border-bottom: solid 1px #000;
  position: relative;
}

#contents h2:after {
  position: absolute;
  content: " ";
  display: block;
  /*border-bottom: solid 2px #ba8e59;*/
	border-bottom: solid 1px #ff364f;
  bottom: -1px;
  width: 30%;
}


#contents h2 span.eng{
	/*display:block;*/
	font-size:0.6rem;
	line-height:1.0em;
	font-weight:normal;
	letter-spacing: 0.1em;
	/*color:#808080;*/
	color:#000;
	/*margin-top:10px;*/
	margin-left:10px;
}

#contents h2::first-letter {
  color: #ff364f;
  
}

#contents div.btn-detail{
	width:240px;
	margin:20px auto;
	text-align: center;
	
	box-sizing: border-box;
	padding:5px;
	/*border:solid 1px #243062;	
	background-color:#243062;*/
	border:solid 1px #ff364f;	
	background-color:#ff364f;
	color:#fff;
}

#contents div.btn-detail:hover{
	/*background-color:#111d53;*/
	background-color:#fff;
}

#contents div.btn-detail a{
	display:block;
	color:#fff;
}

#contents div.btn-detail:hover a{
	/*color:#fff;*/
	color:#ff364f;
	text-decoration: none;
}

#contents div.btn-detail a:before{
	content: '>';
	box-sizing: border-box;
	padding:0 5px;
}

#contents div.btn-detail span.note{
	font-size:0.6rem;
	line-height:1.0em;
}

#contents div.btn-detail span.note:before{
	content: '（';
}

#contents div.btn-detail span.note:after{
	content: '）';
}

#contents ul.pager{
	text-align: center;
	box-sizing: border-box;
	padding:10px 0;
	
	font-size:0;
	line-height:1.0em;
}

#contents ul.pager li{
	display:inline-block;
	margin:0 5px;
	font-size:1.0rem;
	line-height:35px;
	font-weight:bold;
	width:35px;
	height:35px;
	background-color:#fff;
	color:#ff6600;
	box-sizing: border-box;
	border:solid 1px #ff6600;
	border-radius:2.5px;
}

#contents ul.pager li.active{
	background-color:#ff6600;
}

#contents ul.pager li:hover{
	background-color: pink;
	cursor: pointer;
}

#contents ul.pager li.active a{
	color:#fff;
}

#contents ul.pager li a{
	display:block;
	color:#ff6600;
}

#contents ul.pager li a:hover{
	color:#fff;
	text-decoration: none;
}

#footer{
	width:100%;
	/*background-color:#000;*/
	background-image: url(../images/blue.jpg);
	background-size: cover;
	text-align: center;
	box-sizing: border-box;
	padding:20px 0 40px;
	color:#fff;
}

#footer:before{
	content:"";
	display:block;
	height:1px;
	width:100%;
	background:#fff;
}

#footer p.logo{
	width:280px;
	margin:20px auto 0;
}

#footer p.logo a{
	display:block;
}

#footer p.logo img{
	width:100%;
	vertical-align: bottom;
}

#footer p.contact{
	width:380px;
	margin:0 auto 20px;
}

#footer p.contact img{
	width:100%;
	vertical-align: bottom;
}

#f-navi{
	text-align: center;
}

#f-navi ul{
	font-size:0;
	line-height:1.0em;	
	margin-bottom:10px;
}

#f-navi ul li{
	display:inline-block;	
	font-size:0.6rem;
	line-height:1.0em;
}

#f-navi li::after{
	content: '-';
	box-sizing: border-box;
	padding:0 5px;
}

#f-navi li:last-child:after{
	content: '  ';
}

#f-navi ul li a{
	color:#fff;
}

#footer address{
	font-size:0.6rem;
	line-height:1.0em;	
	box-sizing: border-box;
	padding:10px 0;
}

.slider-content div.prev{
	position: absolute;
	top:0;
	left:-20px;	
	width:50px;
	height:100%;	
	box-sizing: border-box;
	padding-bottom:10px;	
	z-index: 10;	
	opacity: 0.8;
}

.slider-content div.prev:hover{
	cursor: pointer;
}

.slider-content div.prev span.ol{
	display:block;
	position: relative;
	width:100%;
	height:100%;
}

.slider-content div.prev img{
	width:100%;
	vertical-align: bottom;
	
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

.slider-content div.next{
	position: absolute;
	top:0;
	right:-20px;
	
	width:50px;
	height:100%;
	
	box-sizing: border-box;
	padding-bottom:10px;
	
	z-index: 10;
	
	opacity: 0.8;
}

.slider-content div.next:hover{
	cursor: pointer;
}

.slider-content div.next span.ol{
	display:block;
	position: relative;
	width:100%;
	height:100%;
}

.slider-content div.next img{
	width:100%;
	vertical-align: bottom;
	
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

/*20230620追記*/
    .text_over {
      background-color: #fff;
      font-size: small;
      text-overflow: ellipsis;
      -webkit-text-overflow: ellipsis; /* Safari */
      -o-text-overflow: ellipsis; /* Opera */
      overflow: hidden;
      white-space: nowrap;
      text-align: center;
      /*color:#902030;*/
		color:#ff364f;
    }

    .text_over{
      box-sizing: border-box;
      padding: 0px 2px;
    }

    ul.traiticon{
      display: flex;
      flex-flow: row wrap;
      align-items: stretch;
      margin-bottom: 4px;
    }
    ul.traiticon li{
      width:33.333%;
      width:calc(100% / 3);
      text-align:center;
      font-size:0.8em;
      box-sizing: border-box;
      padding: 1px;
    }
    ul.traiticon .trait{
      display:block;
      width:100%;
      border:1px solid #243062;
      border-radius:2px;
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap;
      box-sizing: border-box;
      padding: 0px 2px;
      background-color:#243062;
      color:#fff;
    }

