@charset "UTF-8";

/*--------------cmn--------------*/

img#imPageviewImgBcnV2{
	display: block;
	height: 0;
}

* {
	margin: 0;
	padding: 0;
	list-style: none;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}
main{
	overflow: hidden;
}
img,
a img {
	border: 0;
	vertical-align: top;
	backface-visibility: hidden;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	body{
		font-weight: 400 !important;
	}
}
strong{
	font-weight: bold;
}
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section{
	display: block;
}
blockquote,
q{
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before, q:after{
	content: '';
	content: none;
}
ins{
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
mark{
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del{
	text-decoration: line-through;
}
abbr[title],
dfn[title]{
	border-bottom: 1px dotted #000;
	cursor: help;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input,
select{
	vertical-align: middle;
}
.clear{
	clear: both;
}
.st{
	font-weight: bold;
}
.mb40{
	margin-bottom: 40px!important;
}
.mbx{
	margin-bottom: 20px!important;
}
.inner_item_txt a,
.inner_item_txt_before a,
.inner_item_txt_after a{/*テキストリンク*/
	text-decoration: underline;
	text-decoration-color:;/*cmn.jsにて文字色の透過0.4*/
	color: inherit !important;
}

.submit span:before,
.submit:before,
.submit span:after,
.submit:after,
.contents_btn01:before,
.contents_btn01:after,
.btn:before,
.btn:after{
	pointer-events: none;
}
button,
input,
select,
textarea{
	font-family: inherit;
	font-size: 100%;
}

/*--fonts--*/

/*ゴシック×ゴシック*/
body{
	font-family: "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
body.ft01{
	/*font-weight = 300/500/900*/
	font-family: 'Oswald', "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
body.ft02{
	/*font-weight = 300/500/900*/
	font-family: 'Mukta', "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
body.ft03{
	/*font-weight = 100/400/900*/
	font-family: 'Roboto', "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

/*明朝×ゴシック*/
body.ft04 h2,
body.ft04 h3,
body.ft04 h4,
body.ft04 h5,
body.ft04 h6,
body.ft04 .block_header_1 p,
body.ft04 .block_header_2 p,
body.ft04 .block_header_3 p,
body.ft04 .block_header_4 p,
body.ft04 .block_header_5 p,
body.ft04 .contents_faq01 dt:before,
body.ft04 .contents_faq01 dd:before,
body.ft04 header .tel a,
body.ft04 header .tel span,
body.ft04 .widget_tel .inner_item_tel a,
body.ft04 .widget_tel .inner_item_tel span,
body.ft04 #lv{
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
body.ft05 h2,
body.ft05 h3,
body.ft05 h4,
body.ft05 h5,
body.ft05 h6,
body.ft05 .block_header_1 p,
body.ft05 .block_header_2 p,
body.ft05 .block_header_3 p,
body.ft05 .block_header_4 p,
body.ft05 .block_header_5 p,
body.ft05 .contents_faq01 dt:before,
body.ft05 .contents_faq01 dd:before,
body.ft05 header .tel a,
body.ft05 header .tel span,
body.ft05 .widget_tel .inner_item_tel a,
body.ft05 .widget_tel .inner_item_tel span,
body.ft05 #lv{
	/*font-weight = 400/700/900*/
	font-family: "Playfair Display" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
body.ft06 h2,
body.ft06 h3,
body.ft06 h4,
body.ft06 h5,
body.ft06 h6,
body.ft06 .block_header_1 p,
body.ft06 .block_header_2 p,
body.ft06 .block_header_3 p,
body.ft06 .block_header_4 p,
body.ft06 .block_header_5 p,
body.ft06 .contents_faq01 dt:before,
body.ft06 .contents_faq01 dd:before,
body.ft06 header .tel a,
body.ft06 header .tel span,
body.ft06 .widget_tel .inner_item_tel a,
body.ft06 .widget_tel .inner_item_tel span,
body.ft06 #lv{
	/*font-weight = 400/700/900*/
	font-family: "Nanum Myeongjo" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

/*明朝×明朝*/
body.ft07,
body.ft08,
body.ft09{
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
body.ft07 h2,
body.ft07 h3,
body.ft07 h4,
body.ft07 h5,
body.ft07 h6,
body.ft07 .block_header_1 p,
body.ft07 .block_header_2 p,
body.ft07 .block_header_3 p,
body.ft07 .block_header_4 p,
body.ft07 .block_header_5 p,
body.ft07 .contents_faq01 dt:before,
body.ft07 .contents_faq01 dd:before,
body.ft07 header .tel a,
body.ft07 header .tel span,
body.ft07 .widget_tel .inner_item_tel a,
body.ft07 .widget_tel .inner_item_tel span,
body.ft07 #lv{
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
body.ft08 h2,
body.ft08 h3,
body.ft08 h4,
body.ft08 h5,
body.ft08 h6,
body.ft08 .block_header_1 p,
body.ft08 .block_header_2 p,
body.ft08 .block_header_3 p,
body.ft08 .block_header_4 p,
body.ft08 .block_header_5 p,
body.ft08 .contents_faq01 dt:before,
body.ft08 .contents_faq01 dd:before,
body.ft08 header .tel a,
body.ft08 header .tel span,
body.ft08 .widget_tel .inner_item_tel a,
body.ft08 .widget_tel .inner_item_tel span,
body.ft08 #lv{
	/*font-weight = 400/700/900*/
	font-family: "Playfair Display" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
body.ft09 h2,
body.ft09 h3,
body.ft09 h4,
body.ft09 h5,
body.ft09 h6,
body.ft09 .block_header_1 p,
body.ft09 .block_header_2 p,
body.ft09 .block_header_3 p,
body.ft09 .block_header_4 p,
body.ft09 .block_header_5 p,
body.ft09 .contents_faq01 dt:before,
body.ft09 .contents_faq01 dd:before,
body.ft09 header .tel a,
body.ft09 header .tel span,
body.ft09 .widget_tel .inner_item_tel a,
body.ft09 .widget_tel .inner_item_tel span,
body.ft09 #lv{
	/*font-weight = 400/700/900*/
	font-family: "Nanum Myeongjo" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}

/*--text-align--*/

.align-left{
	text-align: left;
}
.align-center{
	text-align: center;
}
.align-right{
	text-align: right;
}
@media screen and (max-width: 800px){
	main>section:not(.composite_box01).align-center .inner_item_txt,
	main>div:not(.composite_box01).align-center .inner_item_txt,
	aside>section:not(.composite_box01).align-center .inner_item_txt,
	aside>div:not(.composite_box01).align-center .inner_item_txt,
	#primary>div:not(.composite_box01).align-center .inner_item_txt,
	#primary>div:not(.composite_box01).align-center .inner_item_txt{
		text-align: left ;
	}
}

/*--余白設定--*/

main section.parallax>.content_wrapper>*:last-child,
main>div.parallax>.content_wrapper>*:last-child,
aside>section.parallax>.content_wrapper>*:last-child,
aside>div.parallax>.content_wrapper>*:last-child,
main section.bg>.content_wrapper>*:last-child,
main>div.bg>.content_wrapper>*:last-child,
aside>section.bg>.content_wrapper>*:last-child,
aside>div.bg>.content_wrapper>*:last-child,
main section:last-child>.content_wrapper>*.map:last-child,
main>div.width_full:last-child>.content_wrapper>*.map:last-child,
aside>section.width_full:last-child>.content_wrapper>*.map:last-child,
aside>div.width_full:last-child>.content_wrapper>*.map:last-child,

main section.widget_map.width_full:last-child>.content_wrapper>iframe,
main>div.widget_map.width_full:last-child>.content_wrapper>iframe,
aside>section.widget_map.width_full:last-child>.content_wrapper>iframe,
aside>div.widget_map.width_full:last-child>.content_wrapper>iframe{
	/*各セクション背景あり、または最後の地図*/
	margin-bottom: 0px !important;
}

main section.mb0>.content_wrapper>*:last-child,
main>div.mb0>.content_wrapper>*:last-child,
aside>section.mb0>.content_wrapper>*:last-child,
aside>div.mb0>.content_wrapper>*:last-child,
.contents_hr.mb0 hr,
.contents_hr2.mb0 hr,
main section.mb10>.content_wrapper>*:last-child,
main>div.mb10>.content_wrapper>*:last-child,
aside>section.mb10>.content_wrapper>*:last-child,
aside>div.mb10>.content_wrapper>*:last-child,
.contents_hr.mb10 hr,
.contents_hr2.mb10 hr,
main section.mb20>.content_wrapper>*:last-child,
main>div.mb20>.content_wrapper>*:last-child,
aside>section.mb20>.content_wrapper>*:last-child,
aside>div.mb20>.content_wrapper>*:last-child,
.contents_hr.mb20 hr,
.contents_hr2.mb20 hr,
main section.mb30>.content_wrapper>*:last-child,
main>div.mb30>.content_wrapper>*:last-child,
aside>section.mb30>.content_wrapper>*:last-child,
aside>div.mb30>.content_wrapper>*:last-child,
.contents_hr.mb30 hr,
.contents_hr2.mb30 hr,
main section.mb40>.content_wrapper>*:last-child,
main>div.mb40>.content_wrapper>*:last-child,
aside>section.mb40>.content_wrapper>*:last-child,
aside>div.mb40>.content_wrapper>*:last-child,
.contents_hr.mb40 hr,
.contents_hr2.mb40 hr,
main section.mb50>.content_wrapper>*:last-child,
main>div.mb50>.content_wrapper>*:last-child,
aside>section.mb50>.content_wrapper>*:last-child,
aside>div.mb50>.content_wrapper>*:last-child,
.contents_hr.mb50 hr,
.contents_hr2.mb50 hr,
main section.mb60>.content_wrapper>*:last-child,
main>div.mb60>.content_wrapper>*:last-child,
aside>section.mb60>.content_wrapper>*:last-child,
aside>div.mb60>.content_wrapper>*:last-child,
.contents_hr.mb60 hr,
.contents_hr2.mb60 hr,
main section.mb70>.content_wrapper>*:last-child,
main>div.mb70>.content_wrapper>*:last-child,
aside>section.mb70>.content_wrapper>*:last-child,
aside>div.mb70>.content_wrapper>*:last-child,
.contents_hr.mb70 hr,
.contents_hr2.mb70 hr,
main section.mb80>.content_wrapper>*:last-child,
main>div.mb80>.content_wrapper>*:last-child,
aside>section.mb80>.content_wrapper>*:last-child,
aside>div.mb80>.content_wrapper>*:last-child,
.contents_hr.mb80 hr,
.contents_hr2.mb80 hr,
main section.mb90>.content_wrapper>*:last-child,
main>div.mb90>.content_wrapper>*:last-child,
aside>section.mb90>.content_wrapper>*:last-child,
aside>div.mb90>.content_wrapper>*:last-child,
.contents_hr.mb90 hr,
.contents_hr2.mb90 hr,
main section.mb100>.content_wrapper>*:last-child,
main>div.mb100>.content_wrapper>*:last-child,
aside>section.mb100>.content_wrapper>*:last-child,
aside>div.mb100>.content_wrapper>*:last-child,
.contents_hr.mb100 hr,
.contents_hr2.mb100 hr{
	/*各セクションリセット*/
	margin-bottom: 0px !important;
}
.parallax.mb0+*:not(.parallax):not(.bg),
main section.mb0.bg+*:not(.parallax):not(.bg),
main>div.mb0.bg+*:not(.parallax):not(.bg),
aside>section.mb0.bg+*:not(.parallax):not(.bg),
aside>div.mb0.bg+*:not(.parallax):not(.bg),
.parallax.mb10+*:not(.parallax):not(.bg),
main section.mb10.bg+*:not(.parallax):not(.bg),
main>div.mb10.bg+*:not(.parallax):not(.bg),
aside>section.mb10.bg+*:not(.parallax):not(.bg),
aside>div.mb10.bg+*:not(.parallax):not(.bg),
.parallax.mb20+*:not(.parallax):not(.bg),
main section.mb20.bg+*:not(.parallax):not(.bg),
main>div.mb20.bg+*:not(.parallax):not(.bg),
aside>section.mb20.bg+*:not(.parallax):not(.bg),
aside>div.mb20.bg+*:not(.parallax):not(.bg),
.parallax.mb30+*:not(.parallax):not(.bg),
main section.mb30.bg+*:not(.parallax):not(.bg),
main>div.mb30.bg+*:not(.parallax):not(.bg),
aside>section.mb30.bg+*:not(.parallax):not(.bg),
aside>div.mb30.bg+*:not(.parallax):not(.bg),
.parallax.mb40+*:not(.parallax):not(.bg),
main section.mb40.bg+*:not(.parallax):not(.bg),
main>div.mb40.bg+*:not(.parallax):not(.bg),
aside>section.mb40.bg+*:not(.parallax):not(.bg),
aside>div.mb40.bg+*:not(.parallax):not(.bg),
.parallax.mb50+*:not(.parallax):not(.bg),
main section.mb50.bg+*:not(.parallax):not(.bg),
main>div.mb50.bg+*:not(.parallax):not(.bg),
aside>section.mb50.bg+*:not(.parallax):not(.bg),
aside>div.mb50.bg+*:not(.parallax):not(.bg),
.parallax.mb60+*:not(.parallax):not(.bg),
main section.mb60.bg+*:not(.parallax):not(.bg),
main>div.mb60.bg+*:not(.parallax):not(.bg),
aside>section.mb60.bg+*:not(.parallax):not(.bg),
aside>div.mb60.bg+*:not(.parallax):not(.bg),
.parallax.mb70+*:not(.parallax):not(.bg),
main section.mb70.bg+*:not(.parallax):not(.bg),
main>div.mb70.bg+*:not(.parallax):not(.bg),
aside>section.mb70.bg+*:not(.parallax):not(.bg),
aside>div.mb70.bg+*:not(.parallax):not(.bg),
.parallax.mb80+*:not(.parallax):not(.bg),
main section.mb80.bg+*:not(.parallax):not(.bg),
main>div.mb80.bg+*:not(.parallax):not(.bg),
aside>section.mb80.bg+*:not(.parallax):not(.bg),
aside>div.mb80.bg+*:not(.parallax):not(.bg),
.parallax.mb90+*:not(.parallax):not(.bg),
main section.mb90.bg+*:not(.parallax):not(.bg),
main>div.mb90.bg+*:not(.parallax):not(.bg),
aside>section.mb90.bg+*:not(.parallax):not(.bg),
aside>div.mb90.bg+*:not(.parallax):not(.bg),
.parallax.mb100+*:not(.parallax):not(.bg),
main section.mb100.bg+*:not(.parallax):not(.bg),
main>div.mb100.bg+*:not(.parallax):not(.bg),
aside>section.mb100.bg+*:not(.parallax):not(.bg),
aside>div.mb100.bg+*:not(.parallax):not(.bg){
	/*背景ありsectionの次のsectionリセット*/
	padding-top: 0;
}
.bg2{
	padding-top: 0 !important;
}

/*--100px-*/
main section.mb-100,
main>div.mb-100,
aside>section.mb-100,
aside>div.mb-100{
	margin-bottom: -100px;
}
/*--90px-*/
main section.mb-90,
main>div.mb-90,
aside>section.mb-90,
aside>div.mb-90{
	margin-bottom: -90px;
}
/*--80px-*/
main section.mb-80,
main>div.mb-80,
aside>section.mb-80,
aside>div.mb-80{
	margin-bottom: -80px;
}
/*--70px-*/
main section.mb-70,
main>div.mb-70,
aside>section.mb-70,
aside>div.mb-70{
	margin-bottom: -70px;
}
/*--60px-*/
main section.mb-60,
main>div.mb-60,
aside>section.mb-60,
aside>div.mb-60{
	margin-bottom: -60px;
}
/*--50px-*/
main section.mb-50,
main>div.mb-50,
aside>section.mb-50,
aside>div.mb-50{
	margin-bottom: -50px;
}
/*--40px-*/
main section.mb-40,
main>div.mb-40,
aside>section.mb-40,
aside>div.mb-40{
	margin-bottom: -40px;
}
/*--30px-*/
main section.mb-30,
main>div.mb-30,
aside>section.mb-30,
aside>div.mb-30{
	margin-bottom: -30px;
}
/*--20px-*/
main section.mb-20,
main>div.mb-20,
aside>section.mb-20,
aside>div.mb-20{
	margin-bottom: -20px;
}
/*--10px-*/
main section.mb-10,
main>div.mb-10,
aside>section.mb-10,
aside>div.mb-10{
	margin-bottom: -10px;
}
/*-0px-*/
main section.mb0,
main>div.mb0,
aside>section.mb0,
aside>div.mb0{
	margin-bottom: 0px;
}
/*-10px-*/
main section.mb10,
main>div.mb10,
aside>section.mb10,
aside>div.mb10{
	margin-bottom: 10px;
}
/*-20px-*/
main section.mb20,
main>div.mb20,
aside>section.mb20,
aside>div.mb20{
	margin-bottom: 20px;
}
/*-30px-*/
main section.mb30,
main>div.mb30,
aside>section.mb30,
aside>div.mb30{
	margin-bottom: 30px;
}
/*-40px-*/
main section.mb40,
main>div.mb40,
aside>section.mb40,
aside>div.mb40{
	margin-bottom: 40px;
}
/*-50px-*/
main section.mb50,
main>div.mb50,
aside>section.mb50,
aside>div.mb50{
	margin-bottom: 50px;
}
/*-60px-*/
main section.mb60,
main>div.mb60,
aside>section.mb60,
aside>div.mb60{
	margin-bottom: 60px;
}
/*-70px-*/
main section.mb70,
main>div.mb70,
aside>section.mb70,
aside>div.mb70{
	margin-bottom: 70px;
}
/*-80px-*/
main section.mb80,
main>div.mb80,
aside>section.mb80,
aside>div.mb80{
	margin-bottom: 80px;
}
/*-90px-*/
main section.mb90,
main>div.mb90,

aside>section.mb90,
aside>div.mb90{
	margin-bottom: 90px;
}
/*-100px-*/
main section.mb100,
main>div.mb100,
aside>section.mb100,
aside>div.mb100{
	margin-bottom: 100px;
}

/*----------------------------load-----------------------------------*/

#load{
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 100;
}
#load div:nth-of-type(1){
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	transition: 0.8s ease-in-out;
}
#load .loader,
.popup .loader {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	animation: spin 0.75s infinite linear;
	position: absolute;
	top: calc(50% - 60px);
	left: calc(50% - 25px);
	display: block;
}
#load .loader::before,
#load .loader::after,
.popup .loader::before,
.popup .loader::after {
	left: -1px;
	top: -1px;
	display: none;
	position: absolute;
	content: '';
	width: inherit;
	height: inherit;
	border: inherit;
	border-radius: inherit;
}
#load .loader,
#load .loader::before,
.popup .loader,
.popup .loader::before {
	display: inline-block;
	border-color: transparent !important;
}
#load .loader::before,
.popup .loader::before {
	animation: spin 1.5s infinite ease;
}
@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
#load img{
	display: block;
	opacity: 0;
	z-index: 100;
	max-width: 150px;
	max-height: 80px;
	position: absolute;
	top: calc(50% + 10px);
	left: 0;
	right: 0;
	margin: 0 auto;
}
#load img.loaded{
	opacity: 1;
	transition: 0.4s ease-in-out;
}

/*----------------------------delay-----------------------------------*/

.delay,
.delay1,
.delay2,
.delay3,
.delay4{
	opacity: 0;
	transition: 0.8s ease-in-out;
}
.delay,
.delay1{
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px);
}
.delay2{
	transform: translate(0,-60px); 
	-webkit-transform: translate(0,-60px);
}
.delay3{
	transform: translate(-60px,0); 
	-webkit-transform: translate(-60px,0);
}
.delay4{
	transform: translate(60px,0); 
	-webkit-transform: translate(60px,0);
}
.delayActive,
.delay1Active,
.delay2Active,
.delay3Active,
.delay4Active{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
	transition: 0.8s ease-in-out;
	z-index: 1;
}

/*----------------------------base-----------------------------------*/

img{
	max-width: 100%;
}

main{
	min-width: 320px;
	z-index: 1;
	position: relative;
	background: #fff;
}

.inner_item_txt .heading:empty(){
	margin: 0;
}
.inner_item_txt p{
	margin-bottom: 10px;
}
.inner_item_txt p:nth-last-of-type(1){
	margin-bottom: 0;
}

/*----------------------------2カラム-----------------------------------*/

.column2{
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
#primary{
	order: 1;
	width: 71%;
	margin-bottom: 80px;
}
#primary article{
	margin-bottom: 50px;
	padding-bottom: 50px;
	overflow: hidden;
}
#primary article .inner_item_img{
	transition: 0.2s ease-in-out;
}
#primary article .inner_item_img:hover{
}
#primary article .entry_body{
	margin-bottom: 20px;
}
#primary article .entry_body img{
	margin-bottom: 20px;
}
#primary article .entry_body .inner_item_img img{
	margin-bottom: 0;
}
#primary article .entry_body img[src*="ckeditor"]{
	margin-bottom: 0;
}
#primary article .entry_meta{
	font-size: 1.3rem;
}
#primary article .entry_meta ul{
	display: block;
}
#primary article .entry_meta ul li{
	display: inline-block;
}
#primary article .entry_meta ul li:after{
	content: ", ";
}
#primary article .entry_meta ul li:last-child:after{
	content: "";
}
#sidebar{
	order: 2;
	width: 25%;
	box-sizing: border-box;
	font-size: 1.45rem;
	margin-bottom: 80px;
}
#sidebar section,
#sidebar>div{
	padding: 0 0 30px;
	margin-bottom: 30px;
}
#sidebar section:last-child,
#sidebar>div:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

