@charset "utf-8";

/* 
	lastup date: 2022.02.09
*/

/* default
=============================================== */

* {
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html,body,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,th,td {
	list-style: none;
	line-height: 1;
	border-collapse: collapse;
	border-spacing: 0;
}
html {
	min-height: 100%;
	font-size: 62.5%; /* font-size 1em = 10px on default browser settings */
	position: relative;
}
body {
	font-family: "Yu Gothic",YuGothic,"メイリオ",Meiryo,Arial,Helvetica,Verdana,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","ＭＳ Ｐゴシック","MS PGothic",Sans-serif;
	font-weight: 500;
}
q:before,q:after {
	content:'';
}
object,embed {
	vertical-align: top;
}
img {
	max-width: 100%;
	height: auto;
	max-height: 100%;
	width: auto;
	vertical-align: bottom;
    -webkit-backface-visibility: hidden;
}
img,abbr,acronym,fieldset {
	border: 0;
}
strong { font-weight: bold; }
em { font-style: italic; }
blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
.aligncenter { text-align: center; }
.alignright { float: right; }
.alignleft { float: left; }
img[class*="wp-image-"],
img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}



/* link
=============================================== */

a {
	color: #5095D6;
	color: #0067B8;
	text-decoration: none;
	transition: .1s ease;
}
a:visited {
	color: #5095D6;
	text-decoration: none;
}
a:hover {
	color: #5095D6;
	text-decoration: underline;
}
a[id]:hover {
	color: #5095D6;
}
a:active {
	color: #F19A39;

}
a[href^="tel:"] {
    pointer-events: none;
}
a[target="_blank"]::after {
	content: '';
	padding: 1px 22px 1px 0;
	background: url(../img/common/icon_newtab_bl.svg) no-repeat 100% 50%;
	background-size: 24px;
}
header a[target="_blank"]::after {
	background: url(../img/common/icon_newtab_gn.svg) no-repeat 100% 50%;
}
footer a[target="_blank"]::after {
	background: url(../img/common/icon_newtab_wt.svg) no-repeat 100% 50%;
}

/* fade setting
=============================================== */

body::before {
	content: '';
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 100%;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	pointer-events: none;
	-webkit-transition: right 1.0s cubic-bezier(0.4, 0, 0.2, 1);
	transition: right 1.0s cubic-bezier(0.4, 0, 0.2, 1);
}

body::after {
	content: '';
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 100%;
	width: 100%;
	height: 100%;
	background-color: #FFF;
	pointer-events: none;
	-webkit-transition: left 1.0s cubic-bezier(0.4, 0, 0.2, 1);
	transition: left 1.0s cubic-bezier(0.4, 0, 0.2, 1);
}
body.pagef-in::before {
	right: 0;
}
body.pagef-out::after {
	left: 0;
}



/* base
=============================================== */

html {
	background-color: #FFF;
}
body {
	color: #333;
	min-width: 1080px;
	background-color: #E8E7E3;
}
.pc {
	display: block;
}
br.pc {
	display: inline-block;
}
.sp, br.sp {
	display: none;
}
.text-left {
	text-align: left !important;
}
.text-center {
	text-align: center !important;
}
.text-right {
	text-align: right !important;
}
.lead {
	font-size: 2.4rem !important;
}
.txt-list, .dec-list,
.entry-body ul, .entry-body ol {
	margin: 1em 0 2em 1.8em;
}
.txt-list li, .dec-list li,
.entry-body ul li, .entry-body ol li {
	margin: .5em 0;
	font-size: 1.6rem;
	line-height: 1.8;
}
.txt-list li,
.entry-body ul li {
	list-style: circle;
}
.dec-list li,
.entry-body ol li {
	list-style: decimal;
}
.ex {
	margin: 1em 0;
}
.ex li {
	margin: .5em 0;
	padding-left:  1em;
	text-indent: -1em;
	font-size: 1.6rem;
	line-height: 1.8;
}



/* header
=============================================== */

#global-header {
	border-top: 3px solid #FFB758;
	background: #FFF;
	transition: .2s ease;
}
#header-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 20px 0 0;
	max-width: 1080px;
}
#global-header #logo {
	width: 336px;
}
#global-header #logo img {
	height: 64px;
}



/* navigation
=============================================== */

