@charset "UTF-8";
/* CSS Document */

/*common----------------------------------------*/
html {
	overflow-x: hidden;
}
html,body {
	width: 100%;
	min-width: 1000px;
	letter-spacing: 0.03em;
}
html,body,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,big,cite,code,
del,dfn,em,img,ins,kbd,q,samp,
small,strike,strong,sub,sup,tt,var,
b,i,
dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
section, article, aside, footer, header, hgroup, nav{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", Verdana, Arial, Helvetica, sans-serif;
	vertical-align: baseline;
}
ul {
	list-style:none;
	margin: 0;
	padding: 0;
}
img {
	border-style: none;
	display: block;
}
a { 
	outline: none;
}
.pc {
	display: inline-block;
}
.sp {
	display:none;
}

/*clearfix----------------------------------------*/
.clearfix:after {   
    content: ".";   
    display: block;   
    overflow:hidden;
    height: 0px;
    line-height: 0;
    clear: both;   
}

/*IE7*/
div {   
    zoom: 100%;  
}

/*link--------------------------------------------*/
.btn a:hover {
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-opacity:0.8;
	opacity:0.8;
}

/*header------------------------------------------*/
header {
	border-top: 4px solid #00838a;
	border-bottom: 1px solid #dedede;
	background: #eff1f0;
	position: sticky;
	top: 0;
	width: 100%;
	z-index:10000;
}
#header_dummy {
	/*height: 102px;*/
}
#HeadsUp.hu_head ~ #header_dummy {
	height: auto;
}
header .inr {
	width: 1040px;
	margin: 0 auto;
	height: 98px;
	padding-right: 30px;
	padding-left: 30px;
}
header .logo {
	width: 200px;
	padding: 15px 0 10px 0;
	float: left;
}
header .logo img {
	width: 100%;	
}
header .search {
	float: right;
	margin: 18px 0 0;
	background: #fff;
	height: 28px;
}
#searchform {
     position: relative;
	 width: 218px;
}
header .search label {
	display: none;
}
header .search #s {
	border: none;
	margin: 0;
	padding: 4px;
	height: 20px;
	width: 180px;
	color: #575757;
	font-size: 13px;
}
header .search #searchsubmit {
	border-style: none;
	margin: 0;
	padding: 0;
	height: 28px;
	width: 28px;
	cursor: pointer;
	background: #575757 url(../images/btn_search.png) center center;
	background-size: 100%;
	position: absolute;
	right: 0;
	top: 0;
	border-radius: 0;
}
header .contact {
	font-size: 14px;
	line-height: 14px;
	background: #00838a;
	text-align: center;
	float: right;
	height: 34px;
	width: 180px;
	margin: 15px 0 0 30px;
}
header .contact a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;
}
header .contact a:hover {
	background: #575757;
}
header ul {
	clear: both;
	position: relative;
}
header ul li {
	font-size: 14px;
	float: left;
	margin-right: 45px;
	text-decoration: none;
	line-height: 100%;
}
header ul li:last-child {
	margin-right: 0;
	line-height: 35px;
	position: absolute;
	top: 5px;
	right: 0;
	height: 46px;
	background: #00838a;
	text-align: center;
}
header ul li:last-child a {
	width: 180px;
	color: #fff;
	display: block;
	padding-top: 6px;
	padding-bottom: 6px;
}
header ul li a {
	padding: 10px 0 4px;
	color: #575757;
	text-decoration: none;
	display: block;
}
header ul li:hover {
	color: #00838a;
	border-bottom: 1px solid #00838a;
}
header ul li:last-child:hover {
	border-bottom: none;
	background: #575757;
}
/*contents------------------------------------------*/

