@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,700%7CNoto+Sans+JP:400,700&display=swap&subset=japanese');
/*------------------------------------------------------------
	デフォルトスタイル
	全体およびtinyで共有しているcss
------------------------------------------------------------*/


.red {
	color: red;
}

.green {
	color: #019fa8;
}

.blue {
	color: #0A65A4;
}

* {
	box-sizing: border-box;
}

:root {
	--darkblue: #212F5A; //#019fa8;
	--blue: #266BA4;
	--fuji: #D6E0F9;

	--h-head: 85px;

	@media screen and (max-width: 950px) {
		--h-head: 62px;
	}

	--f12: clamp(1.08rem, 1.038rem + 0.113vw, 1.2rem);
	/*10.8px-12px*/
	--f14: clamp(1.26rem, 1.211rem + 0.131vw, 1.4rem);
	/*12.6px-14px*/
	--f16: clamp(1.44rem, 1.384rem + 0.15vw, 1.6rem);
	/*14.4px-16px*/
	--f18: clamp(1.62rem, 1.557rem + 0.169vw, 1.8rem);
	/*16.2px-18px*/
	--f20: clamp(1.8rem, 1.73rem + 0.188vw, 2rem);
	/*18px-20px*/
	--f22: clamp(1.98rem, 1.903rem + 0.207vw, 2.2rem);
	/*19.8px-22px*/
	--f24: clamp(1.92rem, 1.751rem + 0.451vw, 2.4rem);
	/*19.2px-24px*/
	--f28: clamp(2.24rem, 2.043rem + 0.526vw, 2.8rem);
	/*22.4px-28px*/
	--f30: clamp(2.4rem, 2.189rem + 0.563vw, 3rem);
	/*24px-30px*/
	--f32: clamp(2.56rem, 2.335rem + 0.601vw, 3.2rem);
	/*25.6px-32px*/
	--f40: clamp(3.2rem, 2.918rem + 0.751vw, 4rem);
	/*32px-40px*/
	--f48: clamp(3.84rem, 3.502rem + 0.901vw, 4.8rem);
	/*38.4px-48px*/
	--f56: clamp(4.48rem, 4.086rem + 1.052vw, 5.6rem);
	/*44.8px-56px*/
	--s1: clamp(0.25rem, 0.162rem + 0.376vw, 0.5rem);
	/*8px-4px*/
	--s2: clamp(0.5rem, 0.324rem + 0.751vw, 1rem);
	/*16px-8px*/
	--s3: clamp(0.75rem, 0.486rem + 1.127vw, 1.5rem);
	/*24px-12px*/
	--s4: clamp(1rem, 0.648rem + 1.502vw, 2rem);
	/*32px-16px*/
	--s5: clamp(1.25rem, 0.81rem + 1.878vw, 2.5rem);
	/*40px-20px*/
	--s6: clamp(1.5rem, 0.972rem + 2.254vw, 3rem);
	/*48px-24px*/
	--s7: clamp(1.75rem, 1.134rem + 2.629vw, 3.5rem);
	/*56px-28px*/
	--s8: clamp(2rem, 1.296rem + 3.005vw, 4rem);
	/*64px-32px*/
	--s9: clamp(2.25rem, 1.458rem + 3.38vw, 4.5rem);
	/*72px-36px*/
	--s10: clamp(2.5rem, 1.62rem + 3.756vw, 5rem);
	/*80px-40px*/
}

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,
font,
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 {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 0.98em;
}

table,
th,
td {
	border: 1px dotted #666;
}

html {
	font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option {
	font-family: 'Noto Sans JP', sans-serif;
}

article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
	display: block;
}

figure {
	margin: 0;
	padding: 0;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
	max-width: 100%;
}

a,
a:link {
	color: #000;
	text-decoration: none;
}

/*
a:visited {
	color: #000;
}
*/

a:hover {
	color: #000;
}

a:active {
	color: #000;
}

pre {
	white-space: pre-wrap;
}

a[href^="tel:"] {
	/* 	color: #014898; */
}

a[href^="tel:"]::before {
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e942";
	font-size: .9em;
}



