@charset "utf-8";

/*基礎*/
html{overflow-x: hidden; font-size:10px;font-family:sans-serif;}
body{font-family:sans-serif;overflow-x: hidden;}

section.top{width:100%;}
section.TOP-slide{width:1250px; margin-left:auto; margin-right:auto;}
@media screen and (max-width: 1250px) {section.TOP-slide{width:100%;}}

section.main{max-width:980px; margin-left:auto; margin-right:auto;}
@media screen and (max-width: 1250px) {section.main{width:98%;}}

div.width{max-width:1250px; margin-left:auto; margin-right:auto;}
	@media screen and (max-width: 1250px) {div.width{width:98%;}}


section.top-main{width:1200px; margin-left:auto; margin-right:auto;}
	@media screen and (max-width: 1250px) {section.top-main{width:98%;}}

div.top-width{max-width:1200px; margin-left:auto; margin-right:auto;}
@media screen and (max-width: 1250px) {div.width{width:100%;}}


main{min-height: 950px; height: 100%;}

@media screen and (max-width: 1251px) {.pcdiv{display:none;}}

@media screen and (min-width: 1250px) {.spdiv{display:none;}}



/*ナビ*/
nav.gnavi-wrapp{height: 50px;
	width:100%;
  background-color: red;
	margin:0px;}
@media screen and (max-width: 1251px) {.gnavi-wrapp{display:none;}}

.gnavi-inner {height: 50px;
 margin:0;
 background-color:whitesmoke;
}

.gnav{
  max-width:1251px;
  list-style-type: none;
  height: 50px;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  background-color:yellow;
}
.gnav li{
  position: relative;
  width:200px;
  float: left;
  margin-top: 0;
  margin-bottom: 0;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  text-align: center;
	color:black;
}

.gnav li a{color:black;
  display: block;
  margin: 0 auto;
  padding: 10px 0;
  font-size: 16px;
  line-height: 30px;
  background-color:whitesmoke;
text-decoration:none;}

.gnav li ul{margin: 0;
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
	line-height: 0px;
	color:black;
}

.gnav li ul li{margin: 0;
  overflow: hidden;
  width: 100%;
  height: 0;
	line-height: 0px;
  color: #fff;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
  z-index:1000;
}
.gnav li ul li a{color:black;
  padding: 13px 15px;
  background: whitesmoke;
  text-align: left;
  font-size: 16px;
  font-weight: normal;
  z-index:1000;
	margin: 0;
}
.gnav li:hover > a{
  background: #D30000;
  color: white;
  border-bottom: solid 0px #D30000;
	text-decoration:none;
}
.gnav li:hover ul li{margin: 0;
  overflow: visible;
  height: 50px;
  border-bottom: 0px solid #fff;
	background-color: #1F295D;
}
.gnav li:hover ul li:hover> a{
	background-color: #1F295D;
}


.gnav li:hover ul li:first-child{
	 border-top:0;
}
.gnav li:hover ul li:last-child{
  border-bottom: 0;
}
@media screen and (max-width: 1251px) {.gnav{display:none;}}



/*タイトル*/
h1 {font-size:3.6rem; padding:1.5rem; text-align:center; color:#1D1D40;}
h2 {font-size:2.0rem; border-bottom: 3px solid #D30000; margin:20px 0px; color:#1D1D40; padding-bottom:5px;}

h3 {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.8rem;
  color: #1D1D40;
	line-height: 1.8;
}

h3::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 7px;
  background-color: #D30000;
  border-radius: 3px; /* ← これで角丸に */
}

h4{font-size:1.6rem; font-weight:bold; margin:15px 0px; color:#D30000;}
h5 {font-size:1.4rem;
  position: relative;
  display: inline-block;
  padding: 5px 5px 5px 30px;
  color: #fff;
  border-radius: 100vh 0 0 100vh;
  background: #D30000;
}

h5:before {
  position: absolute;
  top: calc(50% - 5px);
  left: 10px;
  width: 10px;
  height: 10px;
  content: '';
  border-radius: 50%;
  background: #fff;
}
h6{font-size:1.2rem; font-weight:bold;padding:5px;}
p{font-size:1.6rem; line-height:1.5; color:#1D1D40;}


/*マージン*/
.divcenter{
  width: 100%;
  margin: 0 auto;}

.mt0{margin-top:0px;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.mt100{margin-top:100px;}
.mt120{margin-top:120px;}
.mt200{margin-top:200px;}


.mb0{margin-bottom:0px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mb100{margin-bottom:100px;}
.mb120{margin-bottom:120px;}
.mb200{margin-bottom:200px;}


.mr0{margin-right:0px;}
.mr10{margin-right:10px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px;}
.mr60{margin-right:60px;}
.mr100{margin-right:100px;}
.mr120{margin-right:120px;}
.mr200{margin-right:200px;}


.ml0{margin-left:0px;}
.ml10{margin-left:10px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}
.ml50{margin-left:50px;}
.ml60{margin-left:60px;}
.ml100{margin-left:100px;}
.ml120{margin-left:120px;}
.ml200{margin-left:200px;}



/*文字サイズ*/
.t8{font-size:8px;}
.t10{font-size:10px;}
.t12{font-size:12px;}
.t14{font-size:14px;}
.t16{font-size:16px;}
.t18{font-size:18px;}
.t20{font-size:20px;}
.t30{font-size:30px;}
.t40{font-size:40px;}
.t60{font-size:60px;}
.t80{font-size:80px;}
.t100{font-size:100px;}
.t120{font-size:120px;}
.t150{font-size:150px;}
.t200{font-size:200px;}







/*レイアウト*/
/* dl [50/50 枠なし色なし] */
dl.dl50{
	display:flex;
	flex-wrap:wrap;
	border:0px solid #fff;
	border-top:none;
	margin-bottom:1em;
}
dl.dl50 dt{
	background:transparent;
	width:50%;
	padding:10px;
	box-sizing:border-box;
	border-top:0px solid #fff;	
}
dl.dl50 dt:first-child{
	border-top:0px solid #fff;
	}
dl.dl50 dd{
	background:transparent;
	width:50%;
	padding:10px;
	margin:0;
	border-left:0px solid #fff;
	border-top:0px solid #fff;
	box-sizing:border-box;
	text-align:left;
	}
	dl.dl50 dt,
	dl.dl50 dd{
    display:block;
    vertical-align:middle;
 
			}
@media screen and (max-width:1250px) {
dl.dl50 {
		flex-flow:column nowrap;
	}
	dl.dl50 dt,
	dl.dl50 dd{
		width:95%;
			}
dl.dl50 dd{
		border-left:none;
		text-align:left;
	}
}


/*div*/
div.parent {display: flex;}
div.child {width: 33%;}
@media screen and (max-width: 800px) {
        div.parent {flex-wrap: wrap;width:100%;}
      }
@media screen and (max-width: 950px) {
        div.parent {width:100%;
          display: block;
		  }}
@media screen and (max-width: 950px) {
        div.child {width:98%;}}


/*トップへ戻る*/
#pageTop{ position:fixed; bottom:18px; right:8px; z-index:70; height:60px; width:60px; border-radius: 50%;/*角丸*/ text-align:center; line-height: 60px; background:rgba(0,0,0,0.25); cursor:pointer; }
#pageTop img{ width:6px; margin:auto; padding-top:24px; }
#pageTop a{ position:relative; display:block; width:60px; height:60px; font-size:24px;}

