@charset "utf-8";
/* Foundation
***********************************************************************/
:root{
	--color-primary: #289443;
	--color-primary-light: #c7e8a6;
	--color-primary-pail: #e5f7d2;
	--color-accent: #20468d;
	--color-accent-light: #a9bcde;
	--color-accent-pail: #d9e1ed;
	--color-secondary-light: #daccca;
}
*,
:before,
:after{
	box-sizing:border-box;
}
html{
	font-size:62.5%;
}
body{
	color:#1c3323;
	font-family:'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size:1.6rem;
	line-height:1.8;
	letter-spacing:.02em;
	min-width:320px;
	-webkit-text-size-adjust:100%;
	word-wrap:break-word;
	overflow-x:hidden;
}
img{
	max-width:100%;
	vertical-align:middle;
	height:auto;
	-ms-interpolation-mode:bicubic;
}
figure{
	display: grid;
	justify-content: center;
}

/* a
***********************************************************************/
a{
	text-decoration:none;
}
main a:not([class]){
	text-decoration:underline;
	color:#00784f;
}
main .btn_area{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin-top: 20px;
}
main > section > .btn_area{
	margin-right:0;
	margin-left:0;
}
main .btn_area a{
	margin:10px;
}
.btn_m,
.btn_l{
	display:inline-flex;
	justify-content:space-between;
	align-items:center;
	min-height:48px;
	font-weight:bold;
	border-radius:1000px;
	line-height:1.5;
	color:#fff;
}
.btn_m{
	padding:8px 30px;
}
.btn_l{
	padding:1em 30px;
}
.btn_m::after,
.btn_l::after{
	content:"";
	display:inline-block;
	margin-left:10px;
	width:10px;
	height:10px;
	border-top:3px solid;
	border-right:3px solid;
	transform:rotate(45deg);
	flex:none;
}
.btn_m img,
.btn_l img{
	margin-right:8px;
}
.btn_primary{
	background:var(--color-primary);
}
.btn_accent{
	background:var(--color-accent);
}
.btn_pagelink{
	position:static;
}
.btn_pagelink::after{
	position:static;
	display:inline-block;
	transform:rotate(135deg);
}

/* layout
----------------------------------------------------------------------*/
.layout{
	padding-right:20px!important;
	padding-left:20px!important;
	margin:0 auto;
	max-width:1000px;
}

/* header
----------------------------------------------------------------------*/
header a{
	color:inherit;
}
.h_main{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	box-shadow:1px 1px 5px rgba(0,0,0,.3);
	background:#fff;
	z-index:99;
}
.h_logo{
	margin-right:auto;
	padding:10px 20px;
	padding-right:20px !important;
	height:50px;
}
.h_logo a{
	display:inline-block;
}
.h_logo img{
	height:30px;
}
.h_item{
	width:100%;
	flex:1;
}
.h_tel{
	display:none;
}
nav{
	flex:1;
}
#gnav.is-fixed{
	display:none;
	top:50px;
	left:0;
	width:100%;
	height:100%;
	background:#fff;
	z-index:-1;
}
#gnav li{
	display:none;
	border-bottom:1px solid #fff;
}
#gnav.is-fixed li{
	display:block;
}
#gnav li:first-child{
	border-top:1px solid #fff;
	margin-top:10px;
}
#gnav li:not(:nth-last-child(-n+4)) a{
	display:inline-block;
	padding:15px;
	width:100%;
	color:var(--color-primary);
	font-weight:bold;
}
#gnav li:last-child{
	margin:30px 20px 0;
}
#gnav li:last-child a{
	font-size:2rem;
	font-weight:bold;
	text-decoration:underline;
}
header .btn_area{
	display:none;
}
.btn_header{
	display:flex;
	align-items:center;
	padding:8px 20px;
	margin:8px 15px;
	min-height:55px;
	border-radius:1000px;
	color:#fff;
	font-size:1.4rem;
	font-weight:bold;
	text-align:center;
	line-height:1.5;
	z-index:99;
}
.btn_header .img_box{
	min-width:40px;
	text-align:center;
}
#gnav .btn_header img{
	margin-right:4px;
}
.btn_header img + span{
	vertical-align:middle;
}
.btn_header .u-fz-12{
	font-weight:normal;
}
.btn_h_main{
	background:var(--color-primary);
}
.btn_h_accent,
.btn_h_docdl{
	background:var(--color-accent);
}
#hamburger_menu{
	display:flex;
	justify-content:center;
	align-items:center;
	position:fixed;
	top:0;
	right:0;
	width:50px;
	height:50px;
	cursor:pointer;
	z-index:100;
}
#hamburger_menu span{
	display:block;
	position:relative;
	width:30px;
	height:3px;
	background:var(--color-primary);
}
#hamburger_menu span::before, #hamburger_menu span::after{
	content:"";
	position:absolute;
	left:0;
	width:inherit;
	height:inherit;
	background:var(--color-primary);
	transition:transform .2s;
}
#hamburger_menu span::before{
	top:-8px;
}
#hamburger_menu span::after{
	top:8px;
}
#hamburger_menu.is-active span{
	background:transparent;
	z-index:100;
}
#hamburger_menu.is-active span::before, #hamburger_menu.is-active span::after{
	top:0;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
}
#hamburger_menu.is-active span::before{
	transform:rotate(45deg);
}
#hamburger_menu.is-active span::after{
	transform:rotate(135deg);
}