#sidebar section .content_wrapper,
#sidebar>div .content_wrapper{
	padding-left: 0;
	padding-right: 0;
}
#sidebar .widget_news02 ul{
	min-width: 0;
	line-height: 1.6;
}
#sidebar .widget_news02 ul li{
	border: none;
}


#sidebar .widget_news02 ul a{
	width: 100%;
}
#sidebar .widget_news02 ul p{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#sidebar .sidebar_list ul,
#sidebar .sidebar_list li,
#sidebar .sidebar_list a{
	display: block;
}
#sidebar .sidebar_list li{
	margin-bottom: 5px;
}
#sidebar .sidebar_list li:last-child{
	margin-bottom: 0;
}
#sidebar .sidebar_tag ul{
	display: block;
}
#sidebar .sidebar_tag li{
	display: inline-block;
	margin: 2px 5px 3px 0;
}
#sidebar .sidebar_tag li a{
	display: block;
	padding: 5px 7px;
	font-size: 1.2rem;
}
.siidenav li a{
	padding-top: 7px;
	padding-bottom: 7px;
}
.sidebanner li{
	margin-bottom: 20px;
}
.sidebanner li:last-child{
	margin-bottom: 0;
}
@media screen and (max-width: 1100px){
	#primary{
		width: calc(100% - 330px);
	}
	#sidebar{
		width: 310px;
	}
}
@media screen and (max-width: 850px){
	.column2{
		display: block;
	}
	#primary{
		width: auto !important;
		float: none !important;
	}
	#sidebar{
		width: auto !important;
		float: none;
		padding-left: 0;
		padding: 20px !important;
	}
	.column2 #sidebar{
		padding-right: 2%;
		padding-left: 2%;
		margin-left: 2%;
		margin-right: 2%;
		margin-bottom: 50px;
	}
	#sidebar .sidebar_list{
		display: flex;
		flex-wrap: wrap;
	}
	#sidebar .sidebar_list li{
		width: 100%;
	}
	/*
	#sidebar .sidebar_list li{
		width: 33.3%;
	}
	]*/
	#sidebar .sidebar_list li a{
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		width: 95%;
		box-sizing: border-box;
	}
	.sidebanner ul{
		overflow: hidden;
	}
	.sidebanner li{
		width: 48%;
	}
	.sidebanner li:nth-of-type(2n){
		float: right;
	}
	.sidebanner li:nth-of-type(2n+1){
		float: left;
		clear: left;
	}
	.sidebanner li:last-child{
		margin-bottom: 0;
	}
}
@media screen and (max-width: 770px){
	#sidebar .sidebar_tag li{
		margin: 5px 5px 5px 0;
	}
	.sidebanner li{
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 700px){
	/*
	#sidebar .sidebar_list li{
		width: 50%;
	}
	*/
}
@media screen and (max-width: 400px){
	#sidebar .sidebar_list li{
		width: 100%;
	}
}