#pc-nav {
	width: 100%;
	padding: 30px 0 20px;
}
#pc-nav #main-nav {
	display: flex;
	justify-content: space-between;
}
#pc-nav #main-nav li {
	margin-right: 15px;
	padding-right: 15px;
	border-right: 1px solid #FFB758;
	width: 216px;
	text-align: center;
}
#pc-nav #main-nav li:last-child {
	border: none;
}
#pc-nav #main-nav li a {
	font-size: 1.8rem;
	font-weight: bold;
	color: #111;
	background-position: 0 100%;
	text-decoration: none;
}
#pc-nav #main-nav li a.current, 
#pc-nav #main-nav li a:hover {
	color: #FFB758;
}
#pc-nav #main-nav li a:hover {
	transition: .2s ease;
	color: #FFB758;
}
#sub-nav {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px;
}
#sub-nav li {
	margin: 0 10px;
}
#sub-nav li a {
	padding: 8px 30px 6px;
	border-radius: 15px;
	font-size: 1.4rem;
	background-color: #CAE8EB;
	color: #4EA6B3;
}
#sub-nav li a:hover {
	transition: .2s ease;
	opacity: .7;
}
#sp-nav {
	display: none;
}



/* footer
=============================================== */

#global-footer {
	background-color: #606060;
}
#footer-inner  {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
	padding: 50px 0;
	max-width: 1080px;
}
.fnav {
	width: 25%;
	padding-right: 20px;
}
.fnav:nth-child(5) {
	display: flex;
	justify-content: center;
	padding: 20px 0;
	width: 100%;
}
.fnav li {
	margin-bottom: 10px;
}
.fnav:nth-child(5) li {
	width: auto;
	margin: 0 15px;
}
.fnav a {
	font-size: 1.4rem;
	line-height: 1.4;
	color: #FFF;
}
.fnav dt {
	margin-bottom: 10px;
}
.fnav dt a,
.fnav:nth-child(5) li a {
	font-size: 1.6rem;
	font-weight: bold;
}
#copyright {
	width: 100%;
	padding-top: 20px;
	font-size: 1.4rem;
	text-align: center;
	color: #FFF;
}



/* page
=============================================== */

.totop {
	margin: 0 0 50px 0;
	text-align: center;
}
#page-header {
	position: relative;
	padding: 100px 0;
	background: #FFEEDD 50% 50% no-repeat;
	background-size: cover;
}
#page-header::before {
	content:'';
	z-index: 1;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg_pageheader_gr.png) 0 0 repeat-y;
}
#page-header.page-school-staff,
#page-header.page-promotion-designated-school {
	background-image: url(../img/index/slide01.jpg);
}
#page-header.page-business-reports,
#page-header.page-seconded-reports,
#page-header.page-school-dentist,
#page-header.page-schedule,
#page-header.page-internship,
#page-header.page-school-dentist-list,
#page-header.page-teaching-materials,
#page-header.page-cogo {
	background-position: 50% 10%;
	background-image: url(../img/index/bg02.jpg);
}
#page-header.page-guardians,
#page-header.page-mouth-healthy-check,
#page-header.page-mouth-and-dental-injuries,
#page-header.page-saigaikyosai {
	background-image: url(../img/index/slide03.jpg);
}
#page-header.page-students,
#page-header.page-contest,
#page-header.page-dental-topics {
	background-image: url(../img/index/slide04.jpg);
}
#page-header.page-documents {
	background-position: 50% 15%;
	background-image: url(../img/index/slide05.jpg);
}
#page-header h1 {
	position: relative;
	z-index: 2;
	max-width: 1080px;
	margin: 0 auto;
}
#page-header h1 span {
	font-size: 4.2rem;
	color: #111;
	_background: linear-gradient(transparent 60%, #FFB758 60%);
	background: linear-gradient(transparent 0%, rgba(255,255,255,.8) 0%);
}

.breadcrumbs {
	padding: 15px 0;
	background: #EEE;
}
.breadcrumbs .bread-inner {
	margin: auto;
	width: 100%;
	max-width: 1080px;
	line-height: 1.4;
	font-size: 1.6rem;
    overflow: hidden;
    text-overflow: ellipsis;
	white-space: nowrap;
}
.page-sub-menu {
	margin: auto;
	padding: 50px 0;
	width: 100%;
	max-width: 1080px;
}
.page-sub-menu ul {
	margin: 0 -15px;
	display: flex;
	flex-wrap: wrap;
}
.page-sub-menu ul li {
	margin: 0 15px 30px;
	width: calc(100% / 3 - 30px);
}
.page-sub-menu ul li a {
	display: flex;
	align-items: center;
	padding: 0 50px 0 15px;
	height: 100px;
	border: 3px solid #FFB758;
	line-height: 1.4;
	font-size: 1.8rem;
	font-weight: bold;
	color: #111;
	background: url(../img/common/icon_arrow01_r.svg) 95% 50% no-repeat;
	background-size: 26px;
	transition: .1s ease;
}
.page-sub-menu ul li a:hover {
	text-decoration: none;
	background: #FFFAEF url(../img/common/icon_arrow01_r.svg) 97% 50% no-repeat;
	background-size: 26px;
}