/* mv
----------------------------------------------------------------------*/
.mv{
	position: relative;
	padding:50px 0 30px;
	max-width:100%;
	background: linear-gradient(var(--color-primary-pail), var(--color-primary-light));
}
.mv .media{
	padding: 30px 0;
}
.mv .media_item:first-child{
	text-align: center;
}
.mv .media_item:last-child{
	opacity: 0;
	transform: translateX(50px);
	animation: slide_in .5s ease-out .5s forwards;
}
.mv_subttl{
	display: inline-flex;
	gap: 6px;
	justify-content: center;
	align-items: baseline;
	border-bottom: 4px solid var(--color-primary);
	margin-bottom: 6px;
	color: var(--color-primary);
	font-size:2rem;
	font-weight: bold;
	opacity: 0;
	animation: fade_in .3s ease-out .4s forwards;
}
.mv_ttl{
	font-size:2.6rem;
	font-weight:bold;
	opacity: 0;
	animation: fade_in .3s ease-out .5s forwards;
}
.mv .media_item + .media_item{
	position: relative;
	padding: 20px 20px 0 0;
	text-align:center;
}
.mv .btn_area{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin-bottom:20px;
}
.mv .btn_l{
	margin:8px;
	width:100%;
	max-width:250px;
}

/*mv_price*/
.mv_price{
	display:inline-flex;
	align-items:center;
	gap: 10px;
	padding:15px 20px 15px 20px;
	margin-top: 8px;
	background: #fff;
	border-radius:10px;
	font-weight: bold;
	text-align: left;
}
.mv_price figure{
	display:flex;
	justify-content:center;
	align-items:center;
}

/*mv_point*/
.mv_point{
	display: inline-grid;
	grid-template-columns: repeat(3, 1fr);
	margin-top:30px;
}
.mv_point > li{
	padding: 0 15px;
}
.mv_point > li + li{
	border-left: 1px solid var(--color-primary);
}
.mv_point .txt_area{
	margin-top: 8px;
	font-size: 1.4rem;
	font-weight:bold;
	text-align: center;
	line-height: 1.5;
}

/*badge*/
.badge{
	display: inline-grid;
	place-content: center;
	position: absolute;
	inset: 0 0 auto auto;
	width: 115px;
	height: 115px;
	background: #1d90f5;
	border-radius: 50%;
	color: #fff;
	font-weight: bold;
}

/*slider*/
#slider{
	position: absolute;
	inset: auto 0 -20px 0;
	opacity: 0;
	animation: fade_in .3s ease-out .1s forwards;
}