/*SP*/
@media screen and (max-width: 767px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #000;
	font-weight: 400;
	/* font-size: 1.6rem; */
	font-size: var(--f16);
	line-height: 1.5;
	text-size-adjust: none;
	background-color: #FFF;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	padding-top: var(--h-head);
}


a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
	text-decoration: none !important;
}

body a {
	transition: all 0.3s ease-in-out;
}

@media screen and (min-width: 768px) {
	.sp {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
		/* font-size: 1.3rem; */
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.pc {
		display: none !important;
	}

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

	/*
    #main {
        margin-bottom: 84px;
    }
*/

}

/*------------------------------------------------------------
	書式設定
------------------------------------------------------------*/
/* テキストの位置 */
.taLeft {
	text-align: left !important;
}

.taCenter {
	text-align: center !important;
}

.taRight {
	text-align: right !important;
}

.al {
	text-align: left;
}

.ac {
	text-align: center;
}

.ar {
	text-align: right;
}

@media screen and (min-width: 768px) {
	.pc_ac {
		text-align: center;
	}
}

/*SP*/
@media screen and (max-width: 767px) {
	.sp_ac {
		text-align: center;
	}
}

p.nm1 {
	margin-left: 1em;
	text-indent: -1em;
}

ul.nm1 li {
	margin-left: 1em;
	text-indent: -1em;
}

em {
	display: inline-block;
	font-style: normal;
}

.large {
	font-size: 1.2em;
}

.larger {
	font-size: 1.4em;
}

.largest {
	font-size: 1.6em;
}

.small {
	font-size: .8em;
}

.smaller {
	font-size: .7em;
}

.smallest {
	font-size: .6em;
}

.spacy {
	line-height: 2;
}

/* フォントの太さ */
.fwNormal {
	font-weight: normal !important;
}

.fwBold {
	font-weight: bold !important;
}

/*サイトと共通*/
.pt {
	padding-top: 60px !important;
}

.pts {
	padding-top: 30px !important;
}

.mt {
	margin-top: 60px !important;
}

.mts {
	margin-top: 30px !important;
}

.mtss {
	margin-top: 10px !important;
}

/*
.pb {padding-bottom: 70px;}
.pbs {padding-bottom: 20px;}
*/

/*SP*/
@media screen and (max-width: 767px) {
	.pt {
		padding-top: 30px !important;
	}

	.pts {
		padding-top: 15px !important;
	}

	.mt {
		margin-top: 30px !important;
	}

	.mts {
		margin-top: 15px !important;
	}

	.mtss {
		margin-top: 5px !important;
	}
}

/*flex*/
.jst-se {
	justify-content: space-evenly !important;
}


/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
* html .clearfix {
	zoom: 1;
}

*+html .clearfix {
	zoom: 1;
}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

.icon_img {
	vertical-align: middle;
}


/*------------------------------------------------------------
	開発用 扶養になったら削除する
------------------------------------------------------------*/
#s_dev {
	background-color: #ffc5c5;
}

.test_submenu li {
	margin: 10px 0 10px 50px;
	list-style: disc;
}

.cssBox {
	margin: 40px auto;
	border: 1px solid red;
	padding: 20px;
}

.cssBox .exp {
	color: red;
}

.photoImg {
	border: 10px solid red;
}

/*
img[src^="http"]{
	border: 10px solid blue;
}
*/


.frame {
	background-color: #e1e1e1;
	margin: 40px auto;
	border: 1px solid #000;
	padding: 20px;
	width: 100%;
	min-height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.8rem;
}

*+.frame {
	margin-top: 30px !important;
}


/*flex*/
.comFlex2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.comFlex3,
.comFlex31 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.comFlex2._aac {
	align-items: center;
}

.comFlex2._reverse {
	flex-direction: row-reverse;
}

.comFlex2 ._shrink {
	flex-grow: 0;
	width: auto;
}

.comFlex2 ._shrink._svgImg {
	width: 50%;
}

.comFlex2 ._shrink._svgImg img {
	width: 50%;
	max-width: 200px;
	margin: 0 auto;
}