.container {
	background: #FFF;
}
.container .inner {
	margin: auto;
	padding: 50px 0 100px;
	max-width: 1080px;
}
.container .inner p {
	margin: 1em 0;
	font-size: 1.6rem;
	line-height: 1.6;
}
.h2-01 {
    margin-bottom: 35px;
	font-size: 3.0rem;
	letter-spacing: 2px;
	line-height: 1.6;
	color: #111;
}
.h2-02 {
	margin-bottom: 35px;
	padding-bottom: 15px;
	border-bottom: 3px solid #CCC;
	font-size: 3.0rem;
	letter-spacing: 2px;
	line-height: 1.6;
	color: #111;
}
.h3-01 {
	margin: 25px 0;
	padding: 10px 10px 9px;
	font-size: 2.0rem;
	line-height: 1.6;
	color: #111;
	background-color: #EEE;
}
.h4-01 {
	margin: .75em 0;
	font-size: 1.8rem;
	line-height: 1.6;
}
.colorbox01,
.colorbox02,
.colorbox03 {
	margin: 0 auto 35px;
	padding: 10px 25px;
	border-radius: 2px;
}
.colorbox01 {
	background-color: #F0F0F0;
}
.colorbox02 {
	background-color: #FFFAEF;
}
.colorbox03 {
	background-color: #EEEFF9;
}

.link01 {
	display: inline-block;
	padding: 1px 25px 1px 0;
	font-size: 1.6rem;
	background: url(../img/common/icon_arrow01_r.svg) 100% 0 no-repeat;
	background-size: auto 18px;
}
.link01:hover {
	text-decoration: underline;
}

.btn01 {
	padding: 0 0 35px;
	text-align: center;
}
.btn01 a {
	display: inline-block;
	min-width: 240px;
	padding: 15px 20px;
	border-radius: 2px;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #FFB758;
	color: #FFF;
	text-decoration: none;
}
.btn01 a:hover {
	opacity: 0.7;
	transition: .1s ease;
}
.btn02 {
	padding: 0 0 35px;
	text-align: center;
}
.btn02 a {
	display: inline-block;
	min-width: 240px;
	padding: 15px 20px;
	border-radius: 25px;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #BCD278;
	color: #66851D;
}
.btn02 a:hover {
	opacity: 0.7;
	transition: .1s ease;
}
.btn-tel {
	margin: 50px 0 !important;
	text-align: center;
}
.btn-tel a {
	padding: 20px 50px 18px;
	border-radius: 25px;
	border: none;
	font-size: 1.8rem;
	background-color: #3496DC;
	color: #FFF;
}
.btn-tel a:hover {
	opacity: .7;
	transition: .1s ease;
}
.btn-back {
	text-align: center;
	font-size: 1.8rem;
}
.btn-back:hover {
	opacity: 0.7;
	transition: .1s ease;
}

.txtbox01 {
	margin: 0 0 50px;
}
.txtbox01 p {
	margin: 1em 0;
	font-size: 1.6rem;
	line-height: 1.6;
}
.txtbox01 p:first-child {
	margin-top: 0;
}



/* home
=============================================== */

#eye {
	position: relative;
	width: auto;
	margin: auto;
}
#eye ul {
	height: 500px;
}
.swiper-slide > img {
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 500px;
}
.swiper-slide.sl02 > img {
	object-position: 50% 10%;
}
.swiper-button-prev {
	left: 25px;
}
.swiper-button-next {
	right: 25px;
}
.swiper-button-prev,
.swiper-button-next {
	width: 50px;
	height: 50px;
}
.swiper-button-prev::after,
.swiper-button-next::after {
	content: none;
}

#notice {
	padding: 50px 0 25px;
	background-color: #FFF;
}
#notice .inner {
	position: relative;
	margin: auto;
	max-width: 1080px;
}
#notice .inner h2 {
	margin: 15px 0 35px;
	font-size: 2.4rem;
	line-height: 1.7;
	text-align: center;
}
#notice .inner h3 {
	margin-bottom: 25px;
	font-size: 2.0rem;
	line-height: 1.7;
}
#notice .inner p {
	margin: 1em 0;
	font-size: 1.6em;
	line-height: 1.7;
}
#mid-menu {
	display: flex;
	justify-content: center;
	margin: auto;
	padding: 50px 0;
	max-width: 1080px;
}
#mid-menu a {
	margin: 0 5px 0 0;
	padding: 30px 20px 35px;
	width: 100%;
	max-width: calc(25% - 5px);
	transition: 1s ease;
	background: url(../img/common/icon_arrow02_r.svg) 50% 95% no-repeat;
	background-size: auto 14px;
}
#mid-menu a:nth-child(1) {
	background-color: #1268C0;
}
#mid-menu a:nth-child(2) {
	background-color: #139654;
}
#mid-menu a:nth-child(3) {
	background-color: #E27E7E;
}
#mid-menu a:nth-child(4) {
	background-color: #FC8E3D;
}