/* main
----------------------------------------------------------------------*/
section{
	padding: 60px 0 80px;
}
.sec_bg{
	padding: 40px 0 100px;
}
.sec_ttl{
	font-size:2.8rem;
	font-weight:bold;
	text-align:center;
	line-height:1.5;
	padding-top:20px;
	margin-bottom:1.6em;
}
.sec_subttl{
	display:block;
	font-size:1.8rem;
	font-weight:bold;
	margin-bottom:6px;
}
.sec_ttl + .txt_area{
	text-align:center;
}
.sec_item{
	margin-top:40px;
}
.sec_item + .sec_item{
	margin-top: 60px;
}
.item_ttl{
	font-size:2rem;
	font-weight:bold;
	line-height:1.5;
}
sup{
	font-size:1.2rem;
	vertical-align:super;
}
.txt_area p + p{
	margin-top:1em;
}
.ttl{
	font-size:2rem;
	font-weight:bold;
	line-height:1.5;
	margin-bottom:5px;
}

/*list_disc*/
.list_disc{
	list-style:disc;
	padding-left:1em;
}

/*list_merit*/
.list_merit{
	counter-reset:list_merit;
	row-gap: 30px !important;
}
.list_merit .item_ttl{
	text-align: center;
}
.list_merit .item_ttl::before{
	content:counter(list_merit, decimal-leading-zero);
	counter-increment:list_merit;
	color:var(--color-primary);
	font-size:2rem;
	font-weight:bold;
	line-height:1;
	margin-right: 10px;
}