/*----------------------------header-----------------------------------*/

header{
	width: 100%;
	min-width: 320px;
	text-align: left;
	position: absolute;
	left: 0;
	z-index: 50;
}
header:after{
	display: none;
	content: "";
	width: 0;
	height: 100%;
	position: absolute;
	top: 0;
	right: -10%;
	transition: 0.3s ease-in-out;
	z-index: 1;
}
body.scrolled header{
	position: fixed;
	top: 0;
	opacity: 1;
	transition: 0.5s ease-in-out;
}
body.hHide header{
	top: -200px;
	opacity: 0;
}
header.nofixed{
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
}

header .wraper{
	padding: 0 15px;
	margin: 0 auto;
	max-width: 1200px;
	width: calc(100% - 30px);
	position: relative;
}
header#pattern3:not(.width_full) .wraper{
	max-width: 1300px !important;
}
header .wraper>.inner{
	display: flex;
	align-items: center;
	min-height: 45px;
}
header.width_full .wraper{
	max-width: none;
	padding: 0 25px;
	width: calc(100% - 50px);
}

header h1{
	box-sizing: border-box;
	display: block;
	text-align: right;
}
header#pattern1 h1,
header#pattern2 h1,
header#pattern4 h1{
	position: absolute;
	top: 5px;
	right: 15px;
	overflow: hidden;
}
header#pattern1.width_full h1,
header#pattern2.width_full h1,
header#pattern4.width_full h1{
	right: 25px;
}
header#pattern3 h1{
	width: 42%;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-right: 1%;
	text-align: left;
	letter-spacing: -0.02rem !important;
}

header .logo{
	width: 24%;
	padding: 20px 0;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
header .logo a{
	display: inline-block;
}
header .logo a img{
	max-width: 100%;
	display: block;
}
header#pattern2 .logo{
	width: 20%;
	position: absolute;
	top: 0;
	left: 15px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}
_:-ms-fullscreen, :root header#pattern2 .logo a{/* IE11 */
	width: 100%;
}
header#pattern2.width_full .logo{
	left: 25px;
}
header#pattern3 .logo{
	width: 16%;
	text-align: center;
	max-width: none !important;
	justify-content: center;
}

header .burger{
	display: none;
	position: absolute;
	top: calc(50% - 22.5px);
	right: 9px;
	z-index: 5;
}
header .burger ul{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: 88px;
}
header .burger li{
	display: block;
	width: 45px;
	height: 45px;
	box-sizing: border-box;
}
header .burger li a{
	display: block;

	width: 32px;
	height: 32px;
	text-indent: -10000px;

	position: relative;
	padding: 6px;
}
header .burger li a svg{
	max-width: 100%;
	max-height: 100%;
}
header .burger li.sp_payment a,
header .burger li.sp_translate a{
	text-indent: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
header .burger li.sp_payment a{
	padding-right: 4px;
}
header .burger li.sp_payment a svg{
	display: block;
	max-width: 25px;
	max-height: 28px;
}
header .burger li.sp_translate a svg{
	display: block;
}
header .sp_menu a div{
	width: 30px;
	margin: 0 auto;
	height: 100%;
	overflow: hidden;
	position: relative;
}
header .sp_menu a div:before,
header .sp_menu a div:after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	transition: 0.3s ease-in-out;
}
header .sp_menu a div:before{
	top: 9px;
}
header .sp_menu a div:after{
	top: 25px;
}
header .sp_menu a div span{
	margin-top: 17px;
	width: 100%;
	height: 1px;
	display: block;
	position: relative;
	transition: 0.3s ease-in-out;
}
header .sp_menu a:hover div:before{
	animation: before 0.6s ease-in-out;
}
header .sp_menu a:hover div span{
	animation: span 0.6s ease-in-out;
}
header .sp_menu a:hover div:after{
	animation: after 0.6s ease-in-out;
}
@keyframes before{
	0%{width: 100%;left: 0;}
	20%{width: 0;left: 0;}
	40%{width: 0;left: 100%;}
	60%{width: 100%;left: 0;}
}
@keyframes span{
	0%{width: 100%;left: 0;}
	10%{width: 100%;left: 0;}
	30%{width: 0;left: 0;}
	50%{width: 0;left: 100%;}
	70%{width: 100%;left: 0;}
}
@keyframes after{
	0%{width: 100%;left: 0;}
	20%{width: 100%;left: 0;}
	40%{width: 0;left: 0;}
	60%{width: 0;left: 100%;}
	80%{width: 100%;left: 0;}
}

