@charset "UTF-8";
/*

  style.css

*/
html, body, div, span, applet, 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, s, samp,
small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,figure, figcaption, footer, header,
hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}
*, *::before, *::after {
  box-sizing: border-box;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}

html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	line-height: 1;
}
body {
	color: #1b1b1b;
	background: #fff;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 1.6rem;
  line-height: 1.73;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a {
  color: #fb8ca5;
	text-decoration: none;
  transition: .1s;
}
strong {
	font-weight: bold;
}
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='search'],
input[type='submit'],
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
textarea {
  resize: vertical;
}
input[type='submit'],
input[type='button'],
label, button, select {
  cursor: pointer;
}
input::placeholder {
  color: #b5b5b5;
}
/* 旧Edge対応 */
input::-ms-input-placeholder {
  color: #b5b5b5;
}
/* IE対応 */
input:-ms-input-placeholder {
  color: #b5b5b5;
}

/*
= Slick slider
----------------------------------------------- */
.slick-slider{
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list{
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus{
    outline: none;
}
.slick-list.dragging{
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track{
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after{
    display: table;
    content: '';
}
.slick-track:after{
    clear: both;
}
.slick-loading .slick-track{
    visibility: hidden;
}
.slick-slide{
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide{
    float: right;
}
.slick-slide img{
    display: block;
}
.slick-slide.slick-loading img{
    display: none;
}
.slick-slide.dragging img{
    pointer-events: none;
}
.slick-initialized .slick-slide{
    display: block;
}
.slick-loading .slick-slide{
    visibility: hidden;
}
.slick-vertical .slick-slide{
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

.slick-prev, .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
  display: block;
  width: 4rem;
  height: 5.7rem;
  color: transparent;
  border: none;
  background: transparent;
  outline: none;
  cursor: pointer;
  z-index: 1;
}
.slick-prev {
  left: -8rem;
  background: url(../img/shared/slick_arrow_left.svg) no-repeat 100%;
}
.slick-next {
    right: -8rem;
    background: url(../img/shared/slick_arrow_right.svg) no-repeat 100%;
}

.slick-dots {
	display: block;
	width: auto;
  height: auto;
  position: absolute;
  z-index: 10;
	left: 50%;
  transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
  bottom: 4rem;
}
.slick-dots li {
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1rem;
  border-radius: 50%;
	background: #e5e5e5;
  text-indent: -9999px;
  vertical-align: middle;
  cursor: pointer;
}
.slick-dots li.slick-active {
	background: #fff100;
}


/*
= 共通
----------------------------------------------- */
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 30%);
  transition: 1s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.slide_up {
  transform: translate(0, 40%);
}
.slide_up.is-show {
	animation: slideUp .7s ease forwards;
	transition-delay: 2s;
  /* transform: translate(0, 0); */
}
@keyframes slideUp {
	100% {transform: translate(0, 0);}
}
.img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.top_title {
	position: relative;
	color: #91684a;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.06em;
}
.btn01 {
	margin: 2.4rem 0;
	text-align: center;
}
.btn01 a {
	display: inline-block;
	position: relative;
	color: #fff;
	font-weight: bold;
	text-align: center;
	background: #ffaec0;
	border-radius: 3.3rem;
	box-shadow: 0 4px 0 #fb8ca5;
}
.btn01 a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(../img/icon_arrow01.svg) no-repeat;
	background-size: 100%;
	transition: .1s;
}
#online-btn {
	position: fixed;
	z-index: 1000;
}
#online-btn a {
	display: block;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
  .pc {
		display: block !important;
	}
	.sp {
		display: none !important;
	}
	#wrapper {
		min-width: 1100px;
	}
	body:not(.home) #wrapper {
		padding-top: 140px;
	}
	.inner {
		width: 1100px;
		padding: 0 10px;
		margin: 0 auto;
	}
	.top_title {
		font-size: 3rem;
	}
	.top_title span {
		display: inline-block;
	}
	.btn01 a {
		min-width: 250px;
		font-size: 1.7rem;
		padding: 10px 35px 10px 20px;
		text-indent: 7px;
	}
	.btn01 a::after {
		right: 1.8rem;
		width: 1rem;
		height: 1.7rem;
	}
	.btn01 a:hover {
		background: #fb8ca5;
		box-shadow: 0 4px 0 #f6718f;
	}
	#online-btn {
		right: 20px;
		bottom: 50px;
	}
	#online-btn a {
		width: 125px;
		-webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
	}
	#online-btn a:hover {
		-webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
	}

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
  .pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	html {
    min-width: 300px;
    font-size: calc(100vw / 75);
	}
	body {
		max-width: 100%;
    font-size: 2.8rem;
    line-height: 1.9;
	}
  #wrapper {
		padding-top: 11rem;
  	overflow-x: hidden;
  }
	.inner {
		padding: 0 2rem;
	}
  .slick-dots li {
    width: 1.9rem;
    height: 1.9rem;
    margin: 0 1.25rem;
  }
	.top_title {
		font-size: 4rem;
	}
	.top_title span {
		display: block;
		margin-bottom: 3.3rem;
	}
	.btn01 {
		margin: 4rem 0;
	}
	.btn01 a {
		width: 55rem;
		font-size: 3.2rem;
		padding: 2rem;
		border-radius: 5.5rem;
	}
	.btn01 a::after {
		right: 2.9rem;
		width: 1.5rem;
		height: 2.5rem;
	}
	#online-btn {
		bottom: 0;
		left: 0;
		width: 100%;
	}
	#online-btn .fixed_btn {
		display: flex;
		width: 100%;
	}
	#online-btn .fixed_btn li {
		width: calc(100% / 3);
		padding: 2rem 2rem 0;
	}
	#online-btn .fixed_btn li + li {
		border-left: 1px solid #fff;
	}
	#online-btn .fixed_btn li.tel {
		background: #2b5895;
	}
	#online-btn .fixed_btn li.line {
		background: #03c755;
	}
	#online-btn .fixed_btn li.mail {
		background: #ec8c8c;
	}
	#online-btn .fixed_btn li a {
		position: relative;
		width: 100%;
		color: #fff;
		font-size: 2.6rem;
		text-align: center;
		font-weight: bold;
		padding-top: 7.5rem;
	}
	#online-btn .fixed_btn li a::before {
		content: "";
		display: block;
		position:absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	#online-btn .fixed_btn li.tel a::before {
		width: 5.5rem;
		height: 6rem;
		background: url(../img/icon_tel.svg) no-repeat;
		background-size: 100%;
		margin-top: 0.8rem;
	}
	#online-btn .fixed_btn li.line a::before {
		width: 7.3rem;
		height: 7.5rem;
		background: url(../img/icon_line.png) no-repeat;
		background-size: 100%;
	}
	#online-btn .fixed_btn li.mail a::before {
		width: 7rem;
		height: 5.7rem;
		background: url(../img/icon_mail.svg) no-repeat;
		background-size: 100%;
		margin-top: 1rem;
	}
}