#mid-menu a:hover {
	transition: .1s ease;
	opacity: 0.7;
	text-decoration: none;
}
#mid-menu a dl {
	color: #FFF;
	text-align: center;
}
#mid-menu a dt {
	margin-bottom: 10px;
	font-size: 3.6rem;
	line-height: 1.4;
}
#mid-menu a dd {
	font-size: 1.6rem;
	line-height: 1.7;
}
#info {
	padding: 75px 0;
	background: #FFF;
}
#info-inner {
	margin: auto;
	max-width: 1080px;
}
#news {
}
#news h2 {
	margin: 0 0 35px;
	font-size: 2.4rem;
	text-align: center;
	color: #111;
}
#news h2 span {
	display: block;
	padding-top: 5px;
	font-size: 1.4rem;
	color: #999;
}
.post-list {
	margin: 0 0 35px;
	flex: 1;
}
.post-list li {
	margin-bottom: 15px;
	padding-bottom: 17px;
	border-bottom: 1px solid #CCC;
}
.post-list li:first-child {
	margin-top: 0;
}
.post-list li a {
}
.post-list li .post-data {
	display: flex;
	align-items: top;
}
.post-list li .post-datetime {
	width: 150px;
	font-size: 1.8rem;
	line-height: 1.6;
	color: #333;
}
.post-list li .post-category {
	padding-top: 2px;
	width: 200px;
}
.post-list li .post-category a {
	display: block;
	padding: 5px 1px;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
}
.post-list li .post-title {
	width: 100%;
	padding-left: 30px;
	font-size: 1.8rem;
	line-height: 1.6;
	color: #333;
}



/* dental-topics
=============================================== */

.dt-ttl {
	margin: 0 0 35px;
	padding: 15px 20px 13px;
	border: dashed 2px #FFF;
	box-shadow: 0px 0px 0px 5px #F8C555;
	font-size: 2.4rem;
	font-family: 'Yomogi', cursive;
	background: #F8C555;
	color: #333;
}
.dt-sttl {
	margin: 0 0 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.0rem;
	text-align: center;
	font-family: 'Yomogi', cursive;
	color: #333;
}
.dt-sttl::before,
.dt-sttl::after {
	content: '';
	width: 3px;
	height: 40px;
	background-color: #FFB758;
}
.dt-sttl::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.dt-sttl::after {
	margin-left: 30px;
	transform: rotate(35deg)
}







/* news / blog
=============================================== */

#blog {
	padding: 50px 0 100px;
	background-color: #FFF;
}
#blog .inner {
	margin: auto;
	max-width: 1080px;
	min-height: 50vh;
}
#blog-subtitle {
	margin-bottom: 35px;
	font-size: 2.8rem;
	text-align: center;
	color: #111;
}
#blog .post-list li {
}
.entry-box {
	margin: 0 0 100px;
}
.entry-meta {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0 0 25px;
}
.entry-category a {
	display: block;
	padding: 5px 10px;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
}
.entry-date {
	margin-left: 15px;
	text-align: right;
	font-size: 1.6rem;
}
.entry-title {
	margin-bottom: 25px;
	padding-bottom: 15px;
	border-bottom: 3px solid #CCC;
}
.entry-title h1 {
	font-size: 2.8rem;
	line-height: 1.5;
}
.entry-title a {
	text-decoration: none;
}
.entry-body p {
	margin: 1.5em 0;
	font-size: 1.6rem;
	line-height: 1.6;
}
#error {
	padding: 50px 0;
}
#error p {
	margin: 1.5em 0;
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: center;
}



/* blog-side
=============================================== */

.side-area {
	margin-bottom: 50px;
}
.side-title {
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 2px solid #CCC;
	font-size: 1.8rem;
	font-weight: bold;
	color: #111;
}
.side-menu-item {
}
.side-menu-list {
	display: flex;
	flex-wrap: wrap;
}
.side-menu-list li {
	width: 50%;
	margin: 0 0 10px;
	padding: 0 5px;
	font-size: 1.6rem;
	line-height: 1.6;
}



/* pager
=============================================== */

.pager {
	padding: 35px 0;
	text-align: center;
}
.pager a,
.pager span {
	display: inline-block;
	margin: 0 10px;
	font-size: 1.6rem;
	width: 40px;
	height: 40px;
	border: 2px solid #FFB758;
	border-radius: 50%;
	line-height: 38px;
	background: #FFF;
	color: #FFB758;
}
.pager span.dots {
}
.pager a:hover {
	border: 2px solid #FFB758;
	background: #FFB758;
	color: #FFF;
}
.pager span.current {
	border: 2px solid #FFB758;
	background: #FFB758;
	color: #FFF;
}




/* sub page
=============================================== */

#not-found {
	padding: 100px 0;
	background: #FFF;
}
#not-found p {
	margin: 30px 0 50px;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: center;
}