#HeadsUp {
	background: #00838a;
	padding: 40px 0;
}
#HeadsUp.hu_head {
	display: none;
	background: #3E1B45;
}
.home #HeadsUp.hu_head {
	display: block;
}
#HeadsUp .inr {
	padding-bottom: 0 !important;
	height: auto;
}
#HeadsUp p {
	text-align: center;
	font-size: 16px;
	color: #fff;
}
#HeadsUp p a {
	color: #fff;
}
#HeadsUp p a:hover {
	text-decoration: underline;
}
#HeadsUp p.note:before {
	content: "";
	padding-left: 20px;
	background: url(/wp-content/themes/comgest/images/ico-note.svg) no-repeat left center;
}
.check_button.hu_head {
	display: none;
}
.home .check_button.hu_head {
	display: block;
}
.check_button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
	top: 15px;
	right: 15px;
	width: 22px;
	height: 22px;
	cursor: pointer;
	background-color: #fff;
}
.check_button:after {
	content: "×";
	color: #3E1B45;
	font-size: 26px;
	width: 22px;
	text-align: center;
	display: block;
	line-height: 1;
	margin-top: -2.5px;
}
.home .check_button:not(:checked) {
  display: none;
}
.home .check_button:not(:checked) ~ #HeadsUp {
  display: none;
}
.check_button:hover {
	opacity: 0.7;
}
#contents {
	width: 100%;
}
#contents .inr {
	width: 820px;
	margin: 0 auto;
	padding: 0px 140px 110px;
}
p {
	font-size: 13px;
	line-height: 24px;
	color: #575757;
}
p.cap {
	font-size: 70%;
	line-height: 1.3;
}
h2 {
	letter-spacing: 0.05em;
}
h3 {
	font-size: 23px;
	line-height: 32px;
	color: #00838a;
	text-align: center;
	font-weight: bold;
	padding-bottom: 50px;
	letter-spacing: 0.05em;
	display: flex;
	justify-content: center;
	align-items: center;
}
h3 span {
	background: #00838a;
	height: 2px;
	width: 12px;
	display: inline-block;
	margin-right: 15px;
	margin-left: 15px;
	margin-bottom: 5px;
}
h3 p {
	color: #00838a;
	font-weight: normal;
	font-size: 12px;
	line-height: 12px;
}
h4 {
	font-size: 14px;
	line-height: 22px;
	color: #00838a;
	font-weight: bold;
	padding-bottom: 5px;
	letter-spacing: 0.05em;
}
.square {
	color: #00838a;
}
section {
	padding-top: 80px;
}
ul.page {
	margin: 40px auto 0;
	position: relative;	
}
li.prev,
li.next {
	position: absolute;	
}
li.prev {
	margin-left: -80px;
	left: 50%;	
}
li.next {
	margin-left: 44px;
	left: 50%;	
}
li.prev img,
li.next img {
	height: 36px;
	width: 36px;
	padding-bottom: 0px;
}

/*footer------------------------------------------*/
footer {
	background: #eff1f0;
	padding-top: 70px;
	width: 100%;
	position: relative;
}
#go_top a {
	background: #575757 url(../images/arw_w_s04.svg) no-repeat center center;
	position: absolute;
	top: 0px;
	right: 0px;
	height: 60px;
	width: 60px;
}
#go_top:hover a {
	background: #00838a url(../images/arw_w_s04.svg) no-repeat center center;
}
footer .inr {
	width: 1040px;
	margin: 0 auto;
	padding-right: 30px;
	padding-left: 30px;
}
footer .left {
	float: left;
	padding: 0 0 40px 0;
}
footer .right {
	float: right;
}
footer .logo {
	width: 200px;
	padding: 0 0 20px 0px;
}
footer img {
	width: 100%;	
}
footer p {
	font-size: 12px;
	line-height: 22px;
}
footer .ri {
	float: left;
	width: 303px;
}
footer .ssl {
	float: left;
	padding-left: 20px;
}
footer ul {
	clear: both;
}
footer ul li {
	padding-right: 40px;
	float: left;
}
footer ul li:last-child {
	padding-right: 0;
}
footer ul li a {
	color: #575757;
	text-decoration: none;
}
footer ul li a:hover {
	color: #00838a;
}
footer #copy {
	margin-top: 70px;
	color: #fff;
	background: #575757;
	text-align: center;
	padding-top: 11px;
	padding-bottom: 11px;
	font-size: 12px;
	line-height: 12px;
	width: 100%;
}


