@charset "utf-8";

/******************************************************************
 *
 * 全ページ共通
 *
 ******************************************************************/


body { font-family: 'Noto Sans JP', sans-serif; font-weight: 400; background: #fff; color: #555; -webkit-font-smoothing: antialiased; }
a { color:#000; text-decoration: none;}
a:hover { text-decoration: underline; }
img { width: auto; height: auto; }

.caution { color: #f6615f !important; }
.zmg { font-family: 'Zen Maru Gothic', sans-serif !important; }

/* clearfix */
.cf:before, .cf:after {content:""; display:block; overflow:hidden;}
.cf:after {clear:both;}
.cf {zoom:1;}


/******************************************************************
 * media screen
 ******************************************************************/

@media screen and (min-width:751px){/* -------------------------PC */
body { position: relative; line-height: 1.85em; font-size: 16px; letter-spacing: 0.0625em; }

.hover { transition: all 0.15s ease-in;  }
.hover:hover { opacity: 0.6; }
.sp {display:none !important;}

/* header */
header {
	position: fixed;
	width: 100%;
	min-width: 1280px;
	height: 80px;
	background: rgba(255,255,255,1.0);
	border-bottom: 3px solid rgba(153,221,213,1.0);
	z-index: 9999;
}

header .nav-inner { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; margin: 0; padding: 0; }
header .logo { width: 50%; margin: 0; padding: 23px 0 0 30px; }
header .logo img { width: 220px; }
header .info { width: 50%; margin: 0; padding: 8px 30px 0 0; }
header .info .mynavi { float: right; width: 203px; height: 59px; margin: 0; }

nav { position: relative; width: 1080px; margin: 10px auto 0 auto; }
nav ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
nav ul li { display: table; width: 15.8%; height: 60px; }
nav ul li a,nav ul li em { display: table-cell; text-align: center; vertical-align: middle; font-family: 'Zen Maru Gothic', sans-serif !important; font-weight: 500 !important; font-size: 18px; line-height: 1.2em; border-radius: 10px; overflow: hidden; }
nav ul li a { background: rgba(230,247,245,1.0); color: rgba(48,160,147,1.0); }
nav ul li a:hover { background: rgba(153,221,213,1.0); color: rgba(255,255,255,1.0); text-decoration: none;opacity: 1.0 !important; }
nav ul li em { background: rgba(153,221,213,1.0); color: rgba(255,255,255,1.0); }



/* contents */
#contents { width: 100%; min-width: 1280px; margin: 0 auto 0 auto; padding: 80px 0 100px 0; overflow-x: hidden !important; }

section.mainimage_sub { position: relative; width: 100%; height: 180px; margin: 0 auto; background: url("../images/mi_sub_bg.jpg") center center no-repeat; background-size: cover; }
section.mainimage_sub h1 { position: absolute; left: 0; top: 34px; width: 661px; height: 52px; font-size: 1px; line-height: 1px; overflow: hidden;}

h2.subtitle { padding: 0 0 15px 0; border-bottom: 1px solid rgba(48,160,147,1.0); color: rgba(48,160,147,1.0); font-family: 'Zen Maru Gothic', sans-serif !important; font-weight: 500 !important; font-size: 24px; line-height: 1.2em; letter-spacing: 0 !important; text-align: center; }

div.pagetop { position: block; width: 100%; font-size: 1px; line-height: 1px; text-align: center; }
div.pagetop a { display: block; width: 100%; padding: 15px 0; background: rgba(48,160,147,1.0); }
div.pagetop img { width: 58px; }

footer { position: relative; width:100%; background: rgba(153,221,213,1.0); color: rgba(255,255,255,1.0); }
footer .copy { width: 1080px; margin: 0 auto; padding: 20px 0; text-align: center; font-size: 14px; font-weight: 700; letter-spacing: 0; }



}/* /@media */

/*******************************************************************/

@media screen and (max-width:750px){/* -------------------------SP */
body { line-height:1.85em; font-size: 3.2vw; letter-spacing: 0.0625em; }
html {-webkit-text-size-adjust: 100%;}
.pc {display:none !important;}

/* header */
header {
	position: fixed;
	width: 100%;
	height: 9.33vw;
	background: rgba(255,255,255,1.0);
	border-bottom: 0.4vw solid rgba(153,221,213,1.0);
	z-index: 9999;
}

header .nav-inner { position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; margin: 0; padding: 0; }
header .logo { width: 50%; margin: 0; padding: 1.4vw 0 0 1.866vw; }
header .logo img { width: 31.33vw; }
header .info { width: 50%; margin: 0; padding: 0.8vw 1.866vw 0 0; }
header .info .mynavi { float: right; width: 24vw; height: 6.933vw; margin: 0; }

nav { position: relative; width: 96vw; margin: 0 auto 0 auto; }
nav ul { display: flex; flex-wrap: wrap; justify-content: space-between; }
nav ul li { display: table; width: 30.8vw; height: 10.8vw; margin: 1.866vw 0 0 0; }
nav ul li a,nav ul li em { display: table-cell; text-align: center; vertical-align: middle; font-family: 'Zen Maru Gothic', sans-serif !important; font-weight: 500 !important; font-size: 3.2vw; line-height: 1.2em; border-radius: 1.33vw; overflow: hidden; }
nav ul li a { background: rgba(230,247,245,1.0); color: rgba(48,160,147,1.0); }
nav ul li a:hover { background: rgba(153,221,213,1.0); color: rgba(255,255,255,1.0); text-decoration: none; opacity: 1.0 !important; }
nav ul li em { background: rgba(153,221,213,1.0); color: rgba(255,255,255,1.0); }

h2.subtitle { padding: 0 0 2vw 0; border-bottom: 1px solid rgba(48,160,147,1.0); color: rgba(48,160,147,1.0); font-family: 'Zen Maru Gothic', sans-serif !important; font-weight: 500 !important; font-size: 5.33vw; line-height: 1.25em; letter-spacing: 0 !important; text-align: center; }

/* contents */
#contents { padding: 9.33vw 0 13.33vw 0; overflow-x: hidden !important; }

section.mainimage { position: relative; width: 100vw; height: 16vw; margin: 0 auto 0 auto; background: rgba(0,0,0,0.0); }
section.mainimage h1 { font-size: 1px; line-height: 1px; overflow: hidden; }

/* footer */



div.pagetop { position: block; width: 100%; font-size: 1px; line-height: 1px; text-align: center; }
div.pagetop a { display: block; width: 100%; padding: 2.66vw 0; background: rgba(48,160,147,1.0); }
div.pagetop img { width: 9.33vw; }

footer { position: relative; width:100%; background: rgba(153,221,213,1.0); color: rgba(255,255,255,1.0); }
footer .copy { width: 100%; margin: 0 auto; padding: 2.66vw 0; text-align: center; font-size: 2.66vw; font-weight: 700; letter-spacing: 0; }

/* contents */



}/* /@media */