header .header_contents{
	width: 76%;
	min-width: 320px;
	box-sizing: border-box;
	padding-left: 3%;
	padding-top: 30px;
	padding-bottom: 15px;
	margin-right: 0;
	margin-left: auto;
}
header#pattern2 .header_contents{
	margin-left: 24%;
	padding-top: 30px;
	padding-bottom: 5px;
}
header#pattern3 .header_contents{
	padding-top: 15px;
	padding-bottom: 15px;
}
header#pattern3 .header_contents{
	width: 42%;
	padding-left: 1%;
}
header#pattern3 .header_contents .inner{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

header .header_contents .header_sns{
	display: none;
}

header .header_contents .header_col1{
	display: flex;
	flex-wrap: wrap;
}
header .header_contents .header_col1 .tel{
	margin-right: 10px;
}
header .header_contents .header_col1 .tel a,
header .header_contents .header_col1 .tel span{
	pointer-events: none;
}
@media screen and (max-width: 768px){
	header .header_contents .header_col1 .tel a,
	header .header_contents .header_col1 .tel span{
		pointer-events: auto;
	}
}
header .header_contents .header_col1 .tel:nth-last-of-type(1){
	margin-right: 0;
}
header .header_contents .header_col1 .tel svg{
	display: block;
	position: absolute;
}
header .header_contents .header_col1 .btn{
	position: relative;
	min-height: 35.2px;
	min-width: 44px;
	display: flex;
}
header .header_contents .header_col1 .btn>a:nth-last-of-type(1):nth-last-child(2){
	margin-right: 50px;
}
header .header_contents .header_col1 .btn>a:nth-of-type(1):nth-last-of-type(2){
	margin-right: 10px;
}
header .header_contents .header_col1 .btn>a:empty{
	pointer-event: none !important;
	border: none !important;
	opacity: 0 !important;
	margin-right: 0;
	height: 100%;
	width: 50px !important;
}
header .header_contents .header_col1 .btn>a,
header#pattern4 .wraper>.inner>.btn>a{
	transition: 0.2s ease-in-out;
}
header .header_contents .header_col1 .btn>a:hover{
	opacity: 0.8;
}
header .header_contents .header_col1 .btn .translate{
	width: 44px;
	height: 100%;
	/*overflow: hidden;*/
	position: absolute;
	top: 0;
	right: 0;
}
header .header_contents .header_col1 .btn .translate a{
	display: block;
	height: 100%;
	width: 100%;
	transition: 0.2s ease-in-out;
	position: absolute;
	top: 0;
	left: 0;
}
header .header_contents .header_col1 .btn .translate a svg{
	display: block;
}
#google_translate_element{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	overflow: hidden;
	opacity: 0;
}
#google_translate_element .skiptranslate{
	background: #00f;
	height: 100%;
	width: 100%;
}
#google_translate_element .skiptranslate>div{
	display: block !important;
	height: 100%;
	width: 100%;
}
#google_translate_element select{
	color: #333 !important;
	cursor: pointer;
	margin: 0;
	height: 100%;
	width: 100%;
}
#google_translate_element select *{
	color: #333 !important;
}
#google_translate_element .skiptranslate>span{
	display: none;
}

header .header_contents .header_col2{
	text-align: right;
	line-height: 1.5;
}

header .header_contents .header_col1 .tel,
header .header_contents .header_col1 .btn,
header .header_contents .header_col2 .add{
	margin-top: 5px;
	margin-bottom: 5px;
}

header h1:empty,
header .header_contents:empty,
header .header_contents div:empty,
header .header_contents a:empty{
	padding: 0 !important;
	margin: 0 !important;
}

header nav{
	display: block;
	width: 100%;
	box-sizing: border-box;
}
header#pattern2 nav{
	margin-left: auto;
	margin-right: auto;
	background-color: transparent;
	padding-right: 15px;
	justify-content: flex-end;
	display: flex;
}
header#pattern2:not(.width_full) nav{
	max-width: 1200px;
}
header#pattern2.width_full nav{
	padding-right: 25px;
}
header#pattern2 nav ul.nav_1st{
	width: 77%;
}
@media screen and (min-width: 1201px){
	header#pattern1.width_full nav ul{
		margin-right: 0;
	}
}
@media screen and (max-width: 480px){
	.skiptranslate iframe{
		transform: scale(0.7);
		transform-origin: 0 0;
		width: 143%;
	}
}
header nav ul.nav_1st{
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex-wrap: wrap;
}
header#pattern1 nav ul.nav_1st,
header#pattern3 nav ul.nav_1st{
	max-width: 1230px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 15px;
}
header#pattern1.width_full nav ul.nav_1st,
header#pattern3.width_full nav ul.nav_1st{
	max-width: none;
	padding: 0 30px;
}
header#pattern2 nav ul.nav_1st{
	margin-right: 0;
	justify-content: flex-end;
}
header nav ul.nav_1st>li{
	display: block;
	box-sizing: border-box;
	position: relative;
}
header nav ul.nav_1st>li>a{
	padding: 0 5px;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: block;
	position: relative;
	text-align: center;
	transition: 0.2s ease-in-out;
}
header nav ul.nav_1st>li.active>a:before{
	content: "";
	display: block;
	position: absolute;
}
header nav ul.nav_1st>li a:hover{
	opacity: 0.8;
}
header nav ul.nav_1st>li i{
	display: none;
}
header nav ul.nav_2nd{
	display: block;
	min-width: 100%;
	position: absolute;
	top: 100%;
	left: 0;
	opacity: 0;
	transition: 0.3s ease-in-out;
	pointer-events: none;
	z-index: 1;
}
@media screen and (min-width: 901px){
	header:not(#pattern4) nav ul.nav_2nd{
		display: block !important;
	}
}
header nav ul.nav_1st>li:hover ul.nav_2nd{
	opacity: 1;
	pointer-events: auto;
}
header nav ul.nav_2nd li{
	display: block;
}
header nav ul.nav_2nd li a{
	position: relative;
	display: block;
	transition: 0.2s ease-in-out;
	white-space: nowrap;
	text-overflow: ellipsis;
}
header nav ul.nav_2nd>li>a:after{
	content: "";
	display: block;
	position: absolute;
}
header nav ul.nav_3rd{
	display: block;
}
header nav ul.nav_3rd>li>a:after{
	content: "";
	display: block;
	position: absolute;
}

body.scrolled header .wraper > .inner{
	min-height: 0;
}
body.scrolled header .header_col1 .tel,
body.scrolled header .header_col2{
	display: none;
}
body.scrolled header h1{
	display: none;
}
body.scrolled header#pattern3 h1{
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
}
body.scrolled header .logo,
body.scrolled header .header_contents{
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}
body.scrolled header#pattern2 .header_contents{
	padding-bottom: 0px !important;
}
body.scrolled header nav ul.nav_1st>li>a span,
body.margin.scrolled header nav ul.nav_1st>li>a span{
	line-height: 3;
}
header#pattern2 nav ul.nav_1st{
	justify-content: flex-end;
}