@media screen and (max-width:750px){
/*common----------------------------------------*/
html,body{
    min-width: 100%;
	letter-spacing: 0.02em;
}
.pc {
	display:none;
}	
.sp {
	display:block;
}

/*header------------------------------------------*/
header {
	border-top: 2px solid #00838a;
}
#header_dummy {
	height: 54px;
}
header .inr {
	width: 100%;
	height: auto;
	padding-right: 0;
	padding-left: 0;
}
header .logo {
	width: 140px;
	padding: 15px 0 15px 15px;
}
header .nav {
	height: 0;
	overflow: hidden;
	padding: 0;
}
header .nav li {
	float: none;
	width: 100%;
	border-top: 1px solid #fff;
	padding: 0;
	border-bottom: 1px solid #CCC;
	margin: 0px;
	background: url(../images/arw_gr_03.svg) no-repeat 95% center;
}
header .nav li a {
	display: block;
	padding: 10px 5%;
}
header .search {
	float: none;
	display: none;
	position: absolute;
	left: 5%;
	top: 343px;
	width: 90%;
}
#searchform {
	width: 100%;
	height: 28px;
}
header .search #s {
	width: 90%;
}
header .contact {
	position: absolute;
	left: 0;
	top: 400px;
	width: 100%;
	height: 50px;
	line-height: 50px;
	margin-left: 0px;
	display: none;
	text-align: left;
	background: #00838a url(../images/arw_w_s03.svg) no-repeat 95% center;
}
header .contact a {
	padding: 0px 5%;
}
header ul li:last-child {
	line-height: 14px;
	position: static;
	height: auto;
	background: url(../images/arw_gr_03.svg) no-repeat 95% center;
	text-align: left;
}
header ul li:last-child a {
	width: auto;
	color: #575757;
}
header ul li:last-child:hover {
	border-bottom: 1px solid #00838a;
	background: url(../images/arw_gr_03.svg) no-repeat 95% center;
}
.btn_nav {
	height: 28px;
	width: 34px;
	position: absolute;
	top: 9px;
	right: 15px;
	z-index:10000;
	padding-top: 6px;
}
.btn_nav span {
	height: 4px;
	width: 26px;
	margin-bottom: 5px;
	margin-left: 4px;
	background: #00838a;
	display: block;
}
.btn_nav span.show {
	display: none;
}
.btn_nav.show {
	background: url(../images/btn_close01.png) no-repeat center center;
	background-size: 100% 100%;
}
.nav.show,
.contact.show,
.search.show {
	display: block;
	height: auto;
}
.nav.show {
	height: 380px;
}

/*contents------------------------------------------*/
#contents .inr {
	width: 90%;
	padding-right: 5%;
	padding-left: 5%;
	padding-bottom: 15%;
}
h3 {
	font-size: 20px;
	line-height: 28px;
	padding-bottom: 8%;
}
h3 span {
	height: 2px;
	width: 8px;
	display: inline-block;
	margin-right: 15px;
	margin-left: 15px;
	margin-bottom: 7px;
}
h3 p {
	font-size: 10px;
	line-height: 10px;
}
h4 {
	font-size: 13px;
	padding-bottom: 5px;
}
section {
	padding-top: 50px;
}
ul.page {
	margin: 20px auto 0;
	width: 120px;
}

/*footer------------------------------------------*/
footer {
	padding-top: 25px;
}
#go_top a {
	height: 40px;
	width: 40px;
}
footer .inr {
	width: 90%;
	padding-right: 5%;
	padding-left: 5%;
}
footer .left {
	float: none;
	padding: 0;
}
footer .right {
	float: none;
}
footer .logo {
	width: 140px;
	padding: 15px 0 15px 0;
	float: none;
}
footer .ri {
	float: none;
	padding-top: 15px;
	width: 260px;	
}
footer .ssl {
	float: none;
	padding-left: 0;
	padding-top: 15px;
	padding-bottom: 25px;
	width: 60px;	
}
footer .txt {
	padding: 0 0 0 62px;
	clear: both;
	text-indent: -62px;
}

footer ul li {
	float: none;
	padding: 0 0 20px 0;
}
footer #copy {
	margin-top: 25px;
}
}