/*grid*/
.grid{
	display: grid;
	gap: 60px 30px;
}
.grid .item_ttl{
	margin-top: 30px;
	border-bottom: 0;
}
.grid.item4{
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.grid.item5{
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
.subgrid{
	display: grid;
	gap: 15px;
	grid-template-rows: subgrid;
}
.subgrid.item2{
	grid-row: span 2;
}
.subgrid.item3{
	grid-row: span 3;
}
.subgrid.item4{
	grid-row: span 4;
}
.subgrid.item5{
	grid-row: span 5;
}
.subgrid > *{
	margin-top: 0 !important;
}
.subgrid figure{
	place-content: center;
}
.subgrid .item_ttl{
	margin-bottom: 0;
}

/*list_sec*/
.list_sec li + li{
	padding-top: 50px;
	margin-top: 50px;
	border-top:2px solid #ccc;
}
.list_sec .media > .media_item + .media_item{
	margin-top: 20px;
}
.list_sec .item_ttl{
	font-size:2.4rem;
	margin-bottom: 10px;
}

/*media*/
.media, .media_rev{
	display: flex;
	gap: 20px 40px;
}
.media{
	flex-direction: column;
}
.media + .media{
	margin-top: 30px;
}
.media_rev{
	flex-direction:column-reverse;
}

/*border_box*/
.border_box{
	padding:15px;
	background:#fff;
	border:1px solid var(--color-accent);
	border-radius:10px;
}

/*banner*/
.banner_area{
	display: flex;
	justify-content: center;
	padding:50px 0;
	background:var(--color-accent-pail);
	text-align:center;
}
.banner{
	display:inline-block;
	text-align:center;
}
.banner + .banner{
	margin-top:15px;
}

/*card*/
.card_wrap{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin:-10px 0;
}
.card{
	position:relative;
	border-radius:10px;
	padding:20px;
	background: #fff;
}
.card_shadow{
	box-shadow: 1px 1px 10px rgba(0,0,0,.15);
}
.card_accent{
	background:#fcf9d6;
	border:4px solid #ffa800;
}
.card_wrap .card{
	display:flex;
	flex-direction:column;
	width:100%;
	max-width:500px;
	margin:10px;
}
.card > .img_box{
	min-height:0;
	margin-bottom:15px;
}
.card .ttl{
	font-size:2rem;
	font-weight:bold;
	text-align:center;
}
.card_wrap.list_sec .card{
	padding-top:40px;
	margin-top:20px;
}
.card_wrap.list_sec .card::before{
	position:absolute;
	top:-30px;
	left:0;
	right:0;
	margin:0 auto;
	text-align:center;
}
.card_wrap.list_sec .card + .card{
	margin-top:35px;
}
.card_wrap.list_sec .ttl{
	position:relative;
	padding-bottom:15px;
	margin-bottom:20px;
}
.card_wrap.list_sec .ttl::before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	right:0;
	margin:0 auto;;
	width:30px;
	height:1px;
	background:var(--color-primary);
}
.card_border{
	background:#fff;
	border:3px solid #009260;
}
.card_border .ttl{
	padding:15px;
	margin:-15px -15px 15px;
	max-width:none;
	background:#e7f0e4;
	font-size:2rem;
}
.card_border > .txt_area{
	text-align:left;
}

/*video*/
video{
	width:100%;
	max-width:500px;
	border:1px solid #ddd;
}
video{
	object-fit:cover; /*to cover all the box*/
}

/*dl*/
.card .ttl + dl{
	margin-top:20px;
}
dl + dl{
	margin-top:20px;
}
dt{
	font-weight:bold;
}

/*list_note*/
.note_wrap{
	margin-top:10px;
}
.list_note + .list_note{
	margin-top:10px;
}
.list_note li{
	position:relative;
	padding-left:1.5em;
	font-size:1.4rem;
}
.list_note li::before{
	position:absolute;
	top:0;
	left:0;
}
ol.list_note{
	counter-reset:list_note;
}
ol.list_note li::before{
	content:"*" counter(list_note);
	counter-increment:list_note;
}
ul.list_note li::before{
	content:"※";
}

/*list_flow_item*/
.list_flow_item{
	counter-reset:list_flow_item;
}
.list_flow_item li{
	position:relative;
	text-align:center;
}
.list_flow_item li::before{
	content:counter(list_flow_item, decimal-leading-zero);
	counter-increment:list_flow_item;
	display: block;
	color:var(--color-primary);
	font-size:6rem;
	font-weight:bold;
	line-height:1;
	text-align: center;
}
.list_flow_item li + li::after{
	content:"";
	position:absolute;
	top:-60px;
	left:0;
	right:0;
	margin:0 auto;
	width:30px;
	height:30px;
	border-top:6px solid;
	border-right:6px solid;
	border-color: #ccc;
	transform:rotate(135deg);
}
.list_flow_item .item_ttl{
	margin: 20px 0;
	text-align: center;
}

/*list_arrow*/
.list_arrow{
	margin-top:10px;
}
.list_arrow li + li{
	position:relative;
	padding-top:60px;
}
.list_arrow li + li::before{
	content:"";
	position:absolute;
	top:10px;
	left:0;
	right:0;
	margin:0 auto;
	width:20px;
	height:30px;
	background:#259344;
}
.list_arrow li + li::after{
	content:"";
	position:absolute;
	top:30px;
	left:0;
	right:0;
	width:0;
	height:0;
	margin:0 auto;
	border:20px solid transparent;
	border-top-color:#259344;
}

/*list_arrow_x*/
.list_arrow_x{
	margin-left:10px;
}
.list_arrow_x li{
	display:inline-block;
	vertical-align:middle;
}
.list_arrow_x li + li{
	position:relative;
	padding-left:30px;
}
.list_arrow_x li + li::before{
	content:"";
	position:absolute;
	top:0;
	left:6px;
	bottom:0;
	margin:auto 0;
	width:10px;
	height:6px;
	background:#1c3323;
}
.list_arrow_x li + li::after{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:15px;
	width:0;
	height:0;
	margin:auto 0;
	border:8px solid transparent;
	border-left-color:#1c3323;
}

/*table*/
.table_price_wrap{
	padding-top:30px;
}
.table_price_wrap table{
	position:relative;
}
.table_price_wrap table::before{
	content:"（税込）";
	position:absolute;
	top:-30px;
	right:0;
}
table{
	width:100%;
	margin:10px auto;
	font-size:1.4rem;
}
table a{
	color:#36b89e;
	text-decoration:underline;
}
th,td{
	vertical-align:middle;
	padding:5px;
	text-align:center;
	border:1px solid var(--color-primary);
}
th{
	background:#b6dd8f;
}
thead th,
thead td{
	background:var(--color-primary);
	color:#fff;
	font-weight:bold;
	text-align:center;
}
thead th:not(:last-child){
	border-right-color: #fff;
}
.head{
	background:#36b89e;
	color:#fff;
	font-weight:bold;
}
.head_sub{
	background:#e5f7d2;
}
tbody tr:first-child *{
	border-top:0;
}
td{
	background:#fff;
}
td p + p{
	margin-top:10px;
}

/*customize*/
.customize .media + .media{
	padding-top: 40px;
	position: relative;
}
.customize .media + .media::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 0;
	height: 0;
	border: 45px solid transparent;
	border-top: 30px solid var(--color-primary);
}
.customize figure{
	display: block;
	text-align: center;
	padding: 4px 10px 10px;
	background: var(--color-primary-light);
}
.customize figcaption {
	display: grid;
	place-content: center;
	font-weight: bold;
	text-align: center;
}