/* widget
=============================================== */

.widgettitle {
	margin-bottom: 10px;
	padding: 15px 0 14px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	background-color: #CCC;
	color: #111;
}



/* margin
=============================================== */

.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }

.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }

/* flexbox
=============================================== */

.flbx50 {
	display: flex;
	flex-wrap: wrap;
}
.flbx-dir-rvs {
	flex-direction: row-reverse;
}
.flbx50 div {
	width: calc(50% - 15px);
}
.flbx50 div:first-child {
	margin-right: 15px;
}
.flbx50 div:last-child {
	margin-left: 15px;
}

/* radius
=============================================== */

.radx2 { border-radius: 2px !important; }
.radx4 { border-radius: 4px !important; }
.radx6 { border-radius: 6px !important; }
.radx8 { border-radius: 8px !important; }
.radx10 { border-radius: 10px !important; }
.radx25 { border-radius: 25px !important; }
.radx100 { border-radius: 100% !important; }

/* table press CSS
=============================================== */

.table01 {
	margin: 0 0 35px;
	width: 100%;
	padding-top: 3px;
	background: url(../img/common/dot2x02.png) repeat-x 0 0;
}
.table01 tr {
	background: url(../img/common/dot2x02.png) repeat-x 0 100%;
}
.table01 tbody th,
.table01 tbody td {
	padding: 15px 0 13px;
	font-size: 1.4rem;
	line-height: 1.6;
}
.table01 tbody th {
	width: 150px;
}


.table-type01 {
	margin: 30px 0;
}
.table-type01 tbody th,
.table-type01 tbody td {
	padding: 15px 0 13px;
	font-size: 1.4rem;
	line-height: 1.6;
	border: none !important;
}
.table-type01 tbody tr {
	border-bottom: 1px dotted #CCC;
}
.table-type01 tbody tr:last-child {
	border: none;
}
.table-type01 .column-1 {
	padding-right: 25px;
}



/* ===============================================
Set tablet 1024px
=============================================== */

@media screen and (max-width:1024px) {

/* header
=============================================== */

#global-header {
	border-top: 3px solid #FFB758;
	background: #FFF;
	transition: .2s ease;
}
#header-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
	padding: 20px 0 0;
	max-width: 1080px;
}
#global-header #logo {
	width: 252px;
}
#global-header #logo img {
	height: 48px;
}



/* navigation
=============================================== */

#pc-nav {
	width: 100%;
	padding: 30px 0 20px;
}
#pc-nav #main-nav {
	display: flex;
	justify-content: center;
}
#pc-nav #main-nav li {
	margin-right: 15px;
	padding-right: 15px;
	width: auto;
	line-height: 1.4;
}
#pc-nav #main-nav li:first-child {
	padding-left: 20px;
}
#pc-nav #main-nav li:last-child {
	border: none;
}
#pc-nav #main-nav li a {
	font-size: 1.6rem;
}



/* footer
=============================================== */

#footer-inner  {
	padding: 35px 15px;
	width: 100%;
	max-width: none;
}
.fnav {
	width: 50%;
	margin-bottom: 25px;
	padding-right: 20px;
}
.fnav li a {
	font-size: 1.4rem;
}
#copyright {
	font-size: 1.4rem;
}



/* page
=============================================== */

body {
	min-width: 100%;
}
#page-header {
	padding: 90px 0;
}
#page-header::before {
	background: url(../img/common/bg_pageheader_gr.png) 100% 0 repeat-y;
}
#page-header h1 {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: auto;
	margin: 0;
	padding-left: 20px;
}
#page-header h1 span {
	font-size: 3.6rem;
}
.page-sub-menu {
	margin: auto;
	padding: 100px 0 200px;
	width: 100%;
	max-width: auto;
}
.page-sub-menu ul {
	margin: 0 0 0 15px;
	display: flex;
	flex-wrap: wrap;
}
.page-sub-menu ul li {
	margin: 0 15px 30px 0;
	width: calc(100% / 2 - 15px);
}
.page-sub-menu ul li a {
	font-size: 1.6rem;
}



.h2-01 {
	font-size: 2.4rem;
}
.h2-02 {
	font-size: 2.4rem;
}
.h3-01 {
	font-size: 2.0rem;
}
.h4-01 {
	font-size: 1.8rem;
}