/*
  = header main
-------------------------------------------------- */
.logo_text {
	display: none;
}
.home .logo_text {
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
}
.header {
	position: relative;
  width: 100%;
	z-index: 100;
}
.header .header_in {
  position: relative;
}
.header .header_in .guide_nav_01 li a,
.header .header_in .menu li,
.header .header_in .menu > li > a,
.header .header_in .menu > li > ul > li > a  {
	display: block;
  position: relative;
}
.header .header_in .menu > li > a {
	display: block;
	color: #5d534a;
	font-weight: bold;
}
.header .header_in .menu > li > ul > li > a {
	display: block;
	color: #5d534a;
	font-weight: 600;
}
.header .header_in .guide_nav_01 li a::before,
.header .header_in .menu > li > a::before,
.header .header_in .menu > li > ul > li > a::before {
	display: block;
  content: "";
  position: absolute;
}
.header .header_in .menu > li > ul > li > a[target$="_blank"]::after {
	content: "";
  display: inline-block;
	position: relative;
	right: -0.5rem;
	bottom: 0;
  width: 1.3rem;
  height: 1.1rem;
  background: url(../img/shared/blank_icon_blue.png) right center no-repeat;
	background-size: 100%;
}
.header .header_in .guide_nav_01 li a::before,
.header .header_in .access_btn a::before {
  background: url(../img/shared/arrow_icon01.svg) no-repeat;
  background-size: 100%;
}
.header .header_in .menu > li.about > a::before {
	background: url(../img/icon_menu01.png) no-repeat;
  background-size: 100%;
}
.header .header_in .menu > li.class > a::before {
	background: url(../img/icon_menu02.png) no-repeat;
  background-size: 100%;
}
.header .header_in .menu > li.flow > a::before {
	background: url(../img/icon_menu03.png) no-repeat;
  background-size: 100%;
}
.header .header_in .menu > li.actual > a::before {
	background: url(../img/icon_menu04.png) no-repeat;
  background-size: 100%;
}
.header .header_in .menu > li.student > a::before {
	background: url(../img/icon_menu05.png) no-repeat;
  background-size: 100%;
}
.header .header_in .menu > li.contact > a::before {
	background: url(../img/icon_menu06.png) no-repeat;
  background-size: 100%;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
  #main {
		min-height: 700px;
		background: #e2f3fc;
		padding-bottom: 150px;
  }
	.logo_text01 {
		width: 203px;
		top: 90px;
	}
	.logo_text02 {
		width: 400px;
		top: 10px;
	}
	.header {
		background-image: url(../img/header_bg.jpg);
		background-position: center top;
		background-repeat: no-repeat;
		background-size: cover;
	}
	body:not(.home) .header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background-color: #fff;
	}
	body:not(.home) .header::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		height: 30px;
		background: url(../img/header_after.png) repeat-x;
		background-size: 100%;
		z-index: 2;
	}
	.home .header .header_in {
		padding: 0 1rem;
	}
	.header .header_in .header_tel {
	  position: fixed;
		top: 0;
		right: 20px;
		z-index: 10;
	}
	.header .header_in .header_tel a {
		display: block;
		width: 205px;
	}
	.header .header_in .header_tel a:hover {
		opacity: .8;
	}
	.header .header_in .menu_area {
		position: relative;
		width: 1100px;
    padding-top: 3rem;
    margin: 0 auto;
	}
	.header .header_in .menu_area .pc.logo {
		position: absolute;
		top: 15px;
		left: 50%;
		transform: translate(-50%, 0);
		width: 120px;
	}
	.header .header_in .menu_area .pc.logo a {
		display: block;
		text-align: center;
		margin: 0 auto;
	}
	.header .header_in .menu_area .pc.logo a .page_img {
		display: none;
	}
	.home .header .header_in .menu_area .pc.logo a .home_img {
		display: block;
		width: 88px;
		margin: 0 auto;
	}
	body:not(.home) .header .header_in .menu_area .pc.logo a .home_img {
		display: none;
	}
	body:not(.home) .header .header_in .menu_area .pc.logo a .page_img {
		display: block;
		width: 110px;
		margin: 0 auto;
	}
  .header .header_in .guide_area,
  .header .header_in .menu {
    display: flex;
  }
	.header .header_in .menu {
		justify-content: center;
		padding-top: 20px;
	}
	.header .header_in .menu > li {
		min-width: 130px;
	}
	.header .header_in .menu > li:nth-child(3) {
		margin-right: 180px;
	}
	.header .header_in .menu > li > a {
		font-size: 1.8rem;
		text-align: center;
		padding: 45px 0 10px;
	}
	.header .header_in .menu > li > a::before {
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		-webkit-transform: scale(1);
	  -moz-transform: scale(1);
	  -ms-transform: scale(1);
	  -o-transform: scale(1);
	  transform: scale(1);
	}
	.header .header_in .menu > li.about > a::before {
		width: 38px;
		height: 38px;
	}
	.header .header_in .menu > li.class > a::before {
		width: 40px;
		height: 40px;
	}
	.header .header_in .menu > li.flow > a::before {
		width: 42px;
		height: 40px;
	}
	.header .header_in .menu > li.actual > a::before {
		width: 33px;
		height: 34px;
	}
	.header .header_in .menu > li.student > a::before {
		width: 42px;
		height: 40px;
	}
	.header .header_in .menu > li.contact > a::before {
		width: 35px;
		height: 35px;
	}
	.header .header_in .menu > li:hover > a {
		color: #ffaec0;
	}
	.header .header_in .menu > li:hover > a::before {
		-webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
	}
	.header .header_in .menu > li > ul {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		padding-bottom: 1.2rem;
		background: #ffaec0;
		border: 2px solid #ffaec0;
		border-radius: 1rem;
		z-index: 10;
	}
	.header .header_in .menu > li:last-child > ul {
		left: auto;
		right: 0;
	}
	.header .header_in .menu > li:hover > ul {
		display: block;
		z-index: 300;
	}
	.header .header_in .menu > li > ul > li:first-child {
    position: relative;
  }
	.header .header_in .menu > li:last-child > ul > li:first-child::before {
		left: 17.7rem;
	}
  .header .header_in .menu > li > ul > li > a {
		color: #fff;
    min-width: 26rem;
    font-size: 1.6rem;
    padding: 1.3rem 1.5rem 1.3rem 2.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.2);
  }
	.header .header_in .menu > li > ul > li:first-child a {
		border-radius: 0.8rem 0.8rem 0 0;
	}
  .header .header_in .menu > li > ul > li > a:hover {
    background: #fb8ca5;
  }

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
  .header {
		position: fixed;
	  top: 0;
	  left: 0;
    height: 11rem;
		background: #fff;
  }
	.header::after {
		content: "";
		position: absolute;
		top: 97%;
		left: 0;
		width: 100%;
		height: 2.4rem;
		background: url(../img/header_after_sp.png) repeat-x;
		background-size: 100%;
	}
	.logo_text01 {
		width: 38%;
		top: 11.5rem;
	}
	.logo_text02 {
		width: 65%;
		top: 7rem;
	}
  #sp-h-logo {
		display: flex;
		align-items: center;
    padding-top: 1.5rem;
    margin-left: 1rem;
  }
	#sp-h-logo h1 {
		color: #013f93;
		font-size: 2.8rem;
		font-weight: bold;
	}
	#sp-h-logo .img {
		display: block;
		width: 9rem;
		margin-right: 1rem;
	}
	#sp-main-logo {
		position: absolute;
		top: 0;
		left: 50%;
		-ms-transform: translate(-50%, 0);
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
		width: 13rem;
		padding-top: 1rem;
		z-index: 2;
	}
  .header #nav-btn {
    position: absolute;
    top: 1.8rem;
    right: 0;
    width: 10.8rem;
    height: 8rem;
		color: #013f93;
    text-align: center;
		font-weight: bold;
    font-size: 2rem;
    padding-top: 1rem;
		border-left: 1px dotted #ccc;
  }
  .header #nav-btn::after {
    content: "MENU";
  }
  .menu-open .header #nav-btn::after {
    content: "閉じる";
  }
  .header #nav-btn .humburger {
		position: relative;
		width: 5.5rem;
		height: 3.5rem;
		cursor: pointer;
		margin: 0 auto 0.5rem;
	}
	.header #nav-btn .humburger span {
		position: absolute;
    left: 0;
    top: 50%;
    background-color: #013f93;
    width: 100%;
    height: 0.4rem;
		border-radius: 0.2rem;
    transition: transform .3s ease, opacity .3s ease;
	}
	.header #nav-btn .humburger span:first-child {
		transform: translateY(-1.5rem);
	}
	.header #nav-btn .humburger span:last-child {
		transform: translateY(1.5rem);
	}
	.menu-open .header #nav-btn .humburger span:first-child {
    transform: rotate(225deg);
  }
	.menu-open .header #nav-btn .humburger span:nth-child(2) {
    transform: translateX(-50%);
    opacity: 0;
	}
	.menu-open .header #nav-btn .humburger span:last-child {
    transform: rotate(-225deg);
	}
	.header .header_in .nav_wpr .nav_in {
    display: flex;
    flex-direction: column;
  }
  .header .header_in .menu_area {
    order: 1;
		background: #fff;
  }
  .header .header_in .guide_area {
    order: 2;
		background: #fff;
  }
	.header .header_in .nav_wpr {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
		bottom: 0;
		width: 100%;
    margin-top: 11rem;
		z-index: 111;
  }
	.header .header_in .nav_wpr .bg {
		height: 100%;
		padding: 2rem;
		background-color: #fdf2f3;
    background-image: linear-gradient(-90deg, rgba(255,255,255,0.2) 50%, transparent 50%);
		background-size: 2rem;
		overflow: auto;
		overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
	}
	.header .header_in .nav_wpr .nav_in {
		border: 0.4rem solid #fec6d3;
		border-radius: 1rem;
	}
	.header .header_in .menu > li > a {
		font-size: 3.2rem;
		padding: 2.7rem 2.7rem 2.7rem 10.4rem;
	}
	.header .header_in .menu > li + li {
		border-top: 1px dashed rgba(0,0,0,0.2);
	}
	.header .header_in .menu > li > a::before {
		width: 4.7rem;
		height: 4.8rem;
		left: 3rem;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.header .header_in .menu > li > a::after {
		content: "";
		position: absolute;
		right: 3.7rem;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1.4rem;
		height: 2.5rem;
		background: url(../img/icon_arrow02.svg) no-repeat;
		background-size: 100%;
		transition: .2s;
	}
	.header .header_in .menu > li.sub-menu-open > a::after {
		transform: rotate(90deg);
	}
	/* サブメニュー共通 */
	.header .header_in .menu > li > ul {
		display: none;
		background: #e2f3fc;
		padding: 2.5rem 0;
	}
	.header .header_in .menu > li > ul > li a {
		display: block;
		font-size: 3rem;
		padding: 1rem 9rem;
	}
	/* 第三階層 */
	.header .header_in .menu > li > ul > li > a::before {
		width: 1.4rem;
		height: 2.5rem;
		left: 4rem;
		top: 0;
		bottom: 0;
		margin: auto;
		background: url(../img/icon_arrow01.svg) no-repeat;
		background-size: 100%;
	}
}