/*price*/
.price .item_ttl{
	margin-bottom: 15px;
}

/*contact*/
.contact{
	background:#009256;
}
.contact .sec_ttl{
	color:#fff;
	padding-top:70px;
}
.contact .sec_item{
	color:#fff;
	text-align:center;
	padding-bottom:50px;
}
.contact a:not([class^="btn"]){
	color:inherit;
}
.contact a:not([class^="btn"]) img{
	margin-right:4px;
}
.contact .btn_l{
	justify-content:flex-start;
	width:280px;
}
.contact .btn_l::after{
	margin-left:auto;
}
.contact .btn_l .img_box{
	width:43px;
	margin-right:10px;
	text-align:center;
}

/* marker
----------------------------------------------------------------------*/
.marker_triangle,
.marker_triangle_circle{
	position:relative;
	z-index:0;
	padding-left:17px;
}
.marker_triangle:before,
.marker_triangle_circle:before,
.marker_triangle_circle:after{
    position:absolute;
    content:"";
}
.marker_triangle:before,
.marker_triangle_circle:before{
    left:4px;
    border:solid transparent;
	border-top-width:3px;
	border-right-width:4px;
	border-bottom-width:3px;
	border-left-width:4px;
}
.marker_triangle:before{
    top:5px;
    border-left-color:#fff;
}
.marker_triangle_circle:before{
	top:7px;
	z-index:1;
    border-left-color:#333;
}
.marker_triangle_circle:after{
	top:5px;
    left:0;
	z-index:0;
	width:11px;
	height:11px;
	background:#fff;
	border-radius:100%;
}

.marker_disc{
	padding-left:21px;
}
.marker_disc:before{
	position:absolute;
	top:6px;
	left:3px;
	height:8px;
	width:8px;
	background:#5ab303;
	border-radius:50%;
	content:"";
}
.mark_line{
	padding:0 8px;
	background:linear-gradient(transparent 60%, #ffd700 60%);
}

/* Footer
----------------------------------------------------------------------*/
#footer{
	position:relative;
	line-height:1.2;
	background:#333;
	padding:0 10px;
}
#footer a{
	color:#fff;
	text-decoration:none;
}
#f_wrap{
	padding-top:24px;
	overflow:hidden;
}
.f_link_box{
	margin-bottom:24px;
	overflow:hidden;
}
.f_link_head{
	margin-left:16px;
	font-size:14px;
}
.f_link_head .marker_triangle_circle:before{
	top:6px;
}
.f_link_head .marker_triangle_circle:after{
	top:4px;
}
.f_link{
	font-size:12px;
}
.f_link li{
	float:left;
	margin:16px 0 0 16px;
}