@media screen and (max-width: 1200px){
	header#pattern3 .header_contents .header_col2{
		display: none;
	}
}
@media screen and (max-width: 1100px){
	header.width_full .wraper{
		padding: 0 15px;
		width: calc(100% - 30px);
	}
	header#pattern1.width_full h1,
	header#pattern2.width_full h1{
		right: 15px;
	}
	header#pattern2.width_full .logo{
		left: 15px;
	}
	header#pattern1.width_full nav ul.nav_1st,
	header#pattern3.width_full nav ul.nav_1st{
		padding: 0 15px;
	}
	header#pattern2.width_full nav{
		padding-right: 15px;
	}
}
@media screen and (max-width: 900px){
	header{
		transition: 0.5s ease-in-out;
	}
	header:after{
		display: block;
	}
	header.open:after{
		right: 0;
		width: 100%;
	}
	header,
	header.nofixed{
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		opacity: 1 !important;
	}
	header .wrapper{
		z-index: 2;
	}
	header .wrapper>.inner{
		min-height: 60px;
		display: block;
	}
	header .logo{
		position: relative;
		z-index: 5;
		width: auto !important;
		max-width: calc(100% - 100px) !important;
		padding: 10px 0 !important;
		/*min-height: 0 !important;*/
	}
	header#pattern2 .logo{
		position: relative;
		left: 0 !important;
		height: auto !important;
	}
	header#pattern3 .logo,
	header#pattern4 .logo{
		margin: 0 auto;
	}
	header .logo a img{
		max-width: 100%;
		max-height: 50px !important;
	}
	header .burger{
		display: block;
	}
	header#pattern4 .burger{
		width: auto !important;
		position: absolute;
	}
	
	header h1{
		display: none !important;
	}
	
	header .header_contents,
	header#pattern4 .header_contents{
		width: 100% !important;
		margin: 0;
		display: block;
		overflow: auto;
		position: absolute;
		top: 100%;
		left: 110%;
		opacity: 0;
		transition: 0.3s ease-in-out;
	}
	header .header_contents,
	body.scrolled header .header_contents,
	body.margin header .header_contents{
		padding: 15px 15px 0 !important;
	}
	header#pattern2 .header_contents{
		margin-left: 0;
	}
	header.open .header_contents,
	header#pattern4.open .header_contents{
		left: 0;
		opacity: 1;
	}
	header .header_contents .inner{
		display: flex;
		flex-direction: column-reverse !important;
		justify-content: center !important;
	}
	header .header_contents .inner:before{
		content: "";
		display: block;
		padding-bottom: 40px;
		width: 100%;
	}
	header .header_contents .inner>div:nth-of-type(2){
		padding-top: 10px;
		padding-bottom: 10px;
	}
	
	header .header_contents .header_sns{
		display: block;
		padding-top: 25px;
		width: 100%;
	}
	header .header_contents .header_sns ul{
		display: flex;
		justify-content: space-around;
		width: 90%;
		max-width: 300px;
		margin: 0 auto;
	}
	header .header_contents .header_sns li{
		display: block;
		width: 36px;
		height: 36px;
	}
	header .header_contents .header_sns li svg{
		width: 100%;
		height: 100%;
	}
	
	header .header_contents .header_col1{
		display: flex !important;
		flex-wrap: wrap !important;
		flex-direction: row !important;
		justify-content: center !important;
		align-items: center !important;
		text-align: left;
		width: 100%;
	}
	header .header_contents .header_col1>div{
		margin: 15px 10px 0;
		display: block;
	}
	header .header_contents .header_col1 .tel{
		display: block !important;
		margin-right: 10px !important;
	}
	header .header_contents .header_col1 .btn{
		padding: 0;
	}
	header .header_contents .header_col1 .btn>a:nth-last-child(2){
		margin-right: 0;
	}
	header .header_contents .header_col1 .btn .translate{
		display: none;
	}
	header .header_contents .header_col2{
		text-align: center;
		width: 100%;
		display: block;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	header .header_contents .header_col2 .add{
		display: inline-block;
		text-align: left;
	}
	
	header nav{
		background-color: transparent !important;
		padding: 0 !important;
		max-width: none !important;
	}
	header#pattern2 nav{
		display: block;
	}
	header nav ul.nav_1st{
		width: auto !important;
		margin-left: 0 !important;
		display: block;
		margin-bottom: 20px;
		padding: 0;
	}
	header#pattern1 nav ul.nav_1st,
	header#pattern3 nav ul.nav_1st,
	header#pattern1.width_full nav ul.nav_1st,
	header#pattern3.width_full nav ul.nav_1st{
		padding: 0;
	}
	header nav ul.nav_1st li{
		width: auto !important;
	}
	header nav ul.nav_1st li:nth-of-type(n+7){
		display: block;
	}
	header nav ul.nav_1st li a{
		text-align: left;
		padding: 15px 5px;
	}
	header nav ul.nav_1st>li>a{
		padding: 15px 55px 15px 5px;
	}
	header nav ul.nav_1st li a span{
		line-height: 1.7 !important;
	}
	header nav ul.nav_1st li a:before{
		display: none !important;
	}
	header nav ul.nav_1st>li i{
		display: block;
		width: 52px;
		height: 52px;
		position: absolute;
		top: 1px;
		right: 0;
		cursor: pointer;
	}
	header nav ul.nav_1st>li i:before,
	header nav ul.nav_1st>li i:after{
		content: "";
		display: block;
		position: absolute;
	}
	header nav ul.nav_1st>li i:before{
		width: 10px;
		height: 1px;
		top: calc(50% - 0.5px);
		left: calc(50% - 5px);
	}
	header nav ul.nav_1st>li i:after{
		width: 1px;
		height: 10px;
		top: calc(50% - 5px);
		left: calc(50% - 0.5px);
	}
	header nav ul.nav_1st>li i.open:after{
		display: none;
	}
	
	header nav ul.nav_2nd{
		left: 0;
		position: static;
		opacity: 1;
		pointer-events: auto;
		padding: 0 !important;
		display: none;
		transition: none;
	}
	header nav ul.nav_2nd li{
		background-color: transparent !important;
	}
	header nav ul.nav_2nd li a{
		white-space: normal;
		text-overflow: clip;
		padding-right: 5px !important;
	}
	header nav ul.nav_2nd>li>a:after{
		display: none;
	}
}
@media screen and (max-width: 500px){
	header{
		font-size: 13px;
	}
	header .tel{
		font-size: 20px;
		line-height: 1;
	}
	header .btn a{
		text-align: center;
		width: auto;
		display: block;
		background: #a00;
		color: #fff;
		padding: 8px 11px;
	}
}

/*----------------------------header#pattern4--------------------------------*/

header#pattern4{
	position: fixed;
	transition: 0.4s ease-in-out;
	top: 0;
}
header#pattern4:after{
	display: block;
}
body.scrolled.hHide header#pattern4{
	top: -200px;
}
header#pattern4:not(.width_full) .wraper{
	max-width: 1350px;
	position: static;
}
header#pattern4 .wraper>.inner{
	padding-top: 17px;
	transition: 0.4s ease-in-out;
}
body.scrolled header#pattern4 .wraper>.inner{
	padding-top: 0;
}
header#pattern4:not(.width_full) .wraper h1{
	max-width: 1350px;
	left: calc((100% - 1350px)/2);
}
header#pattern4 .logo{
	flex-grow: 1;
	margin-right: auto;
}
header#pattern4 .logo a{
	width: 250px;
}
header#pattern4 .logo img{
	transition: 0.5s ease-in-out;
}
header#pattern4 .burger{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	margin-left: 10px;
}
header#pattern4 .burger ul{
	width: auto;
}

header.open .sp_menu a div:before{
	transform: rotate(-225deg);
	top: 15px
}
header.open .sp_menu a div span{
	opacity: 0;
}
header.open .sp_menu a div:after{
	transform: rotate(225deg);
	top: 15px
}

header#pattern4 .header_contents{
	width: 500px !important;
	margin: 0;
	display: block;
	overflow: auto;
	position: absolute;
	top: 100%;
	left: 110%;
	opacity: 0;
	transition: 0.4s ease-in-out;
	padding: 15px 25px 0 !important;
	min-height: 100vh;
}
header#pattern4:after{
	transition: 0.4s ease-in-out;
}
header#pattern4.open:after{
	display: block;
	width: 500px;
}
header#pattern4.open .header_contents{
	left: calc(100% - 500px);
	opacity: 1;
}
header#pattern4.open:after{
	opacity: 1;
	right: 0;
}
header#pattern4 .header_contents .inner{
	display: flex;
	flex-direction: column-reverse !important;
	justify-content: center !important;
}
header#pattern4 .header_contents .inner:before{
	content: "";
	display: block;
	padding-bottom: 40px;
	width: 100%;
}
header#pattern4 .header_contents .inner>div:nth-of-type(2){
	padding-top: 10px;
	padding-bottom: 10px;
}

header#pattern4 .header_contents .header_sns{
	display: block;
	padding-top: 25px;
	width: 100%;
}
header#pattern4 .header_contents .header_sns ul{
	display: flex;
	justify-content: space-around;
	width: 90%;
	max-width: 300px;
	margin: 0 auto;
}
header#pattern4 .header_contents .header_sns li{
	display: block;
	width: 36px;
	height: 36px;
}
header#pattern4 .header_contents .header_sns li svg{
	width: 100%;
	height: 100%;
}

header#pattern4 .header_contents .header_col1{
	display: flex !important;
	flex-wrap: wrap !important;
	flex-direction: row !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: left;
	width: 100%;
}
header#pattern4 .header_contents .header_col1 .tel{
	display: block !important;
	margin-right: 10px !important;
}
header#pattern4 .header_contents .header_col1 .btn{
	padding: 0;
}
header#pattern4 .header_contents .header_col1 .btn>a:nth-last-child(2){
	margin-right: 0;
}
header#pattern4 .inner>.btn .translate{
	display: none;
}
header#pattern4 .inner .inner .translate{
	display: none;
}
header#pattern4 .header_contents .header_col2{
	text-align: center;
	width: 100%;
	display: block;
	padding-top: 5px;
	padding-bottom: 5px;
}
header#pattern4 .header_contents .header_col2 .add{
	display: inline-block;
	text-align: left;
}

header#pattern4 nav{
	background-color: transparent !important;
	padding: 0 !important;
	max-width: none !important;
}
header#pattern4 nav ul.nav_1st{
	width: auto !important;
	margin-left: 0 !important;
	display: block;
	margin-bottom: 20px;
	padding: 0;
}
	header#pattern1 nav ul.nav_1st,
	header#pattern3 nav ul.nav_1st,
	header#pattern1.width_full nav ul.nav_1st,
	header#pattern3.width_full nav ul.nav_1st{
		padding: 0;
	}