/*
  = main_slider
-------------------------------------------------- */
.main_visual {
	position: relative;
	overflow: hidden;
	z-index: 0;
}
.main_visual .main_slider {
  z-index: 2;
}
.main_visual .lead {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	text-align: center;
	z-index: 200;
}
.main_visual .lead span {
	display: block;
	color: #f47676;
	letter-spacing: 0.04rem;
	text-shadow: 0 0 0.6rem #fff,0 0 0.6rem #fff,0 0 0.6rem #fff,0 0 0.6rem #fff,0 0 0.6rem #fff,0 0 0.6rem #fff,0 0 0.6em #fff;
	font-weight: bold;
	line-height: 1.5;
}
.main_item {
	position: absolute;
	z-index: 1;
}
.main_item_smile {
	display: flex;
	align-items: flex-end;
	z-index: 3;
}
.main_item_smile p {
	white-space: nowrap;
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.main_visual {
		min-height: 660px;
		background: url(../img/main_visual_bg.jpg) center top no-repeat;
		background-size: cover;
		padding-top: 90px;
	}
	.main_visual .main_slider {
		max-width: 700px;
		margin: -50px auto 0;
	}
	.main_visual .lead {
		top: 470px;
	}
	.main_visual .lead span {
		font-size: 2.7rem;
	}
	.main_item01 {
		top: 180px;
		left: -10px;
		width: 380px;
	}
	.main_item02 {
		top: 200px;
		right: 0;
		width: 250px;
	}
	.main_item_smile {
		top: 437px;
		right: 180px;
	}
	.main_item_smile .smile_img {
		width: 150px;
	}
	.main_item_smile p {
		font-size: 1.2rem;
		margin-bottom: 25px;
	}
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
	#main {
		padding-bottom: 17%;
	}
	.main_visual .main_slider {
		width: 54%;
	}
	.main_visual .lead {
		top: 69%;
	}
	.main_item_smile {
		right: 13%;
	}
}


/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.main_visual {
		height: 85rem;
		background: url(../img/main_visual_bg_sp.jpg) center top no-repeat;
		background-size: cover;
		overflow: hidden;
	}
	.main_visual .main_slider {
		padding: 0 2rem;
		margin-top: 9rem;
	}
	.main_visual .lead {
		top: 53rem;
	}
	.main_visual .lead span {
		font-size: 3.5rem;
		line-height: 1.5;
	}
	.main_item01 {
		bottom: -5rem;
		left: -4rem;
		width: 24.3rem;
	}
	.main_item02 {
		bottom: -2rem;
		right: -5rem;
		width: 19rem;
	}
	.main_item_smile {
		bottom: 0;
    right: 7rem;
	}
	.main_item_smile .smile_img {
		width: 12rem;
	}
	.main_item_smile p {
		font-size: 1.6rem;
		line-height: 1.3;
		margin-bottom: 3rem;
	}
}


/*
  = top_news
-------------------------------------------------- */
.top_news {
	position: relative;
}
.top_news::before,
.top_news::after {
	content: "";
	display: block;
	position: absolute;
  left: 0;
  width: 100%;
	z-index: 2;
}
.top_news::before {
	background: url(../img/news_before.png) no-repeat;
	background-size: 100%;
}
.top_news::after {
	background: url(../img/news_after.png) repeat-x;
	background-size: auto 100%;
}
.top_news .top_title::before {
	content: "";
	display: block;
	position: absolute;
	background: url(../img/news_item01.png) no-repeat;
	background-size: 100%;
}
.top_news .news_date {
	color: #313131;
	margin-right: 1.5rem;
	letter-spacing: 0.1em;
}
.post_wpr .post {
	border-bottom: 1px dashed #c6d0da;
}
.top_news .post_wpr .post a {
	display: block;
}


/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.top_news {
		padding: 70px 0 70px;
	}
	.top_news::before {
		top: -23px;
		left: 0;
	  height: 27px;
	}
	.top_news::after {
		bottom: -30px;
		left: 0;
	  height: 95px;
	}
	.top_news .inner {
		display: flex;
		align-items: center;
	}
	.top_news .top_title {
		width: 260px;
		text-align: left;
		padding-left: 80px;
		margin-bottom: 0;
	}
	.top_news .top_title::before {
		top: -60px;
		left: 0;
		width: 70px;
		height: 112px;
	}
	.top_news .news_contents {
		display: flex;
		align-items: flex-end;
		width: calc(100% - 280px);
	}
	.top_news .news_contents .post_wpr {
		width: 520px;
		padding: 0 2rem;
	}
	.top_news .news_contents .post_wpr .post a {
		display: flex;
		padding: 13px 10px;
	}
	.top_news .news_contents .news_date {
		min-width: 90px;
		font-size: 1.3rem;
	}
	.top_news .news_contents .post_wpr .post a:hover .news_title {
		text-decoration: underline;
	}
	.top_news .news_contents .btn01 {
		width: 250px;
		margin: 0 30px;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.top_news {
		padding: 3rem 0;
	}
	.top_news::before {
		top: -2.3rem;
		left: 0;
	  height: 2.5rem;
		background-size: 152%;
	}
	.top_news::after {
		bottom: -7.3rem;
    left: 0;
    height: 9rem;
    background-size: 150%;
	}
	.top_news .top_title {
		text-align: center;
		padding-top: 10rem;
		margin-bottom: 0;
	}
	.top_news .top_title::before {
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 7rem;
		height: 10rem;
	}
	.top_news .news_contents .post_wpr {
		padding: 0 2rem;
		margin-bottom: 5rem;
	}
	.top_news .news_contents .post_wpr .post a {
		padding: 1rem 0;
	}
	.top_news .news_contents .news_date {
		font-size: 2.4rem;
	}
	.top_news .news_contents .btn01 {
		margin: 0;
	}

}

/*
  = top_about
-------------------------------------------------- */
.top_about {
	position: relative;
	background: #fdf2f3;
}
.top_about::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	background: url(../img/about_after.png) repeat-x;
	background-size: auto 100%;
	z-index: 2;
}
.top_about .top_title {
	text-align: center;
}
.top_about .top_title span {
	background: url(../img/about_title_bg.png) center no-repeat;
	background-size: contain;
	margin: 0 auto;
}
.about_contents .text_area {
	font-family: 游明朝体, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	letter-spacing: 0.04em;
}
.about_contents .text_area h3 {
	display: inline-block;
	position: relative;
	color: #0073b9;
	font-weight: 600;
}
.about_contents .text_area h3::before,
.about_contents .text_area h3::after {
	content: "";
	display: block;
	position: absolute;
}
.about_contents .text_area h3::before {
	right: 0;
	top: 0;
	background: url(../img/about_h3_before.png) no-repeat;
	background-size: 100%;
}
.about_contents .text_area h3::after {
	left: 0;
	bottom: 0;
	background: url(../img/about_h3_after.png) no-repeat;
	background-size: 100%;
}
.about_contents .text_area .text01 {
	line-height: 2.1;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.top_about {
		padding: 90px 0 50px;
	}
	.top_about::after {
		bottom: -30px;
		left: 0;
	  height: 90px;
	  background: url(../img/about_after.png) repeat-x;
	  background-size: auto 100%;
	}
	.top_about .bg {
		padding: 20px 0 0;
		background: url(../img/about_bg.png) center no-repeat;
		background-size: contain;
		margin: 0 1%;
	}
	.top_about .top_title {
		margin-bottom: 30px;
	}
	.top_about .top_title span {
		display: inline-block;
		width: 580px;
		padding: 29px 20px;
	}
	.top_about .about_contents {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 55px;
		margin-bottom: 20px;
	}
	.top_about .about_contents .text_area {
		width: 60%;
	}
	.about_contents .text_area h3 {
		font-size: 2.8rem;
		padding: 36px 0;
		margin-bottom: 15px;
	}
	.about_contents .text_area h3::before {
		width: 120px;
		height: 42px;
	}
	.about_contents .text_area h3::after {
		width: 120px;
		height: 42px;
	}
	.about_contents .text_area .text01 {
		font-size: 1.7rem;
	}
	.top_about .about_contents .img_area {
		width: 35%;
		margin: 0 2%;
	}

}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.top_about {
		padding: 10rem 0 3rem;
	}
	.top_about::after {
		bottom: -7.3rem;
    left: 0;
    height: 9rem;
    background-size: 150%;
	}
	.top_about .bg {
		padding-bottom: 5rem;
		background: url(../img/about_bg_sp.png) center top no-repeat, url(../img/about_bg_sp.png) center bottom no-repeat;
		background-size: auto 7.7rem, auto 7.7rem;
	}
	.top_about .top_title {
		padding-top: 5rem;
	}
	.top_about .top_title span {
		padding: 3.5rem;
	}
	.top_about .about_contents {
		margin-bottom: 6rem;
	}
	.about_contents .text_area {
		margin-bottom: 4rem;
	}
	.about_contents .text_area h3 {
		display: block;
		font-size: 3.8rem;
		text-align: center;
		padding: 4rem 0;
		margin-bottom: 15px;
	}
	.about_contents .text_area h3::before,
	.about_contents .text_area h3::after {
		width: 16rem;
		height: 6rem;
	}
	.about_contents .text_area .text01 {
		font-size: 3rem;
	}
	.top_about .about_contents .img_area {
		margin: 0 4rem;
	}


}