.f_mark{
	float:right;
	margin:0 16px 16px 0;
}
.f_mark li{
	display:inline-block;
	vertical-align:bottom;
}
.f_mark li:not(:first-child){
	margin-left:4px;
}
.f_mark li a{
	display:block;
	height:50px;
	padding:2px;
	background:#fff;
	border-radius:5px;
}
.isms img{
	width:65px;
}
.privacymark a{
	width:50px;
}
.copyright{
	display:block;
	padding:10px 0;
	margin-top:8px;
	font-size:12px;
	color:#fff;
	background:#259344;
	text-align:center;
}

/* a
----------------------------------------------------------------------*/
.sitemap_box{
	margin:25px;
}

ul.sitemap li{
	display:none;
}
ul.sitemap li.sitemap_tit{
	display:block;
	font-weight:bolder;
	padding:5px 0;
}
.fnav{
	padding:60px 0 85px 0;
	align-items:center;
}
footer .inner .container{
	justify-content:flex-start;
}
.container{
	display:flex;
	justify-content:space-between;
}

.fnav a{
	color:#259344;
}
.fnav nav{
	margin-bottom:30px;
}
.fnav nav a:hover{
	opacity:.7;
}
.fnav,
.fnav nav ul{
	flex-wrap:wrap;
}
.fnav > div{
	display:block;
	width:100%;
}
.a_blank{
	position:relative;
	padding-right:24px;
}
.a_blank:before,
.a_blank:after{
	position:absolute;
	width:10px;
	height:10px;
	background:#5ab303;
	border:2px solid #fff;
	content:"";
}
.a_blank:before{
	top:6px;
	right:5px;
}
.a_blank:after{
	top:1px;
	right:0;
}
#asj-logo{
	margin-bottom:30px;
	text-align:center;
}
#asj-logo a{
	display:inline-block;
}
.sitemap_sub li{
	margin-right:2em;
}
.f-mark li+li{
	margin-left:10px;
}
#btnTop{
	padding-right:8px;
	text-align:center;
}
#btnTop a{
	display:inline-block;
	position:relative;
	color:#259344;
}
#btnTop a::after{
	content:"";
	position:absolute;
	top:-26px;
	right:0;
	left:0;
	margin:0 auto;
	width:26px;
	height:26px;
	border-top:4px solid var(--color-primary);
	border-right:4px solid var(--color-primary);
	transform:rotate(-45deg);
	transition:.3s ease-out;
}
#btnTop a:hover::after{
	top:-30px;
}

.a_blank{
	position:relative;
	padding-right:18px;
}
.a_blank:before,
.a_blank:after{
	position:absolute;
	width:12px;
	height:12px;
	background:#5ab303;
	border:2px solid #fff;
	content:"";
}
.a_blank:before{
	top:7px;
	right:2px;
}
.a_blank:after{
	top:3px;
	right:-2px;
}

#footer .a_blank:before,
#footer .a_blank:after{
	background:#fff;
	border-color:#333;
}
#footer .a_blank:before{
	top:4px;
	right:4px;
}
#footer .a_blank:after{
	top:0;
	right:0;
}

/* anime
----------------------------------------------------------------------*/
@keyframes fade_in{
	100%{
		opacity: 1;
	}
}
@keyframes slide_in{
	100%{
		transform: translateX(0);
		opacity: 1;
	}
}
.anime_slide_up,
.anime_fade_in,
.anime_flow::before{
	opacity:0;
}
.anime_fade_in{
	transition:opacity .4s ease-in;
}
.anime_slide_up{
	transform:translateY(50px);
	transition:transform .6s cubic-bezier(.215, .61, .355, 1), opacity .4s ease-out;
}
.anime_flow::before{
	transition:opacity .4s ease-in;
}
.anime_flow:not(:last-child)::after{
	transform:scale(1, 0);
	transition:transform .6s cubic-bezier(.215, .61, .355, 1), opacity .4s ease-out;
	transition-delay:.4s;
}

.is-anime,
.is-anime::after,
.is-anime::before{
	opacity:1;
}
.anime_slide_up.is-anime{
	transform:translate(0);
}
.anime_flow.is-anime:not(:last-child)::after{
	transform:scale(1, 1);
	transform-origin:top;
}