.btn01 {
	padding: 0 0 35px;
	text-align: center;
}
.btn01 a {
	font-size: 1.8rem;
}
.btn01 a:hover {
	opacity: 0.7;
	transition: .1s ease;
}
.btn02 {
	padding: 0 0 35px;
	text-align: center;
}
.btn02 a {
	display: block;
	min-width: none;
	padding: 12px 18px;
	border-radius: 25px;
	font-size: 1.4rem;
}
.btn02 a:hover {
	opacity: 0.7;
	transition: .1s ease;
}
.btn-back {
	text-align: center;
	font-size: 1.8rem;
}
.btn-back:hover {
	opacity: 0.7;
	transition: .1s ease;
}
.clm2 {
	display: flex;
}
.clm2 .clm2-left {
	padding-right: 15px;
	width: 50%;
}
.clm2 .clm2-right {
	padding-left: 15px;
	width: 50%;
}
.txtbox01 p {
	margin: 1em 0;
	font-size: 1.6rem;
	line-height: 1.6;
}
.txtbox01 > p {
	margin-top: 0;
}



/* home
=============================================== */








/* news / blog
=============================================== */

#blog {
	margin: 70px 15px;
}
#blog .inner {
	margin: 0;
	display: block;
	width: auto;
	min-height: auto;
}
#blog #main {
	width: auto;
}
#blog #side {
	width: auto;
	padding: 0;
}
#blog-subtitle {
	margin-bottom: 35px;
	font-size: 2.8rem;
	text-align: center;
	color: #111;
}
.entry-box {
	margin: 0 0 100px;
}
.entry-meta {
	margin: 0 0 15px;
}
.entry-date {
	font-size: 1.4rem;
}
.entry-title {
	margin-bottom: 35px;
}
.entry-title h1 {
	font-size: 2.4rem;
	line-height: 1.5;
}
.entry-title a {
	text-decoration: none;
}
.entry-body p {
	margin: 1.5em 0;
	font-size: 1.6rem;
	line-height: 1.6;
}

#error {
	padding: 50px 0;
}
#error p {
	margin: 1.5em 0;
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: center;
}



/* blog-side
=============================================== */

.side-area {
	margin-bottom: 50px;
}
.side-title {
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 2px solid #CCC;
	font-size: 1.8rem;
	font-weight: bold;
	color: #111;
}
.side-menu-item {
}
.side-menu-list {
	display: flex;
	flex-wrap: wrap;
}
.side-menu-list li {
	width: 50%;
	margin: 0 0 10px;
	padding: 0 5px;
	font-size: 1.6rem;
	line-height: 1.6;
}



/* pager
=============================================== */

.pager {
	padding: 35px 0;
}
.pager a,
.pager span {
	font-size: 1.4rem;
}

}



/* ===============================================
Set smartphone 599px
=============================================== */

@media screen and (max-width:599px) {

/* link
=============================================== */

a[href^="tel:"] {
    pointer-events: auto;
}



/* base
=============================================== */

img {
	max-width: 100%;
	height: auto;
}
.pc, br.pc {
	display: none;
}
.sp {
	display: block;
}
br.sp {
	display: inline-block;
}
.txt-list, .dec-list,
.entry-body ul, .entry-body ol {
	margin: 1em 0 3em 1.8em;
}
.txt-list li, .dec-list li,
.entry-body ul li, .entry-body ol li {
	margin: .5em 0;
	font-size: 1.4rem;
}
.ex {
	margin: 1em 0;
}
.ex li {
	margin: .5em 0;
	padding-left:  1em;
	text-indent: -1em;
	font-size: 1.4rem;
	line-height: 1.8;
}




/* header
=============================================== */

#global-header {
	border-top: none;
}
#header-inner {
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	max-width: none;
}
#global-header #logo {
	display: none;
}

/* navigation
=============================================== */

#pc-nav, #sub-nav {
	display: none;
}
#sp-nav {
	display: block;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
	padding: 15px 0;
	background-color: #FFF;
	transition: .5s;
}
#sp-nav.hide {
    transform: translateY(-100%);
}
#sp-logo {
	display: flex;
	align-items: center;
	height: 50px;
	padding: 0 0 0 15px;
	text-align: left;
}
#sp-logo a {
	display: inline-block;
	font-size: 2.0rem;
	font-weight: bold;
	color: #111;
}
#sp-logo img {
	height: 50px;
}
#overlay_menu {
	z-index: 19;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	transition: 0.3s;
	padding-top: 52px;
	visibility: hidden;
	background-color: #FFF;
}
#overlay_menu ul {
	margin: 0 15px;
}
#overlay_menu li {
	padding: 15px 0;
	text-align: center;
	line-height: 1.5;
}
#overlay_menu li a {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.7;
	text-decoration: none;
	color: #111;
}
#overlay_menu li a span {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
}
#overlay_menu li a:hover,
#overlay_menu li.current a {
	color: #FC8E3D;
}
.open #overlay_menu {
	opacity: 1;
	transition: 0.1s;
	visibility: visible;
}
#overlay_btn, #overlay_btn span {
	z-index: 20;
	top: 15px;
	right: 15px;
	position: fixed;
	transition: 0.3s;
}
#overlay_btn {
	width: 50px;
	height: 50px;
	padding: 10px;
	border-radius: 2px;
	cursor: pointer;
	background-color: #FC8E3D;
}
#overlay_btn span {
	position: absolute;
	left: 10px;
	width: 30px;
	height: 3px;
	border-radius: 0;
	background-color: #FFF;
	transition: 0.3s;
}
.open #overlay_btn span {
	background-color: #FFF;
} 
#overlay_btn span:nth-of-type(1) { top: 10px;}
#overlay_btn span:nth-of-type(2) { top: 20px;}
#overlay_btn span:nth-of-type(3) { top: 30px;}