.comFlex2 ._expand {
	flex-grow: 2;
}

.comFlex2 ._shrink+._expand {
	margin-left: 3%;
}

.comFlex2._circle li,
.comFlex2._notCircle li {
	list-style-type: none;
}

.comFlex2._circle li img,
.comFlex2._notCircle li img {
	width: 50%;
	max-width: 200px;
}

.comFlex2._circle li figure {
	position: relative;
	margin: 30px auto 0;
	background-color: #fff;
	width: 70%;
	padding-top: 70%;
	border-radius: 50%;
}

@media screen and (max-width: 767px) {
	.comFlex2._circle li figure {
		margin: 15px auto 0;
		width: 60%;
		padding-top: 60%;
	}
}

.comFlex2._circle li img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/*
.comFlex2 ._expand + ._shrink{
  margin-left: 3%;
}
*/

.comFlex2 figure,
.comFlex3 figure,
.comFlex31 figure {
	display: flex;
	align-items: center;
	justify-content: center;
}

/*
.comFlex2 ._lead h3 {
    margin-bottom: 18px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.1em;
}

.comFlex2 ._lead p {
    line-height: 2;
    color: red;
}
*/

#tinymce .comFlex2 {
	margin-bottom: 24px;
}

.comFlex2>* {
	width: 48%;
	position: relative;
}

.comFlex3>*,
.comFlex31>* {
	width: 31%;
	margin: 20px 1%;
	position: relative;
}

/*SP*/
@media screen and (max-width: 767px) {
	.comFlex2 {
		/* display: block; */
	}

	.comFlex2>* {
		margin-top: 20px;
		width: 100% !important;
	}

	.comFlex2 ._shrink+._expand {
		margin-left: 0;
	}

	.comFlex3>* {
		width: 48%;
		margin: 20px 0;
		position: relative;
	}

	.comFlex31>* {
		width: 100%;
		margin: 20px 1%;
		position: relative;
	}

}

.comBannerBox {
	display: flex;
	justify-content: space-between;
}

.comBannerBox>* {
	width: 47%;
	text-align: center;

	font-weight: 700;
	font-size: 2.4rem;
	border: 2px solid #019fa8;
	padding: 20px;
}

.comBannerBox a {
	color: #019fa8;
}

.comBannerBox>*:hover {
	background-color: #fff;
	color: #019fa8;
}

.comBannerBox img {
	margin-top: 10px;
	height: 140px;
}

/*SP*/
@media screen and (max-width: 1000px) {
	.comBannerBox>* {
		font-size: 2.6vw;
	}

	.comBannerBox img {
		margin-top: 10px;
		height: 18vw;
	}
}


.content.whiteBox {
	/*廃止する？*/
	padding: 80px;
	background: #fff;
}

/*SP*/
@media screen and (max-width: 767px) {
	.content.whiteBox {
		padding: 24px;
	}

	.comFlex2 ._lead h3 {
		font-size: 1.8rem;
	}

	.comFlex2 ._lead {
		text-align: center;
	}
}

/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	margin-top: 50px;
}


.comBtn+.comBtn {
	margin-top: 20px;
}

.comBtn>*,
.comBtn>a {
	text-align: left;
	color: #019fa8;
	width: 280px;
	position: relative;
	font-size: 1.8rem;
	font-weight: 700;
	display: block;
	transition: all 0.3s ease-in-out;
	margin-left: auto;
	margin-right: auto;
	cursor: pointer;
	user-select: none;
}

.comBtn._wider>*,
.comBtn._wider>a {
	width: 380px;
	max-width: 90%;
}

.comBtn._widerLng>*,
.comBtn._widerLng>a {
	width: 460px;
	max-width: 90%;
}

.comBtn._bigger>*,
.comBtn._bigger>a {
	width: 500px;
	max-width: 90%;
	text-align: center;
}

.comBtn._bigger_orange>*,
.comBtn._bigger_orange>a {
	width: 500px;
	max-width: 90%;
	text-align: center;
}

.comBtn._green>*,
.comBtn._green>a {
	color: #fff;
}