header#pattern4 nav ul.nav_1st li{
	width: auto !important;
}
header#pattern4 nav ul.nav_1st li:nth-of-type(n+7){
	display: block;
}
header#pattern4 nav ul.nav_1st li a{
	text-align: left;
}
header#pattern4 nav ul.nav_1st>li>a{
	padding: 15px 55px 15px 5px;
}
header#pattern4 nav ul.nav_1st li a span{
	line-height: 1.7 !important;
}
header#pattern4 nav ul.nav_1st li a:before{
	display: none !important;
}
header#pattern4 nav ul.nav_1st>li i{
	display: block;
	width: 52px;
	height: 52px;
	position: absolute;
	top: 1px;
	right: 0;
	cursor: pointer;
}
header#pattern4 nav ul.nav_1st>li i:before,
header#pattern4 nav ul.nav_1st>li i:after{
	content: "";
	display: block;
	position: absolute;
}
header#pattern4 nav ul.nav_1st>li i:before{
	width: 10px;
	height: 1px;
	top: calc(50% - 0.5px);
	left: calc(50% - 5px);
}
header#pattern4 nav ul.nav_1st>li i:after{
	width: 1px;
	height: 10px;
	top: calc(50% - 5px);
	left: calc(50% - 0.5px);
}
header#pattern4 nav ul.nav_1st>li i.open:after{
	display: none;
}

header#pattern4 nav ul.nav_2nd{
	left: 0;
	position: static;
	opacity: 1;
	pointer-events: auto;
	padding: 0 !important;
	display: none;
	transition: none;
}
header#pattern4 nav ul.nav_2nd li{

	background-color: transparent !important;
}
header#pattern4 nav ul.nav_2nd li a{
	white-space: normal;
	text-overflow: clip;
	padding-right: 5px !important;
}
header#pattern4 nav ul.nav_2nd>li>a:after{
	display: none;
}
	
header#pattern4 .inner>.header_sns{
	display: block;
	width: auto;
}
header#pattern4 .inner>.header_sns ul{
	display: flex;
	justify-content: space-around;
	width: auto;
	max-width: 300px;
	margin: 0 auto;
}
header#pattern4 .inner>.header_sns li{
	display: block;
	width: 32px;
	height: 32px;
	margin-left: 15px;
}
header#pattern4 .inner>.header_sns li svg{
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 900px){
	header#pattern4 .wraper>.inner{
		padding-top: inherit;
	}
	header#pattern4 .wraper>.inner>.btn,
	header#pattern4 .wraper>.inner>.header_sns{
		display: none;
	}
}
@media screen and (max-width: 540px){
	header#pattern4 .header_contents{
		width: 100% !important;
		padding: 15px 15px 0 !important;
	}
	header#pattern4.open .header_contents{
		left: 0;
	}
}

/*----------------------------content--------------------------------*/

/*--base--*/

main section,
main>div,
#primary section,
#primary>div,
aside>div,
.contents_btn01{
	clear: both;
	overflow: hidden;
	position: relative;
}
.content_wrapper{
	width: 100%;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 1;
}

/*--全幅・固定幅--*/

.content_wrapper{
	padding: 0 2%;
}
.column2,
.width_fixed .content_wrapper{
	max-width: 1200px !important;
	padding: 0 2%;
}
.content_wrapper .content_wrapper{
	padding-left: 0;
	padding-right: 0;
}
@media screen and (max-width: 850px){
	.column2{
		padding: 0;
	}
}
@media screen and (min-width: 1224px){
	.width_fixed .content_wrapper{
		max-width: 1200px !important;
		padding: 0 0;
	}
}
.width_full .content_wrapper{
	padding: 0 2%;
}

/*--見出し--*/

.heading{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}
.heading .h,
.heading p{
	text-transform: none !important;
}
.heading .h span,
.heading p span{
	display: inline-block;
}
.width_full .content_wrapper>.heading{
	box-sizing: border-box;
}
.heading:before{
	content: "";
	display: block;
	position: absolute;
}
.inner_item div.heading{
	margin-bottom: 10px;
}
.heading+.add_text{
	margin-top: -10px;
	margin-bottom: 25px;
}
.heading.block_header_1.align-left{
	align-items: flex-start;
}
.heading.block_header_1.align-center{
	align-items: center;
}
.heading.block_header_1.align-right{
	align-items: flex-end;
}
.heading+.heading{
	margin-top: -20px;
	margin-bottom: 30px;
}
.heading.block_header_1 .h:nth-last-child(n+2){
	font-size: 2.0rem !important;
}
@media screen and (max-width: 1350px){
	.block_header_2 .h{
		letter-spacing: 0 !important;
		font-size: 2.1rem !important;
	}
	.block_header_4 .h{
		letter-spacing: 0 !important;
		font-size: 2rem !important;
	}
}
@media screen and (max-width: 900px){
	.block_header_4 .h{
		font-size: 1.8rem !important;
	}
}
@media screen and (max-width: 800px){
	.heading.block_header_1 .h:nth-last-child(n+2){
		font-size: 1.55rem !important;
	}
}
#common_footer .block_header_4 .h{
	letter-spacing: 0 !important;
	font-size: 1.8rem !important;
}

/*--背景パララックス--*/

.parallax{
	margin-bottom: 0;
}
main .parallax:first-child{
	margin-top: 0 !important;
}
.parallax_img{
	position: absolute;
	left: 0;
	background-position: 50% 50% !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	background-attachment: scroll !important;
	width: calc(100% + 20px);
	margin-left: -10px;
	-webkit-filter: blur(2px);
	-moz-filter: blur(2px);
	-o-filter: blur(2px);
	-ms-filter: blur(2px);
	filter: blur(2px);
}
.parallax_img.sp{
	transform: translateY(0) !important;
	margin-top: 0 !important;
}
.parallax .content_wrapper{
	background: none !important;
	background-color: transparent !important;
}

/*--ボタン--*/

.contents_btn01{

	text-align: center;
}
.contents_btn01 .inner_item_txt{
	margin-top: 15px;
}
.contents_btn01 a{
	display: block;
	min-width: 200px;
	display: inline-block;
	transition: 0.2s ease-in-out;
}
.contents_btn01 a span{
	display: block;
	padding: 10px 10px;
}
.contents_btn01 a{
	max-width: 840px;
}
.contents_btn01 a[target=_blank] span{
	position: relative;
	padding-right: 25px;
}
.contents_btn01 a[target=_blank] span:before{
	content: "";
	display: block;
	width: 6px;
	height: 4px;
	position: absolute;
	right: 12px;
	top: calc(50% - 1px);
}
.contents_btn01 a[target=_blank] span:after{
	content: "";
	display: block;
	width: 6px;
	height: 4px;
	position: absolute;
	right: 10px;
	top: calc(50% - 3px);
}

.widget_tel+.contents_btn01{
	padding-top: 0;
}
.widget_tel+.contents_btn01 a{
	font-size: 1.5rem;
}
.widget_tel+.contents_btn01 a span{
	padding: 10px 30px 10px 25px;
}
.widget_tel+.contents_btn01 a[target=_blank] span{
	padding-right: 20px;
}

.hp:not(.parallax):not(.bg)+.contents_btn01{
	margin-top: 0;
}

.contents_btn01 a:nth-child(1):nth-last-child(1){
	width: auto !important;
}

/*---複数ボタン--*/

.contents_btn01 .content_wrapper>a,
.contents_btn01.block_button_2 .inner_item_img{
	margin-left: 8px;
	margin-right: 8px;
	margin-bottom: 8px;
	vertical-align: top;
}
.contents_btn01 a:nth-child(1):nth-last-child(1){/*1個*/
	margin-left: 0;
	margin-right: 0;
}
.contents_btn01.block_button_2 a{/*画像ボタン*/
	border: none;
	padding: 0;
	border-radius: 0;
	min-width: 0;
}
.contents_btn01.block_button_2 .inner_item_img{
	display: inline-block;
}
.contents_btn01.block_button_2 a:before,
.contents_btn01.block_button_2 a:after{
	display: none !important;
}
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(3):nth-last-child(1){/*画像ボタン3/3個目*/
	max-width: calc(33.3% - 20px);
	min-width: 0;
}
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(1){/*画像ボタン2/2個目*/
	max-width: calc(50% - 20px);
	min-width: 0;
}
.contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
.contents_btn01.block_button_2 .inner_item_img:nth-child(3):nth-last-child(1){/*画像ボタン3/3個目*/
	max-width: calc(33.3% - 20px);
	min-width: 0;
}
.contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(1){/*画像ボタン2/2個目*/
	max-width: calc(50% - 20px);
	min-width: 0;
}
@media screen and (max-width: 650px){
	.contents_btn01.block_button_2 .content_wrapper>a,
	.contents_btn01.block_button_2 .inner_item_img{
		margin-left: 4px;
		margin-right: 4px;
	}
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(3):nth-last-child(1){/*画像ボタン3/3個目*/
		max-width: calc(33.3% - 10px);
	}
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
	.contents_btn01.block_button_2 .content_wrapper>a:nth-child(2):nth-last-child(1){/*画像ボタン2/2個目*/
		max-width: calc(50% - 10px);
	}
	.contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(3),/*画像ボタン1/3個目*/
	.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(2),/*画像ボタン2/3個目*/
	.contents_btn01.block_button_2 .inner_item_img:nth-child(3):nth-last-child(1){/*画像ボタン3/3個目*/
		max-width: calc(33.3% - 10px);
	}
	.contents_btn01.block_button_2 .inner_item_img:nth-child(1):nth-last-child(2),/*画像ボタン1/2個目*/
	.contents_btn01.block_button_2 .inner_item_img:nth-child(2):nth-last-child(1){/*画像ボタン2/2個目*/
		max-width: calc(50% - 10px);
	}
}