#overlay_btn p {
	position: absolute;
	left: 0;
	top: 36px;
	width: 100%;
	font-size: 1.0rem;
	font-family: Yu Gothic;
	color: #FFF;
	text-align: center;
}
.open #overlay_btn span:nth-of-type(1) {
	top: 20px;
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.open #overlay_btn span:nth-of-type(2) {
	opacity: 0;
}
.open #overlay_btn span:nth-of-type(3) {
	top: 20px;
	-webkit-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#sub-link {
	margin: 15px 20px 0;
}
#sub-link li {
	width: 100%;
}
#sub-link li a {
	display: block;
	padding: 8px 30px 6px;
	border-radius: 15px;
	font-size: 1.4rem;
	background-color: #CAE8EB;
	color: #4EA6B3;
}
#sub-link li a:hover {
	color: #4EA6B3;
	text-decoration: underline;
	transition: .2s ease;
	opacity: .7;
}



/* footer
=============================================== */

#footer-inner  {
	padding: 35px 15px;
	width: 100%;
	max-width: none;
}
.fnav {
	width: 100%;
	margin-bottom: 20px;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #FFF;
}
.fnav:nth-child(5) {
	display: block;
	padding: 0 0 10px 0;
	width: 100%;
}
.fnav li {
	margin: 0 0 10px 2em;
}
.fnav:nth-child(5) li {
	width: auto;
	margin: 0 0 10px 0;
}
.fnav li a {
	font-size: 1.4rem;
	line-height: 1.4;
	color: #FFF;
}
.fnav dt a,
.fnav:nth-child(5) li a {
	font-size: 1.6rem;
	font-weight: bold;
}
#copyright {
	font-size: 1.2rem;
	text-align: center;
	color: #FFF;
}



/* page
=============================================== */

body {
	min-width: 100%;
}
.totop {
	margin: 0 0 50px 0;
	text-align: center;
}
article {
	padding: 80px 0 0;
}
#page-header {
	padding: 0;
	background-position: 50% 0;
}
#page-header::before {
	background: url(../img/common/bg_pageheader_gr.png) 100% 0 repeat-y;
}
#page-header.page-school-staff,
#page-header.page-promotion-designated-school {
	background-position: 50% 50%;
}
#page-header.page-business-reports,
#page-header.page-seconded-reports,
#page-header.page-school-dentist,
#page-header.page-schedule,
#page-header.page-internship,
#page-header.page-school-dentist-list,
#page-header.page-teaching-materials,
#page-header.page-cogo {
	background-position: 50% 0%;
}
#page-header.page-guardians,
#page-header.page-mouth-healthy-check,
#page-header.page-mouth-and-dental-injuries,
#page-header.page-saigaikyosai {
	background-position: 50% 50%;
}
#page-header.page-students,
#page-header.page-contest,
#page-header.page-dental-topics {
	background-position: 50% 50%;
}
#page-header.page-documents {
	background-position: 50% 15%;
}



#page-header h1 {
	margin: 0;
	padding: 50px 0 50px 20px;
}
#page-header h1 span {
	font-size: 2.0rem;
}
.breadcrumbs {
	display: none;
}
.page-sub-menu {
	margin: auto;
	padding: 30px 0;
	width: 100%;
	max-width: auto;
}
.page-sub-menu ul {
	margin: 0 15px;
	display: flex;
	flex-wrap: wrap;
}
.page-sub-menu ul li {
	margin: 0 0 20px 0;
	width: 100%;
}
.page-sub-menu ul li a {
	height: auto;
	padding: 30px 30px 30px 15px;
	border-width: 2px;
	font-size: 1.4rem;
	background: url(../img/common/icon_arrow01_r.svg) 95% 50% no-repeat;
	background-size: 20px;
}
.page-sub-menu ul li a:hover {
	background: #FFFAEF url(../img/common/icon_arrow01_r.svg) 97% 50% no-repeat;
	background-size: 20px;
}