/* utility
***********************************************************************/
.u-mt-8{
	margin-top: 8px;
}
.u-ai-c{
	align-items:center;
}
.u-fw-b{
	font-weight:bold;
}
.u-fz-12{
	font-size:1.2rem;
}
.u-fz-1_5em{
	font-size:1.5em;
	line-height:1;
}
.u-fz-1_75em{
	font-size:1.75em;
	line-height:1;
}
.u-fz-0_75em{
	font-size:.75em;
}
.u-ta-c{
	text-align:center;
}
.u-ta-c.is-pc{
	text-align:left;
}
.u-ws-nw{
	white-space:nowrap;
}
.u-col-primary{
	color:var(--color-primary);
}
.u-col-red{
	color:#d80505;
}
.u-col-white{
	color:#fff;
}
.u-bg-primary-pail{
	background: var(--color-primary-pail);
}
.is-fixed{
	position:fixed;
}
br.is-pc{
	display:none!important;
}

/*=====================================================================
   800 start
======================================================================*/
@media screen and ( min-width:800px ){

/* a
***********************************************************************/
[href^="tel:"]{
	pointer-events:none;
}
main a:not([class]):hover{
	text-decoration:none;
}
.btn_m,
.btn_l{
	transition:opacity .2s;
}
.btn_m:hover,
.btn_l:hover{
	opacity:.7;
}
.btn_l{
	font-size:1.8rem;
}

/* header
***********************************************************************/
.h_main{
	display:flex;
	flex-direction:column;
	padding-right:345px;
	height:95px;
}
.h_item{
	padding-left:20px;
}
.h_item + .h_item{
	margin-top:auto;
	flex:auto;
}
.h_tel{
	display:flex;
	justify-content:flex-end;
	padding-right:20px;
	background:#e5f7d2;
	font-size:1.4rem;
	flex:auto;
}
.h_tel a{
	font-size:2.2rem;
	font-weight:bold;
	margin-right:15px;
}
.h_tel img{
	min-height:0;
}
.h_logo{
	padding:5px 0;
	height:auto;
}
.h_logo img{
	height:auto;
}
#gnav li{
	margin:0 !important;
}
#gnav li.is-sp{
	display:none;
}
#gnav li a{
	transition:opacity .2s;
}
#gnav li a:hover{
	opacity:.7;
}
#hamburger_menu{
	display:none;
}
header .btn_area{
	position:fixed;
	top:0;
	right:0;
	z-index:99;
	display:flex!important;
	padding-right:0;
}
.btn_h_accent + .btn_h_docdl{
	border-left:1px solid #fff;
}

.btn_header{
	justify-content:center;
	flex-direction:column;
	width:100px;
	padding:15px 10px;
	margin:0;
	border-radius:0;
	transition:opacity .2s;
}
.btn_header.btn_h_docdl{
	width:145px;
}
.btn_header:hover{
	opacity:.7;
}
.btn_header img{
	min-height:0%;
	margin:0 0 10px 0;
}
#gnav.is-fixed{
	top:70px;
}

/* mv
----------------------------------------------------------------------*/
.mv{
	position:relative;
	padding:95px 0 30px;
}
.mv_ttl{
	font-size: 3rem;
}
.mv figure{
	max-width: 50%;
}


/*mv_price*/
.mv_price_wrap{
	margin-bottom:10px;
	text-align:left;
}

/* main
----------------------------------------------------------------------*/
.sec_ttl{
	font-size:3.4rem;
}
.sec_subttl{
	font-size:2rem;
}
.item_ttl{
	font-size:2.4rem;
}

/*media*/
.media,
.media_rev{
	display:flex;
	justify-content:center;
	flex-direction:row;
}
.media_item:not(figure):not(.video_wrap){
	flex:1;
}
.media_item .btn_area{
	justify-content:flex-start;
}