/*--用語一覧--*/

.glossary_archive .content_wrapper{
	max-width: 980px !important;
}
.glossary_archive .content_wrapper article{
	position: relative;
}
.glossary_archive .content_wrapper .heading.block_header_2{
	position: static;
}
.glossary_archive .content_wrapper .heading.block_header_2 .h{
	position: static;
}
.glossary_archive .content_wrapper .heading.block_header_2 .h:before{
	top: calc((1.8rem * 1.3)/2 - 1px)
}
.glossary_archive .content_wrapper .heading.block_header_2 a:after{
	display: block;
	box-sizing: border-box;
	transition: 0.2s ease-in-out;
}
.glossary_archive .content_wrapper article .entry_body{
	margin-bottom: 0;
}

/*--ヘアライン--*/

.contents_hr hr{
	border: none;
	display: block;
	clear: both;
}

.contents_hr2 hr{
	border: none;
	display: block;
	clear: both;
}

.contents_hr.width_fixed hr,
.contents_hr2.width_fixed hr{
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/*--リスト--*/

.default_ul li{
	padding-left: 15px;
	position: relative;
}
.default_ul li:before{
	content: "";
	display: block;
	position: absolute;
}
#primary .inner_item_txt ol{
	counter-reset: num;
}
#primary .inner_item_txt ol li{
	position: relative;
	padding-left: 25px;
	list-style: nome;
}
#primary .inner_item_txt ol li:before{
	counter-increment: num;
	content: counter(num)". ";
	position: absolute;
	top: 0;
	left: 0;
}
#primary .inner_item_txt ul li{
	list-style: disc;
	list-style-position: inside;
}
#primary .inner_item_txt ul li::marker{
	font-size: 12px;
}
#form-tool .items li{
	border: none;
}

/*--LV--*/

#lv_outer{
	position: relative;
}
#lv{
	position: relative;
	margin: 0 auto;
	overflow: hidden;
	min-width: 320px;
	display: flex;
	align-items: center;
	padding: 0;
	box-sizing: border-box;
}

/*--pan--*/

#pan{
	z-index: 2;
	position: relative;
}
#pan ul{
	display: flex;
	justify-content: flex-end;
	box-sizing: border-box;
	padding: 0 2%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: right;
}
#pan ul li{
	display: block;
	position: relative;
	overflow: hidden;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#pan ul li:before,
#pan ul li:after{
	content: "";
	display: block;
	height: 30px;
	width: 30px;
	transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 15px);
	left: -13px;
}
#pan ul li:first-child:before,
#pan ul li:first-child:after{
	display: none;
}
@media screen and (max-width: 400px){
	#pan{
		display: none;
	}
}

/*--category1--*/

.category1{
	display: block;
	margin: 0 auto 30px;
	text-align: center;
}
.category1 li{
	display: inline-block;
	margin-bottom: 10px;
}
.category1 li a{
	display: block;
	padding: 7px 20px;
	margin: 0 5px;
	transition: 0.2s ease-in-out;
}

/*--pager--*/

.pager{
	display: block;
	margin: 0 auto 0;
	text-align: center;
}
.pager ul{
	display: block;
}
.pager li{
	display: inline-block;
	margin: 0 1px;
}
.pager li a{
	display: block;
	transition: 0.2s ease-in-out;
}
.pager li.arrow{
	margin: 0 10px;
}
.pager li.arrow a{
	border: none;
	width: auto;
}
@media screen and (max-width: 450px){
	.pager li.arrow + li:not(.current),
	.pager li.current + li:not(.arrow){
		display: none;
	}
	.pager li.current ~ li.arrow + li:not(.current),
	.pager li:nth-of-type(1),
	.pager li:nth-of-type(2),
	.pager li:nth-last-of-type(1),
	.pager li:nth-last-of-type(2){
		display: inline-block !important;
	}
}

/*--pager2--*/

.pager2{
	display: block;
	margin: 0 auto 100px;
	padding: 0 0 0;
}
.pager2 ul{
	display: flex;
	justify-content: center;
	align-items: center;
}
.pager2 ul:nth-of-type(2):nth-last-of-type(1){
	margin-top: 20px;
}
.pager2 li{
	display: flex;
	align-items: stretch;
	width: 33.3%;
}
.pager2 li.prev{
	text-align: left;
	justify-content: flex-start;
}
.pager2 li.back{
	text-align: center;
	justify-content: center;
}
.pager2 li.next{
	text-align: right;
	justify-content: flex-end;
}
.pager2 li a{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	transition: 0.2s ease-in-out;
	text-align: center;
	line-height: 1.4 !important;
}
@media screen and (max-width: 450px){
	.pager2 li a{
		font-size: 1.4rem;
	}
}

/*----------------------------popup--------------------------------*/

.popup{
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 60;
}
.popclose{
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
	z-index: 10;
	transition: 0.3s ease-in-out;
}
.popclose:hover{
	opacity: 0.8;
}
.popimg{
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10;
	display: table;
	table-layout: fixed;
}
.popimg>div{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 100%;
}
.popimgwrap{
	display: inline-block;
	max-width: 80%;
	position: relative;
	opacity: 0;
	z-index: 5;
}
.popimg img{
	display: block;
	margin: 0 auto;
	position: relative;
	z-index: 5;
}
.poptxt{
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 11;
	padding: 10px;
	width: 100%;
	box-sizing: border-box;
	text-align: left;
	transition: 0.2s ease-in-out;
}
.poptxt.timelimit{
	opacity: 0;
}
.popimgwrap:hover .poptxt.timelimit{
	opacity: 1;
}
.popnav{
	display: block;
	width: 100%;
	height: 0;
	position: absolute;
	top: calc(50% - 22px);
	left: 0;
	z-index: 10;
}
.popnav li{
	display: block;
	float: left;
	width: 44px;
	height: 44px;
	cursor: pointer;
	position: relative;
	border-radius: 44px;
}
.popnav li:hover{
	opacity: 0.7;
}
.popnav li.popprev{
	float: left;
	margin-left: 10px;
}
.popnav li.popnext{
	float: right;
	margin-right: 10px;
}
.popnav li:before{
	content: "";
	font-size: 3rem;
	line-height: 40px;
	display: block;
	width: 10px;
	height: 10px;
	text-align: center;
	position: absolute;
	top: 15px;
	left: 13px;
}
.popnav li.popprev:before{
	transform: rotate(-135deg);
	left: 17px;
}
.popnav li.popnext:before{
	transform: rotate(45deg);
}
.popup .loader {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	animation: spin 0.75s infinite linear;
	position: absolute;
	top: calc(50% - 25px);
	left: calc(50% - 25px);
	display: block;
	z-index: 4;
}
.popup .loader::before,
.popup .loader::after {
	display: none;
	position: absolute;
	content: '';
	width: inherit;
	height: inherit;
	border: inherit;
	border-radius: inherit;
}
.popup .loader,
.popup .loader::before {
	display: inline-block;
	border-color: transparent;

}
.popup .loader::before {
	animation: spin 1.5s infinite ease;
}
@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}

/*----------------------------footer--------------------------------*/

#fixbtn{
	min-height: 60px;
}
#fixbtn .fixbtnwrap{
	width: 100%;
	position: fixed;
	left: 0;
	transition: 0.3s ease-in-out;
}
#fixbtn.scrolled .fixbtnwrap{
	bottom: 0;
}
#fixbtn .inner{
	display: flex;
	min-height: 60px;
	justify-content: space-between;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 8px 0;
}
#fixbtn .inner>div{
	display: flex;
	align-items: center;
	padding: 8px 15px;
}
#fixbtn .fixbtntel{
	line-height: 1.5;
	text-align: left;
	flex-grow: 1;
	flex-shrink: 2;
}
#fixbtn .fixbtntel a,
#fixbtn .fixbtntel span{
	/*display: flex:*/
	align-items: center;
	pointer-events: none;
}
#fixbtn .fixbtntel span{
	white-space: nowrap;
}
@media screen and (max-width: 768px){
	#fixbtn .fixbtntel a,
	#fixbtn .fixbtntel span{
		pointer-events: auto;
	}
}
#fixbtn .contents_btn01{
	flex-shrink: 0;
}
#fixbtn #scrolltop{
	padding-left: 0;
}
#fixbtn #scrolltop a{
	display: block;
	position: relative;
	transition: 0.4s ease-in-out;
	overflow: hidden;
}
#fixbtn #scrolltop a:before{

	content: "";
	display: block;
	position: absolute;
}
@media screen and (max-width: 700px){
	#fixbtn .inner{
		justify-content: space-around;
		flex-wrap: wrap;
		padding: 3px 5px;
	}
	#fixbtn .inner>div{
		border: none !important;
		padding: 8px 0;
	}
	#fixbtn .inner>div.fixbtntel{
		flex-grow: 0;
		flex-shrink: 0;
		padding-right: 3px;
	}
	#fixbtn .fixbtntel span,
	#fixbtn .fixbtntel a{
		margin-right: 0 !important;
	}
	#fixbtn .fixbtntel p{
		display: none;
	}
	#fixbtn .inner>div.contents_btn01{
		flex-grow: 0;
		flex-shrink: 0;
		padding-left: 3px;
	}
	#fixbtn .contents_btn01 a{
		min-width: 0;
		margin-left: 0;
	}
	#fixbtn #scrolltop{
		display: none;
	}
}
@media screen and (max-width: 600px){
	#fixbtn .fixbtntel svg{
		width: 15px !important;
		height: 15px !important;
		margin-top: 2px;
	}
	#fixbtn .fixbtntel span,
	#fixbtn .fixbtntel a{
		font-size: 2.5rem !important;
	}
	#fixbtn .contents_btn01 span{
		font-size: 1.5rem !important;
	}
	.ft02 #fixbtn .fixbtntel span,
	.ft02 #fixbtn .fixbtntel a{
		font-size: 2.7rem !important;
	}
	.ft02 #fixbtn .contents_btn01 span{
		font-size: 1.5rem !important;
	}
}
@media screen and (max-width: 400px){
	#fixbtn .fixbtntel span,
	#fixbtn .fixbtntel a{
		font-size: 2.1rem !important;
	}
	#fixbtn .contents_btn01 span{
		font-size: 1.5rem !important;
	}
	.ft02 #fixbtn .fixbtntel span,
	.ft02 #fixbtn .fixbtntel a{
		font-size: 2.4rem !important;
	}
	.ft02 #fixbtn .contents_btn01 span{
		font-size: 1.5rem !important;
	}
}