.container {
	background: #FFF;
}
.container .inner {
	margin: 0;
	padding: 50px 15px;
	max-width: auto;
}
.container .inner p {
	margin: 1em 0;
	font-size: 1.2rem;
}
.h2-01 {
	font-size: 1.6rem;
}
.h2-02 {
	padding-bottom: 10px;
	border-bottom: 2px solid #CCC;
	font-size: 1.6rem;
}
.h3-01 {
	margin: 25px 0;
	padding: 12px;
	font-size: 1.4rem;
}
.h4-01 {
	margin: .75em 0;
	font-size: 1.4rem;
}
.link01 {
	padding: 1px 22px 1px 0;
	font-size: 1.4rem;
	background: url(../img/common/icon_arrow01_r.svg) 100% 0 no-repeat;
	background-size: auto 16px;
}

.btn01 {
	padding: 0 0 35px;
	text-align: center;
}
.btn01 a {
	display: inline-block;
	min-width: 240px;
	padding: 15px 20px;
	border-radius: 2px;
	font-size: 1.4rem;
	font-weight: bold;
	background-color: #111;
	color: #FFF;
}
.btn01 a:hover {
	opacity: 0.7;
	transition: .1s ease;
}
.btn02 {
	padding: 0 0 35px;
	text-align: center;
}
.btn02 a {
	display: block;
	min-width: none;
	padding: 12px 18px;
	border-radius: 25px;
	font-size: 1.4rem;
}
.btn02 a:hover {
	opacity: 0.7;
	transition: .1s ease;
}
.btn-back {
	text-align: center;
	font-size: 1.4rem;
}

.clm2 {
	display: block;
}
.clm2 .clm2-left {
	margin: 15px 0;
	padding-right: 0;
	width: auto;
}
.clm2 .clm2-right {
	margin: 15px 0;
	padding-left: 0;
	width: auto;
}
.txtbox01 p {
	margin: 1em 0;
	font-size: 1.4rem;
	line-height: 1.6;
}
.txtbox01 > p {
	margin-top: 0;
}



/* home
=============================================== */

#eye {
	position: relative;
	width: auto;
	margin: 80px auto 0;
}
#eye ul {
	height: 50vh;
}
.swiper-slide > img {
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 50vh;
}
#notice {
	padding: 35px 15px;
}
#notice .inner {
	margin: 0;
	width: 100%;
	max-width: none;
}
#notice .inner h2 {
	margin-bottom: 20px;
	font-size: 1.8rem;
}
#notice .inner h3 {
	margin-bottom: 20px;
	font-size: 1.6rem;
}
#notice .inner p {
	font-size: 1.4em;
}
#mid-menu {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 15px 15px 0;
	width: auto;
	max-width: none;
}
#mid-menu a {
	margin: 0 0 15px 0;
	padding: 30px 5px 40px;
	width: 100%;
	max-width: none;
	transition: 1s ease;
	background: url(../img/common/icon_arrow02_r.svg) 50% 90% no-repeat;
	background-size: auto 14px;
}
#mid-menu a dt {
	margin-bottom: 10px;
	font-size: 2.0rem;
}
#mid-menu a dt br {
	display: none;
}
#mid-menu a dd {
	font-size: 1.4rem;
}
#info {
	padding: 35px 0;
}
#info-inner {
	margin: auto;
	padding: 0 15px;
	max-width: none;
}
#news h2 {
	margin: 0 0 30px;
	font-size: 2.0rem;
}
#news h2 span {
	font-size: 1.2rem;
}
.post-list {
	margin: 0 0 20px;
	flex: 1;
}
.post-list li .post-data {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.post-list li .post-datetime {
	width: 25%;
	font-size: 1.4rem;
}
.post-list li .post-category {
	padding-top: 0;
	min-width: 25%;
}
.post-list li .post-category a {
	font-size: 1.2rem;
}
.post-list li .post-title {
	width: 100%;
	padding: 10px 0 0 0;
	font-size: 1.4rem;
}



/* news / blog
=============================================== */

#blog-subtitle {
	margin: 0 0 15px;
	font-size: 1.6rem;
	text-align: center;
}
#blog {
	margin: 0;
	padding: 30px 15px 50px;
	width: auto;
}
.entry-box {
	margin-bottom: 35px;
}
.entry-meta {
	margin: 0 0 25px;
	overflow: hidden;
}
.entry-date {
	font-size: 1.2rem;
}
.entry-title {
	margin-bottom: 20px;
}
.entry-title h1 {
	font-size: 1.8rem;
}
.entry-title a {
	text-decoration: none;
}
.entry-body {
}
.entry-body p {
	font-size: 1.4rem;
	line-height: 1.6;
}



/* blog-side
=============================================== */

#side {
	width: auto;
	padding: 0 15px;
}
.side-area {
	margin: 30px 0;
}
.side-title {
	margin-bottom: 15px;
	padding: 15px 0 14px;
	font-size: 1.6rem;
}

/* widget
=============================================== */

.widgettitle {
	margin-bottom: 10px;
	padding: 15px 0 14px;
	font-size: 1.6rem;
}