.comBtn i {
	font-size: 1.4em;
	margin-right: .25em;
	position: relative;
	top: .1em;
}

.comBtn._blue>*,
.comBtn._blue>a {
	color: var(--darkblue);
}

.comBtn span {
	padding: 12px 35px 12px 20px;
	display: block;
	position: relative;
	z-index: 1;
	border: 2px solid #019fa8;
	background-color: #fff;
	posision: relative;
	/*   color: #019fa8; */
}

.comBtn._bigger span {
	color: #fff;
	font-size: 1.11111111em;
	padding: 15px 35px 15px 20px;
	border: 2px solid #0A65A4;
	background-color: #0A65A4;
}

.comBtn._bigger_orange span {
	color: #fff;
	font-size: 1.11111111em;
	padding: 15px 35px 15px 20px;
	border: 2px solid #ff5a00;
	background-color: #ff5a00;
}

@media screen and (max-width: 767px) {
	.comBtn._bigger span {
		font-size: 1.11111111em;
		padding: 15px 35px 15px 20px;
	}

	.comBtn._bigger_orange span {
		font-size: 1.11111111em;
		padding: 15px 35px 15px 20px;
	}
}

.comBtn._blue span {
	border: 2px solid var(--darkblue);
}

.comBtn._green span {
	background-color: #019fa8;
}

.comBtn span::after {
	font-family: 'icomoon' !important;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\e903";
	/* デフォルト */
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
}

/* 特定リンクのときだけアイコン変更 */
/* OK: 子孫セレクタ */
.comBtn a[href*="inquiry"] span::after {
	content: "\e902";
}

.comBtn *[href^='javascript'] span::after {
	content: "\e911";
}

.comBtn>*:before,
.comBtn>*:after {
	position: absolute;
	content: "";
	background: #019fa8;
	transition: all 0.3s ease-in-out;
}

.comBtn._bigger>*:before,
.comBtn._bigger>*:after {
	background: #002958;
}

.comBtn._bigger_orange>*:before,
.comBtn._bigger_orange>*:after {
	background: #cc3300;
}

.comBtn._blue>*:before,
.comBtn._blue>*:after {
	background: #0055b6;
}

.comBtn._green>*:before,
.comBtn._green>*:after {
	background: #D1F5F3;
}

.comBtn>*:before {
	right: 0;
	top: 0;
	width: 6px;
	height: 100%;
}

.comBtn>*:after {
	left: 0;
	bottom: 0;
	width: 100%;
	height: 6px;
}

.comBtn>*:hover {
	transform: translate(-3px, -3px);
}

.comBtn>*:hover:before {
	right: -4px;
	top: 4px;
}

.comBtn>*:hover:after {
	bottom: -4px;
	left: 4px;
}

/*廃止クラス*/
.comBtn.bg01>* {
	color: #fff;
	font-size: 2rem;
	background-color: red !important;
}

.comBtn.bg01 span {
	padding: 11px 12px 14px 22px;
	background-image: url("../../img/common/icon10w.png");
	background-position: right 18px center;
	background-size: 12px auto;
	background-color: #019fa8;
	;
	border: 2px solid #fff;
}

@media screen and (max-width: 767px) {
	.comBtn {
		margin-top: 25px;
	}

	.comBtn+.comBtn {
		margin-top: 10px;
	}

	.comBtn>* {
		width: 240px;
		margin: 0 auto;
		font-size: 1.3rem;
	}

	.comBtn span {
		font-size: 16px;
		background-size: 8px 11px;
	}

	.comBtn>*:before {
		display: none;
	}

	.comBtn>*:after {
		display: none;
	}

	.comBtn.bg01>* {
		font-weight: 600;
		text-align: left;
	}

	.comBtn.bg01>* span {
		padding: 11px 12px 13px 13px;
		background-image: url("../../img/common/sp_icon11_w.png");
		background-position: right 15px center;
		background-size: 10px auto;
	}

	.comBtn a:hover {
		transform: none;
	}

	.comBtn._widerLng>*,
	.comBtn._widerLng>a {
		width: 280px;
		max-width: 90%;
	}
}

.icon-maru:before {
	content: "\e919";
}