footer{
	min-width: 320px;
	z-index: 1;
	position: relative;
	padding-bottom: 0 !important;
}
footer nav{
	display: block;
	margin-bottom: 30px;
}
footer nav ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
}
footer nav li{
	display: block;
}
footer nav li a{
	padding: 0 10px;
	display: block;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
footer .logo{
	margin: 0 auto 30px;
}
footer .sns{
	display: table;
	table-layout: fixed;
	justify-content: center;
}
footer .sns li{
	display: table-cell;
}
footer .sns li a{
	display: block;
}
footer .sns svg{
	margin: 0 auto;
	display: block;
}

@media screen and (max-width: 600px){
	footer .content_wrapper{
		padding: 0 !important;
	}
	footer nav{
		margin-bottom: 20px;
	}
	footer nav ul{
		display: block;
		overflow: hidden;
	}
	footer nav li{
		display: block;
		width: 50%;
		box-sizing: border-box;
		float: left;
		padding: 10px 5px;
	}
	footer nav li a{
		padding: 5px 0;
	}
	footer nav li:nth-last-of-type(2n-1):nth-of-type(1){
		/*後ろから数えて奇数番目且つ先頭*/
		display: none;
	}
	footer .logo{
		width: 100px;
	}
	footer .sns{
		margin-bottom: 20px;
	}
	#cp{
		padding-top: 20px;
		letter-spacing: 0.1rem;
	}
	#scrolltop{
		margin-bottom: 5px;
		position: relative !important;
	}
	#scrolltop a{
		bottom: 0;
		position: absolute !important;
	}
}

/*----------------------------teli-----------------------------------*/

.teli{
	display: block;
	font-style: normal;
	font-size: 1.2rem;
	text-align: center;
	padding-top: 3px;
}

/*----------------------------tooltip--------------------------------*/

.tip{
	position: absolute;
	background: #fff;
	line-height: 1.4;
	color: #222;
	z-index: 100;
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	font-size: 1.4rem;
	padding: 0;
	width: 320px;
	pointer-events: none;
	transition: all 0.15s ease-out;
	transform: translate(0, -20px);
	opacity: 0;
	pointer-events: none;
}
.tip p:nth-of-type(1){
	font-weight: bold;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	padding: 15px 15px 5px 15px;
}
.tip p:nth-of-type(2){
	padding: 0 15px 15px 15px;
}
.tip span{
	display: block;
	width: 21px;
	height: 21px;
	background: #fff;
	transform: rotate(-45deg);
	position: absolute;
	bottom: -10px;
	left: 10px;
}
@media screen and (max-width: 400px){
	.tip{
		width: 280px;
	}
}

/*--------*/

#modaldesign:before,
#modaldesign:after{
	display: none !important;
}

/*----------------------------googlecalendar--------------------------------*/

iframe[src*="calendar.google.com"]{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	display: block;
	max-height: 600px;
	height: 70vw;
	min-height: 400px;
}
@media screen and (max-width: 450px){
	iframe[src*="calendar.google.com"]{
		transform: scale(0.78) translateX(-15%);
		transform-origin: 50% 0;
		width: 131% !important;
		height: 100vw;
		margin-bottom: -20vw;
	}
}


/*----------------------------payment--------------------------------*/

body>.mypayment{
	display: none !important;
}
.poppay{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}
.poppayclose{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}
.poppay .tgt{
	position: relative;
	z-index: 2;
	overflow: auto;
	max-height: 80vh;
	height: auto;
	box-shadow: 10px 10px 20px rgba(0,0,0,0.13);
}
.poppay .mypayment{
	background: #fff;
	color: #333;
	padding: 30px;
	position: relative;
	z-index: 5;
	text-align: center;
	max-width: 90vw;
	width: 800px;
	box-sizing: border-box;
}
.poppay .mypayment .pay1,
.poppay .mypayment .pay2{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
	width: 100%;
	box-sizing: border-box;
	margin-top: 20px;
}
.poppay .mypayment .pay1{
	padding: 10px;
	border-radius: 5px;
	border: 1px solid #ddd;
	box-shadow: 2px 2px 7px rgba(0,0,0,0.05);
}
.poppay .mypayment .pay1 li{
	display: block;
	width: 50%;
	box-sizing: border-box;
	padding: 5px;
	line-height: 1.4;
	text-align: left;
}
.poppay .mypayment .pay1 li:first-child:last-child{
	width: 100%;
}
.poppay .mypayment .pay1 li a{
	display: flex;
	align-items: center;
	border: 1px solid #ddd;
	box-sizing: border-box;
	padding: 10px;
	border-radius: 5px;
	padding-right: 30px;
	position: relative;
	transition: 0.3s;
}
.poppay .mypayment .pay1 li a:hover{
	background: #e5e5e5;
}
.poppay .mypayment .pay1 li a:after{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #aaa;
	border-right: 2px solid #aaa;
	position: absolute;
	top: calc(50% - 7px);
	right: 10px;
	transform: rotate(45deg);
}
.poppay .mypayment .pay1 li a img{
	width: 50px;
	display: block;
	margin-right: 10px;
}
.poppay .mypayment .pay2{
	width: auto;
	display: inline-flex;
}
.poppay .mypayment .pay2 li{
	display: block;
	box-sizing: border-box;
	padding: 5px;
	width: 80px;
}
@media screen and (max-width: 800px){
	.poppay .mypayment .pay2{
		display: flex;
		justify-content: center;
		width: 100%;
	}
	.poppay .mypayment .pay2 li{
		width: 12.5%;
	}
}
@media screen and (max-width: 670px){
	.poppay .mypayment .pay1 li{
		width: 100%;
	}
}
@media screen and (max-width: 550px){
	.poppay .mypayment{
		padding: 20px 15px;
	}
	.poppay .mypayment .pay2{
		margin: 10px auto 0;
		width: 260px;
	}
	.poppay .mypayment .pay2 li{
		width: 25%;
		max-width: 65px;
	}
}

.grecaptcha-badge{
	z-index: 2;
}

/*----------------------------column--------------------------------*/

.news_archive .entry_body .column_wrapper{
	padding-top: 30px;
}
.news_archive .entry_body .column_wrapper>h3{
	margin-bottom: 10px;
	margin-top: 100px;
	border-left: 3px solid var(--i_main_color);
	padding: 5px 10px;
	position: relative;
	background: var(--i_sub2_color, rgba(125,125,125,0.1));
}
.news_archive .entry_body .column_wrapper>h3:before{
	content: "";
	display: block;
	width: 1px;
	height: 60px;
	position: absolute;
	top: -90px;
	left: 50%;
	background: var(--i_sub2_color, rgba(125,125,125,0.2));
}
.news_archive .entry_body .column_wrapper>p{
	padding-bottom: 20px;
}

/*----------------------------pindex--------------------------------*/

.pindex .content_wrapper{
	text-align: center;
}
.pindex .inner_item{
	display: inline-block;
	border: 1px solid rgba(125,125,125,0.3);
	padding: 20px 30px;
	min-width: 40%;
	counter-reset: indexnum;
	box-sizing: border-box;
}
.pindex .inner_item>p{
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.pindex .inner_item ul{
	text-align: left;
	display: inline-block;
}
.pindex .inner_item ul li{
	position: relative;
	padding-left: 25px;
	display: block;
}
.pindex .inner_item ul li:before{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	padding: 5px 0;
	counter-increment: indexnum;
	content: counter(indexnum)"　";
}
.pindex .inner_item ul li a{
	display: block;
	text-decoration: underline;
	padding: 5px 0;
}
.pindex .inner_item ul li a:hover{
	opacity: 0.8;
}
.pindex .inner_item ul li:not(.sub)+li.sub{
	counter-reset: indexnum2;
}
.pindex .inner_item ul li:not(.sub)~li.sub{
	padding-left: 35px;
	margin-left: 25px;
}
.pindex .inner_item ul li:not(.sub)~li.sub:before{
	counter-increment: indexnum2;
	content: counter(indexnum)"."counter(indexnum2)"　";
}
@media screen and (max-width: 850px){
	.pindex .inner_item{
		padding: 20px;
	}
	.pindex .inner_item ul li{
		padding-left: 20px;
	}
	.pindex .inner_item ul li:not(.sub)~li.sub{
		padding-left: 30px;
		margin-left: 20px;
	}
}
@media screen and (max-width: 550px){
	.pindex .inner_item{
		min-width: 80%;
	}
}