/*
  = top_intro
-------------------------------------------------- */
.top_intro {
	position: relative;
	background: #fffcdb;
}
.top_intro::before,
.top_intro::after {
	content: "";
	display: block;
	position: absolute;
}
.top_intro::before {
	left: 0;
	background: url(../img/intro_before.png) no-repeat;
	background-size: 100%;
}
.top_intro::after {
	right: 0;
	background: url(../img/intro_after.png) no-repeat;
	background-size: 100%;
}
.top_intro .top_title {
	text-align: center;
}
.top_intro .top_title span {
	text-align: center;
	background: url(../img/intro_title_bg.png) center no-repeat;
	background-size: contain;
	margin: 0 auto;
}
.intro_contents .item .img {
	position: relative;
}
.intro_contents .item .class {
	display: flex;
	justify-content: center;
	align-items: center;
	background: url(../img/intro_h3_bg.png) no-repeat;
	background-size: contain;
}
.intro_contents .item .class.abs {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.intro_contents .item .class h3 {
	color: #ae8045;
	font-weight: bold;
	text-align: center;
}
.intro_contents .item .class h3 span {
	display: block;
	line-height: 1.2;
}
.intro_contents .item p {
	text-align: center;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.top_intro {
		padding: 100px 0 50px;
		background: repeating-linear-gradient(-45deg, #fffcdb, #fffcdb 1rem, #fffde8 1rem, #fffde8 2rem);
	}
	.top_intro::before {
		top: 50px;
		width: 280px;
		height: 170px;
	}
	.top_intro::after {
		bottom: 30px;
		width: 280px;
		height: 170px;
	}
	.top_intro .top_title {
		margin-bottom: 50px;
	}
	.top_intro .top_title span {
		display: inline-block;
		width: 350px;
		padding: 29px 20px;
	}
	.intro_contents {
		display: flex;
		flex-wrap: wrap;
		padding: 0 5%;
		margin: 0 auto;
	}
	.intro_contents .item {
		width: calc(100% / 3);
		padding: 0 25px;
		margin-bottom: 80px;
	}
	.intro_contents .item:nth-of-type(1),
	.intro_contents .item:nth-of-type(2),
	.intro_contents .item:nth-of-type(4),
	.intro_contents .item:nth-of-type(5) {
		border-right: 1px dashed rgba(0,0,0,0.2);
	}
	.intro_contents .item .img {
		margin-bottom: 105px;
	}
	.intro_contents .item .class.abs {
		top: 85%;
	}
	.intro_contents .item .class {
		width: 191px;
		height: 126px;
		margin: 0 auto;
	}
	.intro_contents .item .class.noimg {
		width: 230px;
		height: 152px;
		margin-bottom: 15px;
	}
	.intro_contents .item .class h3 {
		font-size: 2.5rem;
	}
	.intro_contents .item .class h3 span {
		font-size: 1.5rem;
	}
	.intro_contents .item .class.row2 h3 {
		font-size: 2rem;
		line-height: 1.25;
	}
	.intro_contents .item p {
		height: 120px;
	}


}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.top_intro {
		padding: 12rem 2rem 10rem;
		background: repeating-linear-gradient(-45deg, #fffcdb, #fffcdb 2rem, #fffde8 2rem, #fffde8 4rem);
	}
	.top_intro::before {
		top: 15rem;
		left: -1rem;
		width: 26rem;
		height: 17rem;
	}
	.top_intro::after {
		bottom: 3rem;
		right: -1rem;
		width: 26rem;
		height: 17rem;
	}
	.top_intro .top_title {
		margin-bottom: 7rem;
	}
	.top_intro .top_title span {
		padding: 3rem;
	}
	.intro_contents {
	padding: 0 2rem;
	}
	.intro_contents .item {
		margin-bottom: 8rem;
	}
	.intro_contents .item + .item {
		padding-top: 4rem;
		border-top: 1px dashed rgba(0,0,0,0.2);
	}
	.intro_contents .item .img {
		margin-bottom: 22rem;
	}
	.intro_contents .item .class.abs {
		top: 85%;
	}
	.intro_contents .item .class {
		width: 38rem;
		height: 25.5rem;
		margin: 0 auto;
	}
	.intro_contents .item .class.noimg {
		width: 40rem;
		height: 27rem;
		margin-bottom: 3rem;
	}
	.intro_contents .item .class h3 {
		font-size: 3.8rem;
	}
	.intro_contents .item .class h3 span {
		font-size: 2.8rem;
	}
	.intro_contents .item .class.row2 h3 {
		padding-left: 1rem;
		line-height: 1.25;
	}

}


/*
  = top_info
-------------------------------------------------- */
.top_info {
	position: relative;
}
.info_list li a {
	display: block;
	color: #fff;
	font-weight: bold;
	background: linear-gradient(90deg, #ffb1bd, #ffc2a1);
	box-shadow: 0 0 0 2px #ffc2a1;
	border: 1px solid #fff;
	border-radius: 4.5rem;
}
.info_list li a h2 {
	position: relative;
}
.info_list li.faq a h2 {
	background: url(../img/icon_faq.png) left center no-repeat;
}
.info_list li.contact a h2 {
	background: url(../img/icon_contact.png) left center no-repeat;
}
.info_list li.calender a h2 {
	background: url(../img/icon_calender.png) left center no-repeat;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.top_info {
		padding: 110px 0 70px;
		background: url(../img/info_bg.jpg) top center no-repeat;
		background-size: cover;
	}
	.info_list {
		display: flex;
		justify-content: center;
	}
	.info_list li a {
		width: 310px;
		padding: 15px 30px 15px 40px;
		margin: 0 30px;
	}
	.info_list li.calender a {
		padding: 15px 30px 15px 55px;
	}
	.info_list li a h2 {
		font-size: 2.8rem;
		padding-left: 58px;
	}
	.info_list li.faq a h2 {
		background-size: 47px auto;
	}
	.info_list li.contact a h2 {
		background-size: 37px auto;
	}
	.info_list li.calender a h2 {
		background-size: 37px auto;
	}
	.info_list li a:hover {
		opacity: 0.8;
	}


}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.top_info {
		padding: 12rem 0 3rem;
		background: url(../img/info_bg_sp.jpg) top center no-repeat;
		background-size: cover;
	}
	.info_list {
		padding: 0 2rem;
	}
	.info_list li a {
		text-align: center;
		padding: 2rem 7rem 2rem 16rem;
		margin-bottom: 4rem;
		border-radius: 6.5rem;
	}
	.info_list li a h2 {
		font-size: 3.8rem;
	}
	.info_list li.faq a h2 {
		background-size: 6.5rem auto;
	}
	.info_list li.contact a h2 {
		background-size: 5rem auto;
	}
	.info_list li.calender a h2 {
		/* padding-left: 3rem; */
		background-size: 5rem auto;
	}

}



/*
  = footer
-------------------------------------------------- */
.footer {
	position: relative;
	color: #795338;
	background-color: #e2f3fc;
  background-image: linear-gradient(-90deg, rgba(255,255,255,0.2) 50%, transparent 50%);
}
.footer::before,
.footer::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	z-index: 2;
}
.footer::before {
	left: 1.5rem;
	background: url(../img/footer_item01.png) no-repeat;
	background-size: 100%;
}
.footer::after {
	right: 1.5rem;
	background: url(../img/footer_item02.png) no-repeat;
	background-size: 100%;
}
.footer a {
	position: relative;
	display: block;
	color: #795338;
}
.footer .footer_menu ul {
	display: flex;
	flex-wrap: wrap;
}
.footer .footer_menu ul li a {
	font-weight: 600;
	line-height: 1.2;
}
.footer .footer_access .tel {
	letter-spacing: 0.08em;
}
.footer .footer_access {
	font-weight: bold;
}
.copyright {
	color: #1b1b1b;
	text-align: center;
	line-height: 1.1;
	background: url(../img/copyright_bg.jpg) no-repeat;
	background-size: cover;
}
.pagetop {
	position: fixed;
  display: flex;
	justify-content: center;
	align-items: flex-end;
	color: #fff;
	text-align: center;
	background: url(../img/pagetop.svg) center top 1.5rem no-repeat #795338;
  cursor: pointer;
  z-index: 99;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.footer {
		min-width: 1100px;
		background-size: 10px;
		padding: 45px 0 50px;
	}
	.footer::before {
		width: 240px;
		height: 117px;
	}
	.footer::after {
		width: 178px;
		height: 205px;
	}
	.footer_in {
		width: 1100px;
		padding: 0 10px;
		margin: 0 auto;
	}
	.footer .footer_menu {
		margin-bottom: 50px;
	}
	.footer .footer_menu ul {
		justify-content: center;
	}
	.footer .footer_menu ul li + li {
		border-left: 1px solid #795338;
	}
	.footer .footer_menu ul li a {
		font-size: 1.6rem;
		padding: 0 20px;
	}
	.footer .footer_menu ul li a:hover {
		text-decoration: underline;
	}
	.footer .footer_access {
		display: flex;
		justify-content: center;
		padding: 0 30px;
		margin-bottom: 50px;
	}
	.footer .footer_access .access_text {
		/* width: 45%; */
		padding-right:30px;
	}
	.footer .footer_access .googlemap {
		width: 50%;
		padding-left:30px;
	}
	.footer .footer_access .access_text .tel {
		pointer-events: none;
		font-size: 3rem;
		margin-bottom: 10px;
	}
	.footer .footer_access .access_text p {
		font-size: 1.8rem;
	}
	.footer .footer_access .access_text .name {
		font-size: 2.2rem;
		margin-bottom: 5px;
	}
	.copyright {
		padding: 10px 0;
	}
	.copyright p {
		font-size: 1.3rem;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.footer {
		background-size: 2rem;
		padding: 5rem 0 17rem;
	}
	.footer::before {
		width: 25rem;
		height: 12rem;
	}
	.footer::after {
		width: 17rem;
		height: 19rem;
	}
	.footer_in {
		padding: 0 2rem;
	}
	.footer .footer_menu {
		margin-bottom: 4rem;
	}
	.footer .footer_menu ul li:nth-child(odd) {
		border-right: 1px solid #795338;
	}
	.footer .footer_menu ul li {
		width: 50%;
		margin-bottom: 4rem;
	}
	.footer .footer_menu ul li a {
		font-size: 2.8rem;
		text-align: center;
		padding: 0 2rem;
	}
	.footer .footer_access {
		padding: 0 2rem;
	}
	.footer .footer_access .access_text {
		text-align: center;
		margin-bottom: 4rem;
	}
	.footer .footer_access .access_text .tel {
		font-size: 4.5rem;
		margin-bottom: 3rem;
	}
	.footer .footer_access .access_text p {
		font-size: 2.6rem;
		font-weight: normal;
		line-height: 1.5;
	}
	.footer .footer_access .access_text .name {
		font-size: 3.2rem;
		font-weight: 600;
		margin-bottom: 5px;
	}
	.footer .footer_access .googlemap {
		position: relative;
		height: 0;
		padding-top: 45rem;
		overflow: hidden;
	}
	.footer .footer_access .googlemap iframe {
		position: absolute;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.copyright {
		padding: 2.5rem 3rem 3rem;
		margin-bottom: 14rem;
	}
	.copyright p {
		font-size: 2.2rem;
		text-align: left;
	}
	.pagetop {
		bottom: 14rem;
		right: 0;
		width: 12rem;
		height: 9rem;
		font-size: 2.4rem;
		padding: 3.5rem 0 0.5rem;
		background-size: 2.5rem auto;
	}

}


/*
  = 下層ページ
-------------------------------------------------- */
.page_title {
	text-align: center;
	background-color: #e2f3fc;
	background-image: linear-gradient(-90deg, rgba(255,255,255,0.2) 50%, transparent 50%);
}
.page_title h1 {
	position: relative;
	display: inline-block;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	background: url(../img/page_title_bg01.png) center no-repeat;
	background-size: contain;
}
.bread {
	text-align: right;
}
.bread li {
	display: inline-block;
}
.bread li a {
	position: relative;
}
.bread li a::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url(../img/shared/arrow_icon06.png) no-repeat;
	background-size: 100%;
}
.side_menu {

}
.side_menu h3 {
	color: #593e1c;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	background: #fff9da;
  border-radius: 2rem 2rem;
  box-shadow: 0 0 0 0.4rem #fbf7cf;
	border: 1px dashed #dcdcdc;
}
.side_menu ul li a {
	color: #593e1c;
}
.side_menu > ul > li {
	background-image: linear-gradient(to right, #c6d0da 26%, rgba(255,255,255,0) 0%);
	background-position: bottom;
	background-size: 0.4rem 0.1rem;
	background-repeat: repeat-x;
}
.side_menu > ul > li:last-child {
	background-image: none;
}
.side_menu > ul > li > a {
	display: block;
	position: relative;
	font-weight: bold;
}
.side_menu > ul > li > a::before {
	content: "";
	position: absolute;
	right: 2rem;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 0.8rem;
	height: 1.4rem;
	background: url(../img/icon_arrow02.svg) no-repeat;
	background-size: 100%;
}
.side_menu > ul > li.sub-menu-open {
	padding-bottom: 1.5rem;
}
.side_menu > ul > li.sub-menu-open > a {
	margin-bottom: 1rem;
}
/* 第四階層 */
.side_menu > ul > li > ul {
	display: none;
	background: #eef5fc;
	border-radius: 1rem;
	padding: 1.7rem 2.3rem;
	margin: 0 1rem;
}
.side_menu > ul > li > ul > li > a {
	display: block;
	position: relative;
	font-weight: 600;
	padding-left: 2.2rem;
}
.side_menu > ul > li > ul > li:not(:last-child) > a {
	margin-bottom: 1.5rem;
}
.side_menu > ul > li > ul > li > a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	width: 1.3rem;
	height: 1.3rem;
	background: url(../img/shared/arrow_icon01.svg) no-repeat;
	background-image: 100%;
}
.post_list .post {
	background-image: linear-gradient(to right, #c6d0da 26%, rgba(255,255,255,0) 0%);
  background-position: bottom;
  background-size: 0.5rem 0.1rem;
  background-repeat: repeat-x;
}
.post_list {
	background-image: linear-gradient(to right, #c6d0da 26%, rgba(255,255,255,0) 0%);
  background-position: top;
  background-size: 0.5rem 0.1rem;
  background-repeat: repeat-x;
}
.post_list .post a {
	display: block;
	padding: 1.5rem 0;
}
.news_date {
	color: #313131;
  margin-right: 1.5rem;
}
.news_category {
	color: #313131;
	background: #f7f7f7;
  padding: 0.3rem 1.4rem;
	margin: 0 0.3rem;
	text-align: center;
	border-radius: 0.5rem;
}
.news_category.notice {
	background: #c5e6ff;
}
.news_category.event {
	background: #f8f77c;
}
.pagenavi {
  display: flex;
	justify-content: center;
  align-items: center;
	padding: 3rem 0;
}
.pagenavi a,
.pagenavi span {
	position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
	font-weight: bold;
	width: 4.5rem;
	height: 4.5rem;
	margin: 0 0.75rem;
	border-radius: 0.5rem;
}
.pagenavi .page-numbers:not(.next):not(.prev) {
	color: #4e4e85;
	background: #eef5fc;
	box-shadow: 0 0.2rem 0 #b2d6fd;
}
.pagenavi .page-numbers.current:not(.next):not(.prev) {
	color: #fff;
  background: #6da0ed;
	box-shadow: 0 0.2rem 0 #4781d9;
}
.pagenavi .prev,
.pagenavi .next {
	width: 1.5rem;
	background: url(../img/shared/arrow_icon01.svg) center center no-repeat;
	background-size: 1.5rem 1.5rem;
}
.pagenavi .prev {
	transform: scale(-1, 1);
}
.prev_next {
	position: relative;
	min-height: 6rem;
	padding: 0 1rem;
	background-image: linear-gradient(to right, #c6d0da 26%, rgba(255,255,255,0) 0%);
  background-position: top;
  background-size: 0.5rem 0.1rem;
  background-repeat: repeat-x;
}
.prev_next .prev,
.prev_next .next,
.prev_next .list {
	position: absolute;
	top: 0;
	margin-top: 2.5rem;
	font-weight: bold;
}
.prev_next .prev {
	left: 0;
}
.prev_next .next {
	right: 0;
}
.prev_next .list {
	left: 50%;
	-ms-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.prev_next .prev a,
.prev_next .next a {
	display: block;
	position: relative;
}
.prev_next .prev a {
 padding-left: 3.3rem;
 margin-left: 1rem;
}
.prev_next .next a {
	padding-right: 3.3rem;
	margin-right: 1rem;
}
.prev_next .prev a::after,
.prev_next .next a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 1rem;
	height: 1.7rem;
	background: url(../img/icon_arrow02.svg) no-repeat;
	background-size: 100%;
}
.prev_next .prev a::after {
	left: 0;
	transform: scale(-1, 1);
}
.prev_next .next a::after {
	right: 0;
}
.text01 {
	line-height: 2;
}
.single_wpr {
	padding-bottom: 9rem;
}
.single_wpr h2 {
	border-bottom: 4px solid #fcecc2;
}
.single_wpr .date_category {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom: 3rem;
}
.date_category .category_area {
	margin-right: 1rem;
}
.date_category .category_area li {
	position: relative;
	display: inline-block;
	margin: 0 0.3rem;
}
.date_category .category_area li::before {
	content: "[";
}
.date_category .category_area li::after {
	content: "]";
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.page_title {
		min-width: 1100px;
		padding: 5rem 0 3rem;
		background-size: 2rem;
	}
	.page_title h1 {
		width: 650px;
		font-size: 3rem;
    padding: 2.5rem 10rem 10rem;
	}
	.container {
		padding: 5rem 0 8rem;
	}
	.clm_container .inner {
		display: flex;
		justify-content: space-between;
	}
	.clm_container .inner .contents {
		width: 70%;
	}
	.clm_container .inner .sideber {
		width: 25%;
	}
	.bread {
		width: 1100px;
		padding: 0 1rem;
		margin: 1.9rem auto 3.7rem;
		font-size: 1.5rem;
	}
	.bread li a {
		padding-right: 2.9rem;
		margin-right: 1.5rem;
	}
	.bread li a::after {
		width: 1.2rem;
		height: 1rem;
	}
	.bread li a:hover {
		text-decoration: underline;
	}
	.side_menu {
		margin-bottom: 3rem;
	}
	.side_menu h3 {
		font-size: 2.2rem;
		padding: 1.2rem 0;
	}
	.side_menu > ul > li > a {
		font-size: 1.6rem;
		padding: 1.5rem 4rem 1.5rem 2rem;
	}
	.side_menu > ul > li:last-child > a {
		border-radius: 0 0 1.7rem 1.7rem;
	}
	.side_menu > ul > li > a:hover {
		opacity: 0.8;
	}
	/* 第四階層 */
	.side_menu > ul > li > ul > li > a {
		font-size: 1.6rem;
	}
	.post_list .post .date_category {
		margin: 0 0 1rem;
	}
	.post_list.week .post .date_category {
		margin: 0;
	}
	.news_category {
		font-size: 1.2rem;
	}
	.post_list.week .post a {
		display: flex;
	}
	.post_list .post a:hover .news_title {
		text-decoration: underline;
	}
	.pagenavi {
		font-size: 1.8rem;
	}
	.pagenavi a.page-numbers:not(.prev):not(.next):hover {
		color: #fff;
	  background: #6da0ed;
		box-shadow: 0 0.2rem 0 #4781d9;
	}
	.prev_next {
		font-size: 1.8rem;
	}
	.prev_next a:hover {
		text-decoration: underline;
	}
	.text01 a:hover {
		text-decoration: underline;
	}
	.single_wpr h2 {
		font-size: 2.6rem;
		padding-bottom: 5px;
		margin-bottom: 1.3rem;
	}

}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.page_title {
		padding: 6rem 0 4rem;
		background-size: 2rem;
	}
	.page_title h1 {
		display: block;
		width: 95%;
		font-size: 3.8rem;
		padding: 1.5rem 13rem 9.5rem;
		margin: 0 auto;
	}
	.container {
		padding: 6rem 0 12rem;
	}
	.bread {
		margin: 1.9rem 2rem 2.6rem;
		font-size: 2rem;
	}
	.bread li a {
		padding-right: 3.7rem;
		margin-right: 2.2rem;
	}
	.bread li a::after {
		width: 1.6rem;
		height: 1.4rem;
	}
	.side_menu {
		margin-bottom: 4rem;
	}
	.side_menu h3 {
		font-size: 3.6rem;
		padding: 1.8rem 0;
	}
	.side_menu > ul > li.sub-menu-open {
		padding-bottom: 3.5rem;
	}
	.side_menu > ul > li > a {
		font-size: 3rem;
		padding: 1.9rem 8rem 1.9rem 3rem;
	}
	.side_menu > ul > li:last-child > a {
		border-radius: 0 0 1.7rem 1.7rem;
	}
	.side_menu > ul > li > a::before {
		right: 3rem;
		width: 1.6rem;
    height: 2.5rem;
	}
	.side_menu > ul > li > a[target$="_blank"]::after {
		right: -1.5rem;
    width: 2rem;
    height: 1.8rem;
	}
	/* 第四階層 */
	.side_menu > ul > li > ul {
		padding: 2rem 3rem;
		margin: 0 3rem;
	}
	.side_menu > ul > li > ul > li > a {
		font-size: 2.8rem;
		padding-left: 3.3rem;
	}
	.side_menu > ul > li > ul > li > a::before {
		width: 2rem;
    height: 2rem;
	}
	.post_list .post a {
		padding: 2.3rem 0;
	}
	.post_list .post .date_category {
		line-height: 1.2;
		margin-bottom: 2rem;
	}
	.news_date {
		font-size: 2.2rem;
	}
	.news_category {
		font-size: 1.6rem;
	}
	.pagenavi {
		padding: 4rem 0;
	}
	.pagenavi span,
  .pagenavi a {
    width: 6.5rem;
    height: 6.5rem;
    font-size: 2.6rem;
    margin: 0 1.2rem;
  }
	.pagenavi .prev,
	.pagenavi .next {
		width: 3rem;
		background-size: 2.5rem 2.5rem;
	}
	.prev_next .prev a::after, .prev_next .next a::after {
		width: 1.4rem;
    height: 2.5rem;
	}
	.prev_next {
		font-size: 2.8rem;
		min-height: 8rem;
	}
	.single_wpr h2 {
		font-size: 17px;
		padding-bottom: 1rem;
		margin-bottom: 1.6rem;
	}

}


/* エディタスタイル
--------------------------------------------------*/
.wp-content img{
	width:auto;
	max-width: 100%;
	height:auto;
}
.wp-content img.aligncenter {
	display: block;
	margin: 0 auto 15px auto;
}
.wp-content img.alignleft {
	float: left;
	margin: 0 10px 10px 0;
}
.wp-content img.alignright {
	float: right;
	margin: 0 0 10px 10px;
}
.wp-content strong {
	font-weight: bold;
}
.wp-content em {
	font-style: italic;
}
.wp-content blockquote {
	padding: 15px;
}
.wp-content h1, .wp-content h2, .wp-content h3, .wp-content h4, .wp-content h5, .wp-content h6 {
	font-weight: bold;
	margin: 0 0 15px 0;
}
.wp-content ul, .wp-content ol {
	margin: 0 0 15px 0;
}
.wp-content h1 {
	font-size: 40px;
}
.wp-content h2 {
	font-size: 30px;
}
.wp-content h3 {
	font-size: 24px;
}
.wp-content h4 {
	font-size: 20px;
}
.wp-content h5 {
	font-size: 18px;
}
.wp-content h6 {
	font-size: 16px;
}
.wp-content ul {
	margin-left: 15px;
}
.wp-content ul li {
	list-style: disc;
}
.wp-content ol {
	margin-left: 15px;
}
.wp-content ol li {
	list-style: decimal;
}
.wp-content p {
	margin-bottom: 15px;
}
.wp-content p:last-child {
	margin-bottom: 0;
}

.wp-content .wp-caption.alignleft {
	float: left;
}
.wp-content .wp-caption {
	overflow: hidden;
	margin-bottom: 15px;
}
.wp-content a:hover{
	text-decoration: underline;
}
.gallery-item a {
	display: block;
}
#gallery-1 img,
#gallery-2 img,
#gallery-3 img,
#gallery-4 img,
#gallery-5 img {
	border: 2px solid #fff !important;
	border-radius: 1rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
}

/* = table
----------------------------------------------- */
.table01 th,
.table01 td {
	border: 1px solid #dcdcdc;
	padding: 1rem;
}
.table02 {
	border-radius: 10px;
  border: 2px solid #91684a;
}
.table02 table {
	width: 100%;
}
.table02 tr:nth-child(odd) th,
.table02 tr:nth-child(odd) td {
	background: #f0f8fd;
}
.table02 tr:first-child th {
	border-radius: 10px 0 0 0;
}
.table02 tr:first-child td {
	border-radius: 0 10px 0 0;
}
.table02 tr:last-child th {
	border-radius: 0 0 0 10px;
}
.table02 tr:last-child td {
	border-radius: 0 0 10px 0;
}
.table02 th {
	font-weight: bold;
}


/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.table01 th,
	.table01 td {
		padding: 1rem 2rem;
	}
	.table02 th,
	.table02 td {
		padding: 1rem 2rem;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.table01 th,
	.table01 td {
		padding: 1rem;
	}
	.table02 th,
	.table02 td {
		padding: 2rem 1rem;
	}
}

/* = contact_form
----------------------------------------------- */
.contact_form table {
	width: 100%;
	line-height: 1.5;
}
.contact_form tr th {
	color: #5d534a;
	font-weight: bold;
}
.contact_form .required {
	display: inline-block;
	color: #FB8CA4 !important;
	font-weight: normal;
	margin-left: 0.5rem;
}
.contact_form input[type='text'],
.contact_form input[type='email'],
.contact_form input[type='tel'],
.contact_form select,
.contact_form textarea {
  border-radius: 0;
  background: transparent;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
}
.contact_form input::placeholder {
  color: #a0a0a0;
}
/* IE */
.contact_form input:-ms-input-placeholder {
  color: #a0a0a0;
}
/* Edge */
.contact_form input::-ms-input-placeholder {
  color: #a0a0a0;
}
.contact_form input[type='text'],
.contact_form input[type='email'],
.contact_form input[type='tel'],
.contact_form textarea {
	max-width: 100%;
	border: 1px solid rgba(204, 226, 247, 0.5);
	background: #f4f8fc;
}
.contact_form .radio01 {
	display: block;
}
.contact_form .select01 {
	position: relative;
	border: 1px solid rgba(204, 226, 247, 0.5);
	background: #f4f8fc;
	border-radius: 0.5rem;
}
.contact_form .select01::after {
	content: "";
  display: block;
  position: absolute;
  top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
  right: 8px;
	margin: auto;
  border-style: solid;
  border-width: 0.8rem 0.5rem 0 0.5rem;
  border-color: #003ea0 transparent transparent transparent;
}
.mw_wp_form_preview .contact_form .select01 {
	background: none;
	border: none;
}
.mw_wp_form_preview .contact_form .select01::after {
	display: none;
}
.contact_form .radio01 input[type='radio'] {
	appearance: none;
	display: none;
}
.contact_form .radio01 input[type='radio'] + span {
	position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
.contact_form .radio01 input[type='radio'] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.9rem;
  height: 1.9rem;
	border: 1px solid rgba(204, 226, 247, 0.5);
	background: #f4f8fc;
	border-radius: 50%;
}
.contact_form .radio01 input[type='radio']:checked + span::before {
	background: #1159b2;
}
.contact_form .radio01 input[type='radio']:checked + span::after {
  content: "";
  display: block;
  position: absolute;
	top: 5.5px;
  left: 6px;
  width: 0.7rem;
  height: 0.7rem;
  background: #fff;
  border-radius: 50%;
}
.contact_form button {
  border: none;
  background: transparent;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  font: inherit;
	cursor: pointer;
}
.contact_form table {
	background-image: linear-gradient(to right, #b9d6f9 26%, rgba(255,255,255,0) 0%);
  background-position: top;
  background-size: 0.4rem 0.1rem;
  background-repeat: repeat-x;
}
.contact_form tr {
	background-image: linear-gradient(to right, #b9d6f9 26%, rgba(255,255,255,0) 0%);
  background-position: bottom;
  background-size: 0.4rem 0.1rem;
  background-repeat: repeat-x;
}
.contact_form .submit_btn button {
	display: inline-block;
  position: relative;
	color: #fff;
  font-weight: bold;
  text-align: center;
	background: #ffaec0;
	box-shadow: 0 4px 0 #fb8ca5;
  border-radius: 4.5rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.contact_form {
		max-width: 900px;
		margin: 0 auto;
	}
	.contact_form .text01 {
		margin-bottom: 3.7rem;
	}
	.contact_form tr th {
		display: inline-block;
		width: 22rem;
		font-size: 1.7rem;
		padding: 2rem 1rem;
		vertical-align: top;
	}
	.contact_form tr td {
		display: inline-block;
		width: 65rem;
		padding: 2rem 1rem;
		vertical-align: top;
	}
	.contact_form input,
	.contact_form select,
	.contact_form textarea {
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 0.5rem;
	}
	.contact_form td .s {
		width: 30%;
	}
	.contact_form td .m {
		width: 75%;
	}
	.contact_form td .l {
		width: 98%;
	}
	.contact_form .email {
		width: 90%;
	}
	.contact_form td .mr10 {
		margin-right: 1rem;
	}
	.contact_form .in_text {
		display: inline-block;
		margin-left: 2.3rem;
	}
	.contact_form .name_wpr *,
	.contact_form .in_wpr * {
		display: inline-block;
	}
	.contact_form .name_wpr div + div {
		margin-left: 2rem;
	}
	.contact_form .name_wpr div .name {
		width: 15rem;
		margin-left: 1rem;
	}
	.contact_form .radio01 input[type='radio'] + span {
		padding-left: 3rem;
	}
	.contact_form .radio01 + .radio01 {
		margin-top: 2rem;
	}
	.contact_form .select01 {
		margin-right: 1.3rem;
	}
	.contact_form .select01 select {
		padding: 0.5rem 3.5rem 0.5rem 1rem;
	}
	.contact_form .birth {
		width: 20%;
	}
	.contact_form .birth input {
		width: 8rem;
	}
	.contact_form .birth + .birth {
		margin-left: 1.5rem;
	}
	.contact_form .join + .join {
		margin-left: 4rem;
	}
	.contact_form .join span {
		margin-right: 1.3rem;
	}
	.contact_form .textarea textarea {
		width: 75%;
	}
	.contact_form .submit_btn {
		display: flex;
		justify-content: center;
		padding-top: 5rem;
	}
	.contact_form .submit_btn li + li {
		margin-left: 4rem;
	}
	.contact_form .submit_btn button {
		min-width: 24rem;
		font-size: 2rem;
    padding: 1rem 1.3rem;
	}
	.contact_form .submit_btn button:hover {
		background: #fb8ca5;
    box-shadow: 0 0.4rem 0 #f6718f;
	}
	.contact_form .mwform-tel-field input[type="text"],
	.contact_form .mwform-zip-field input[type="text"] {
		width: 7rem;
		margin: 0 0.5rem;
	}
	.magazine {
		display: flex;
	}
	.magazine .submit_btn {
		padding-top: 0;
	}
	.magazine .submit_btn button {
		min-width: 16rem;
		font-size: 1.5rem;
		padding: 0.5rem;
    margin-left: 1rem;
	}

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.contact_form .text01 {
		margin-bottom: 4rem;
	}
	.contact_form tr th,
	.contact_form tr td {
		display: block;
		width: 100%;
	}
	.contact_form tr th {
		font-weight: bold;
		padding: 3rem 1rem 0;
	}
	.contact_form tr td {
		padding: 2rem 0 5rem;
	}
	.contact_form input,
	.contact_form select,
	.contact_form textarea {
		width: 100%;
		font-size: 16px;
		line-height: 1.5;
		padding: 1rem;
	}
	.contact_form input[type='checkbox'],
	.contact_form input[type='radio'] {
		display: inline-block;
		width: auto;
	}
	.contact_form .radio01 {
		display: block;
		line-height: 1.7;
		margin-bottom: 2rem;
	}
	.contact_form .radio01 input[type='radio'] + span {
		padding-left: 4.1rem;
	}
	.contact_form .radio01 input[type='radio'] + span::before {
		top: 0.6rem;
		width: 2.9rem;
		height: 2.9rem;
	}
	.contact_form .radio01 input[type='radio']:checked + span::after {
		top: 1.5rem;
    left: 0.9rem;
    width: 1.1rem;
    height: 1.1rem;
	}
	.contact_form .select01 {
		margin-right: 2.5rem;
	}
	.contact_form .select01::after {
		border-width: 1.2rem 0.8rem 0 0.8rem;
	}
	.contact_form .select01 select {
		padding: 0.5rem 5rem 0.5rem 2rem;
	}
	.contact_form td .in_text {
		display: block;
		margin-top: 2rem;
	}
	.contact_form .name_wpr * {
		display: inline-block;
		width: 47%;
	}
	.contact_form .name_wpr div + div {
		margin-left: 2rem;
	}
	.contact_form .name_wpr div .name {
		width: 78%;
		margin-left: 1rem;
	}
	.contact_form .in_wpr {
		display: flex;
	}
	.contact_form .birth {
		display: flex;
		/* width: 30%; */
	}
	.contact_form .birth input {
		width: 16rem;
	}
	.contact_form .birth + .birth {
		margin-left: 2.5rem;
	}
	.contact_form .join + .join {
		margin-left: 5rem;
	}
	.contact_form .join span {
		margin-right: 2.5rem;
	}
	.contact_form .submit_btn {
		padding-top: 8rem;
	}
	.contact_form .submit_btn li + li {
		margin-top: 4rem;
	}
	.contact_form .submit_btn button {
		display: block;
		width: 60rem;
    font-size: 3.2rem;
    padding: 2.5rem;
    border-radius: 5.5rem;
		margin: 0 auto;
	}
	.contact_form .mwform-tel-field input[type="text"],
	.contact_form .mwform-zip-field input[type="text"] {
		width: 18rem;
		margin: 0 0.5rem;
	}
	.magazine .submit_btn {
		padding: 0;
		margin-bottom: 3rem;
	}
	.magazine .submit_btn button {
		width: 35rem;
		padding: 1rem;
    margin-top: 2rem;
	}

}


/* = テンプレート
----------------------------------------------- */
/* h2 */
.heading02 {
  position: relative;
	color: #91684a;
	background: repeating-linear-gradient(-45deg, #fbe8e8, #fbe8e8 2px, #fdf2f3 2px, #fdf2f3 6px);
  margin-bottom: 5rem;
  padding: 1.65rem 2.7rem;
	border-radius: 0 0 1rem 1rem;
	line-height: 1.2;
	font-weight: bold;
}
.heading02.clr02 {
	background: repeating-linear-gradient(-45deg, #D9ECFE, #D9ECFE 2px, #edf6ff 2px, #edf6ff 6px);
}
/* h3 */
.heading03 {
  position: relative;
	color: #91684a;
  margin-bottom: 3rem;
  padding: 0 1.3rem 0 4.5rem;
  line-height: 1.2;
  font-weight: bold;
}
.heading03::before {
	content: "";
  position: absolute;
  top: 0;
	bottom: 0;
  left: 0;
	margin: auto;
	width: 3.5rem;
	height: 5.5rem;
	background: url(../img/icon_heading03.png) no-repeat;
	background-size: 100%;
}
.heading03 span {
	display: inline-block;
	padding: 0 1rem;
	background:linear-gradient(transparent 60%, #fcecc2 60%);
}
.heading03.none {
	padding: 0;
}
.heading03.none::before {
	display: none;
}
/* h4 */
.heading04 {
	position: relative;
	color: #91684a;
  font-weight: bold;
  line-height: 1.1;
	border-left: 0.5rem solid #4781BE;
	padding-left: 1rem;
	margin-bottom: 3rem;
}
/* h5 */
.heading05 {
	color: #4781BE;
  margin-bottom: 1.8rem;
  line-height: 1.5;
  font-weight: bold;
}
/* title */
.title01,
.title02,
.title03 {
	position: relative;
	text-align: center;
  font-weight: bold;
  line-height: 1.2;
	margin-bottom: 3rem;
}
.title01 span,
.title02 span {
	display: inline-block;
	text-align: center;
}
.title01::before {
	content: "";
	display: block;
	margin: auto;
	width: 220px;
	height: 20px;
	margin-bottom: 2rem;
	background: url(../img/title01_before.png) no-repeat;
	background-size: 100%;
}
.title01::after {
	content: "";
	display: block;
	margin: auto;
	width: 220px;
	height: 20px;
	margin-top: 2rem;
	background: url(../img/title01_after.png) no-repeat;
	background-size: 100%;
}
.title02::after {
	content: "";
	display: block;
	margin: auto;
	width: 8rem;
	height: 0.3rem;
	margin-top: 2rem;
	background: #795338;
}
.title02::before {
	content: "";
	display: block;
	margin: auto;
	width: 105px;
	height: 33px;
	margin-bottom: 2rem;
	background: url(../img/title02_before.png) no-repeat;
	background-size: 100%;
}
.title03 {
	color: #91684a;
}
.title03::after {
	content: "";
	display: block;
	margin: auto;
	width: 100%;
	height: 6px;
	margin-top: 2rem;
	background: repeating-linear-gradient(-45deg, #a8d4ff, #a8d4ff 2px, #4781be 2px, #4781be 6px);
}
.title03.clr02::after {
	background: repeating-linear-gradient(-45deg, #ffb3b3, #ffb3b3 2px, #f47676 2px, #f47676 6px);
}
.title03.clr03::after {
	background: repeating-linear-gradient(-45deg, #FFD07F, #FFD07F 2px, #FDA65D 2px, #FDA65D 6px);
}
.title03.clr04::after {
	background: repeating-linear-gradient(-45deg, #F0D9FF, #F0D9FF 2px, #BFA2DB 2px, #BFA2DB 6px);
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {

	/* h1 */
	.heading01 {
		font-size: 3.2rem;
	}
	.heading01 span {
		width: 1100px;
		margin: 0 auto;
	}
  /* h2 */
  .heading02 {
      font-size: 2.8rem;
  }
  /* h3 */
  .heading03 {
      font-size: 2.8rem;
  }
  /* h4 */
  .heading04 {
      font-size: 2.6rem;
  }
  /* h5 */
  .heading05 {
      font-size: 2.4rem;
  }
	/* title01 */
	.title01 {
		font-size: 2.6rem;
	}
	/* title02 */
	.title02 {
		font-size: 3.2rem;
	}
	/* title03 */
	.title03 {
		font-size: 3.2rem;
	}

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {

  /* h2 */
  .heading02 {
      font-size: 3.8rem;
			line-height: 1.5 !important;
  }
  /* h3 */
  .heading03 {
      font-size: 3.6rem;
			padding: 0 1.3rem 0 5.5rem;
			line-height: 1.5 !important;
  }
	.heading03::before {
		width: 4.5rem;
		height: 7rem;
	}
  /* h4 */
  .heading04 {
		font-size: 3.4rem;
		line-height: 1.5 !important;
  }
  /* h5 */
  .heading05 {
      font-size: 3.2rem;
  }
	/* title01 */
	.title01 {
		font-size: 3.8rem;
		line-height: 1.5 !important;
	}
	.title01::before,
	.title01::after {
		width: 30rem;
		height: 3rem;
	}
	/* title02 */
	.title02 {
		font-size: 3.8rem;
		line-height: 1.5 !important;
	}
	.title02::before {
		width: 14rem;
		height: 5rem;
	}
	.title02::after {
		height: 0.5rem;
	}
	/* title03 */
	.title03 {
		font-size: 3.6rem;
		line-height: 1.5 !important;
	}
	.title03::after {
		height: 0.7rem;
	}


}

/* = text
----------------------------------------------- */
.text01 .fl {
	float: left;
}
.text01 strong {
	font-weight: bold;
}
.text_center {
	text-align: center;
}
.text_right {
	text-align: right;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
  .text01 {
		font-size: 1.6rem;
		margin: 0 auto;
		line-height: 2;
		margin-bottom: 2.5rem;
	}
	.text01 .inline {
		display: inline !important;
	}
    /* hover */
	.text01 a:hover {
		text-decoration: underline;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
    .text01 {
			font-size: 2.8rem;
      line-height: 1.95;
			margin-bottom: 1.5rem;
	}

}

/* = note
----------------------------------------------- */
.note01 {
	color: #313131;
	line-height: 1.75;
}
.note01 li+li {
	margin-top: 1rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.note01 li {
		font-size: 1.4rem;
		margin-left: 2.5rem;
		text-indent: -2.9rem;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.note01 li {
		font-size: 2.6rem;
		margin-left: 4.5rem;
		text-indent: -4.5rem;
	}

}

/* = box
----------------------------------------------- */
.box01 {
	background: repeating-linear-gradient(-45deg, #fffcdb, #fffcdb 1rem, #fffde8 1rem, #fffde8 2rem);
	border-radius: 1rem;
}
.box02 {
	background: #fafafa;
	border: 0.2rem solid #ffe0cf;
	box-shadow: 0 0 0 2px #ffaec0 inset;
	border-radius: 1rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {

  .box01,
	.box02 {
		padding: 1.7rem 2rem;
  }
	.box01.m10 {
		margin: 10px;
	}

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {

  .box01,
	.box02 {
		padding: 2rem;
	}
	.box01.m10 {
		margin-bottom: 10px;
	}

}

/* = img
----------------------------------------------- */
.img_clm01 .item img {
	max-width: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}
.img_clm02 .item img,
.img_clm03 .item img {
	max-width: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}
.caption01 {
	color: #707070;
	line-height: 1.9;
}
.img_left {
	float: left;
}
.img_right {
	float: right;
}
.img_left img,
.img_right img {
	border-radius: 1rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {

	.img_clm02,
	.img_clm03 {
		display: flex;
		flex-wrap: wrap;
	}
	.img_clm02 .item {
		width: 48.183%;
	}
	.img_clm02 .item:nth-child(2n-1) {
		margin-right: 1.81%;
	}
	.img_clm02 .item:nth-child(2n) {
		margin-left: 1.81%;
	}
	.img_clm03 .item {
		width: 30.91%;
	}
	.img_clm03 .item:nth-child(3n-2) {
		margin-right: 1.81%;
	}
	.img_clm03 .item:nth-child(3n-1) {
		margin-right: 1.81%;
		margin-left: 1.81%;
	}
	.img_clm03 .item:nth-child(3n) {
		margin-left: 1.81%;
	}
	.img_clm02 .item {
		min-height: 30rem;
		margin-bottom: 10px;
	}
	.img_clm03 .item {
		min-height: 20rem;
		margin-bottom: 10px;
	}
	.caption01 {
		margin: 0.5rem 0 0;
		font-size: 14px;
	}
	.img_left {
		width: 31rem;
		margin: 0.5rem 2rem 0.5rem 0;
	}
	.img_right {
		width: 31rem;
		margin: 0.5rem 0 0.5rem 2rem;
	}

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {

	.img_clm02 .item {
		margin-bottom: 2rem;
	}
	.img_clm03 .item {
		margin-bottom: 2rem;
	}
	.caption01 {
		margin: 1rem 0 0;
    font-size: 13px;
	}
	.img_left,
	.img_right {
		width: 24rem;
	}
	.img_left {
    margin: 1.6rem 2rem 0 0;
	}
	.img_right {
    margin: 1.6rem 0 0 2rem;
	}

}

/* = list
----------------------------------------------- */
/* list01 */
.list01 li {
	position: relative;
	padding-left: 2.5rem;
	line-height: 1.9;
}
.list01 li::before {
	content: "";
	display: block;
	position: absolute;
  left: 0;
  background: #013f93;
	border-radius: 50%;
}
.list01 li+li {
	margin-top: 1rem;
}
/* list02 */
.list02 {
	list-style-type: decimal;
	font-size: 15px;
	line-height: 1.9;
}
.list02 li {
	margin-left: 2rem;
}
.list02 li+li {
	margin-top: 1rem;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {

  /* list01 */
	.list01 li {
		font-size: 1.5rem;
		padding-left: 1.2rem;
	}
	.list01 li::before {
		top: 1rem;
		width: 0.6rem;
		height: 0.6rem;
	}
  /* hover */
  .list01 a:hover,
  .list02 a:hover {
		text-decoration: underline;
	}

}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {

    /* list01 */
  .list01 {
		line-height: 1.9;
	}
	.list01 li {
		font-size: 2.6rem;
		padding-left: 3rem;
		line-height: 1.8;
	}
  .list01 li::before {
		top: 2rem;
    left: 0.3rem;
    width: 1.2rem;
    height: 1.2rem;
	}
	.list01 li+li {
		margin-top: 1.5rem;
    }
    /* list02 */
	.list02 {
		line-height: 1.9;
	}
	.list02 li {
		margin-left: 4.5rem;
    }

}

/* = link
----------------------------------------------- */
.link01 {
	line-height: 2;
}

.link01 li+li {
	margin-top: 1rem;
}

.link01 a {
	display: inline-block;
	position: relative;
}

.link01 a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.9rem;
	left: 0;
	background: url(../img/shared/icon_link01.png) no-repeat;
	background-size: 100%;
}
/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.link01 {
		font-size: 1.5rem;
	}
	.link01 a {
		padding-left: 2rem;
	}
	.link01 a:hover {
		text-decoration: underline;
	}
	.link01 a::before {
		width: 0.9rem;
		height: 1.1rem;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.link01 {
		font-size: 2.6rem;
	}
	.link01 a {
		padding-left: 4rem;
	}
	.link01 a::before {
		top: 1.9rem;
		left: 1rem;
		width: 1.1rem;
		height: 1.3rem;
	}
}

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

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {

  .mb10 {
		margin-bottom: 10px !important;
	}
	.mb20 {
		margin-bottom: 20px !important;
	}
	.mb30 {
		margin-bottom: 30px !important;
	}
	.mb40 {
		margin-bottom: 40px !important;
	}
	.mb50 {
		margin-bottom: 50px !important;
	}
	.mb60 {
		margin-bottom: 60px !important;
	}
	.mb70 {
		margin-bottom: 70px !important;
	}
	.mb80 {
		margin-bottom: 80px !important;
	}
	.mb100 {
		margin-bottom: 100px !important;
	}
}

/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {

  .mb10 {
		margin-bottom: 1rem !important;
	}
	.mb20 {
		margin-bottom: 2rem !important;
	}
	.mb30 {
		margin-bottom: 3rem !important;
	}
	.mb40 {
		margin-bottom: 4rem !important;
	}
	.mb50 {
		margin-bottom: 5rem !important;
	}
	.mb60 {
		margin-bottom: 6rem !important;
	}
	.mb70 {
		margin-bottom: 7rem !important;
	}
	.mb80 {
		margin-bottom: 8rem !important;
	}
	.mb90 {
		margin-bottom: 9rem !important;
	}
	.mb100 {
		margin-bottom: 10rem !important;
	}

}

/* = 404
----------------------------------------------- */
.not_found {
	color: #4781be;
	font-weight: bold;
	text-align: center;
}

/* = PC (768px以上)
----------------------------------------------- */
@media print, screen and (min-width: 768px) {
	.not_found {
		font-size: 6rem;
		margin-bottom: 3rem;
	}
}
/* = SP (767px以下)
----------------------------------------------- */
@media screen and (max-width: 767px) {
	.not_found {
		font-size: 6rem;
		margin-bottom: 3rem;
	}
}