/*banner*/
.banner_area .layout{
	display:flex;
}
.banner{
	transition:opacity .2s;
}
.banner:hover{
	opacity:.7;
}
.banner + .banner{
	margin:0 0 0 20px;
}

/*video*/
.video_wrap{
	max-width: 50%;
}

/*card*/
.card_wrap .card,
.item_wrap .card{
	position:relative;
	width:calc(33.3% - 20px);
}
.card_wrap .card.media{
	flex-direction:row;
}
.card_wrap.list_sec .card + .card{
	margin-top:20px;
}
.card_wrap .card_accent{
	width:calc(40% - 20px);
}
.card_wrap .card_accent + .card,
.card_wrap .card_accent + .card + .card{
	width:calc(30% - 20px);
}
.card .btn_m::before{
	content:"";
	position:absolute;
	display:block;
	top:0;
	left:0;
	width:100%;
	height:100%;
	cursor:pointer;
}
.card > .txt_area{
	margin-bottom:auto;
}
.card_border .ttl{
	display:flex;
	justify-content:center;
	align-items:center;
}
.card_border .ttl.img_box{
	height:100%;
}

/*grid*/
.grid:is(.item3, .item4){
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

/*list_sec*/
.list_sec li{
	position:relative;
}
.list_sec .media_item{
	margin-top: 0 !important;
}
.list_sec figure{
	width:500px;
	flex:none;
	text-align:center;
}
.list_sec .item_ttl{
	margin-bottom:15px;
}

/*type_list*/
.type_list{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.type_item_box{
	width:32%;
	flex-wrap:nowrap;
}
.type_item_box.type_none{
	display:block;
	background:#fff !important;
}

/*list_flow_item*/
.list_flow_item{
	grid-template-columns: repeat(3, 1fr) !important;
}
.list_flow_item li + li::after{
	top:0;
	bottom:0;
	left:-38px;
	right:auto;
	margin: auto 0;
	transform:rotate(45deg);
}
.list_flow_item .ttl{
	text-align:center;
}

/*table*/
table{
	font-size:1.6rem;
}

/*contact*/
.contact .sec_item{
	padding-bottom:70px;
}
.contact .btn_area{
	margin-top:20px;
}

/* Footer
----------------------------------------------------------------------*/
.fnav > div{
	width:auto;
}
#asj-logo{
	text-align:left;
	margin:0 50px 30px 0;
}
.f-mark{
	display:flex;
	justify-content:flex-end;
	margin-left:auto;
}
.sitemap_box{
	width:auto;
	max-width:96%;
	margin:25px auto;
}
footer nav{
	margin:0 -31px;
}
.sitemap_col{
	display:inline-block;
	vertical-align:top;
	margin:0 31px;
}

ul.sitemap{
	display:block;
}
ul.sitemap li{
	display:block;
	font-size:14px;
	margin-left:0;
	padding:3px 0;
}
ul.sitemap li.sitemap_tit{
	font-size:14px;
}
.sitemap_sub{
	margin:24px 31px 0;
	font-size:14px;
}

/* utility
----------------------------------------------------------------------*/
.u-ta-c.is-pc{
	text-align:center;
}
br.is-sp{
	display:none!important;
}
br.is-pc{
	display:block!important;
}

/*=====================================================================
   800 end
======================================================================*/
}

@media screen and ( min-width:1000px ){

/* a
***********************************************************************/
/* header
----------------------------------------------------------------------*/
.h_item{
	display:flex !important;
	align-items:center;
}
#gnav{
	display:flex !important;
	justify-content:flex-end;
	align-items:center;
	font-size:1.4rem;
}
#gnav.is-fixed{
	position:static;
	background:transparent;
}
#gnav li{
	display:block;
	border-bottom:0;
	margin-bottom:10px;
	line-height:1.5;
}
#gnav li:first-child{
	border-top:0;
	border-left:0;
}
#gnav li a{
	padding:0 15px;
	width:auto;
	color:inherit;
}

/*=====================================================================
   1000 end
======================================================================*/
}
