@charset "utf-8";
/* 
00 404.html
00 index.html
01 about.html
02 privacy.html
03 terms.html
04 contact/
05 edit-request/
06 entry/
07 search/(area/)
08 search/team/(area/team/{$team_id}/)
09 words.html

-------------------------
-------------------------
20 product/





---------------------------------------*/
/* 00 404.html
-------------------------------------------------------------*/
#nf section{
	background-color: #3485ef;
	color: #fff;
}
#nf section .btn a{
	background: #fff;
	color: #333;
}


/* 00 index.html
-------------------------------------------------------------*/
#index section{
	min-height: calc(100vh - 60px);
	background-color: #3485ef;
	background-image: url(../img/common/main_img.jpg);
	background-position: 50% 100%;
	background-repeat: no-repeat;
	background-size: cover;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	/* flex-flow: column nowrap;
	justify-content: space-between;
	align-items: center; */
}
#indinner{
	max-width: 960px;
	display: -webkit-flex;;
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	align-items: center;
}
#indMain{
	padding: 20px 0;
	margin-top: 5vh;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: center;
}

#indHead{
	/* display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 3px; */
	text-align: center;
}
/* #indHead::before{
	width: 38px;
	height: 30px;
	content: '';
	background: url(../img/common/hd_main.png) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
#indHead span{
	font-size: .72rem;
	font-weight: normal;
	color: #fff94d;
	display: block;
} */
#wrapper section #indHead h2{
	font-size: 1.29rem;
	color: #fff;
}
#indsearch div#search_caps{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 3px;
	color: #fff;
}
#indsearch div#search_caps::before{
	width: 138px;
	height: 168px;
	content: '';
	background: url(../img/common/hd_img.png) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	flex: 0 0 138px;
}
#indsearch div#search_caps p span{
	display: block;
	font-size: .86rem;
}

/*#indMain .searchBtn{width: 100%;}*/
#indinner .searchBtn{
	width: 100%;
	margin-bottom: 20vh;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.searchBtn{padding: 5px 15px;}
.searchBtn a{
	padding: 15px 20px;
	color: #333;
	border: none;
	border-radius: 7px;
	background: #fff94d;
	font-size: 1.43rem;
	font-weight: bold;
	display: block;
	position: relative;
}
.searchBtn a span{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	/*line-height: 1;*/
}
.searchBtn a span:before {
	content: '';
	width: 20px;
	height: 20px;
	background-image: url(../img/icon/icn_search.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: 20px 20px;
	background-size: 20px 20px;
	display: inline-block;
}

#indCaps{padding: 10px;}
#indCaps p{
	margin-bottom: 20px;
	font-size: .86rem;
}
#indAbout{
	width: 100%;
	margin-bottom: 15px;
}
#indAbout a{
	padding: 10px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 1.34rem;

	border: 2px solid #2d2d2d;
	border-radius: 1.5em;

	display: block;
	position: relative;
	background: #fff;
	cursor: pointer;
}
#indAbout a::after{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #333;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
}


/* #indCaps{
	padding: 10px;
	margin-bottom: 30px;
}
#indCaps p{
	margin-bottom: 15px;
	color: #fff94d;
	text-shadow: 2px 1px 1px rgba(0,0,0,0.8);
	font-size: 1.15rem;
}
#indCaps > div{padding: 5px 15px;}
#indCaps > div a{
	padding: 10px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 1.34rem;

	border: 2px solid #2d2d2d;
	border-radius: 1.5em;

	display: block;
	position: relative;
	background: #fff;
	cursor: pointer;
}
#indCaps > div a::after{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #333;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
}
 */

/* 01 about.html
-------------------------------------------------------------*/
#about dl dt{
	font-size: 1.15rem;
	color: #3485ef;
}
#about dl dd{margin: 0 0 30px;}


/* 02 privacy.html
-------------------------------------------------------------*/
/* 03 terms.html
-------------------------------------------------------------*/
dl.desc dt{
	padding: 5px 0;
	margin: 5px 0;
	font-weight: bold;
	border-bottom: 1px solid #555;
}
dl.desc dd{margin: 0 0 30px;}
dl.desc dd p{margin: 5px 0;}
.def{list-style: disc inside;}


/* 04 contact/
-------------------------------------------------------------*/
#contactNotes{
	padding: 10px;
	margin: 15px 0;
	border: 1px solid #808080;
	border-radius: 8px;
}
#contactNotes dt{
	padding-bottom: 5px;
	border-bottom: 1px solid #ddd;
	font-size: 1.15rem;
	text-align: center;
}
#contactNotes dt.blue{color: #0069c7;}
#contactNotes dd{
	padding: 10px 0;
	font-size: .86rem;
}
#contactNotes dd .lists{
	padding: 0;
	background: none;
}

#contactForm{
	margin: 0 -10px;
	padding: 15px 10px;
	background: #f4f4f9;
}
#contactForm h3{
	padding: 3px 5px;
	margin-bottom: 10px;
	background: #555;
	color: #fff;
	font-size: 1.29rem;
}
#contactForm .forms > li{border-bottom: 1px dashed #aaa;}
#contactForm dl dt{
	padding: 5px 0;
	font-size: 1.15rem;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 5px;
}
#contactForm dl dd{
	padding-bottom: 10px;
	margin-bottom: 10px;
}
#contactForm dl dd ul li{padding: 5px 0;}
/*#contactForm .flx *{flex: 1;}*/


/* 05 edit-request/
-------------------------------------------------------------*/
#requestNotes dt{
	padding: 5px 0;
	margin: 5px 0;
	font-size: 1.15rem;
	text-align: center;
	background: #bfac80;
	color: #fff;
}
#requestNotes dd{margin: 0 0 30px;}
#requestNotes dd p{margin: 5px 0;}


/* 06 entry/
-------------------------------------------------------------*/
#entryNotes dt{
	padding: 5px 0;
	margin: 5px 0;
	font-size: 1.15rem;
	text-align: center;
	background: #89abd7;
	color: #fff;
}
#entryNotes dd{margin: 0 0 30px;}
#entryNotes dd p{margin: 5px 0;}

#entryForm{
	margin: 0 -10px;
	padding: 15px 10px;
	background: #f4f4f9;
}
#entryForm h3{
	padding: 3px 5px;
	margin-bottom: 10px;
	background: #555;
	color: #fff;
	font-size: 1.29rem;
}
#entryForm .forms > li{
	padding: 10px 0;
	border-bottom: 1px dashed #aaa;
}
#entryForm .forms > li > dl > dt{
	padding: 5px 0;
	font-size: 1.15rem;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 5px;
}
#entryForm .forms > li > dl > dd{
	/*padding-bottom: 10px;*/
	margin-bottom: 10px;
}
#entryForm dl dd ul li{padding: 5px 0;}
#entryForm .flx *{flex: 1;}

#fee .flx{gap: 8px;}
#fee .flx *{flex:0 0 auto;}
#fee input[type="text"]{width: 7em;}

#entryCheck{
	margin-top: 30px;
	text-align: center;
}
#entryCheck #chklinks{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	gap: 15px;
}
#entryCheck #chklinks li a{font-size: .86rem;}

#entryCheck label{
	margin-bottom: 10px;
	display: inline-block;
}


/* 07 search/(area/)
-------------------------------------------------------------*/
#searchbox{
	margin: 10px -10px;
	padding: 15px 10px;
	background: #f4f4f9;
}
#searchbox h3{
	margin: 10px 0;
	font-size: 1.15rem;
}
#searchbox .annotation{
	font-size: .72rem;
	text-align: center;
}

#searchCond{
	padding: 10px;
	margin: 10px 0;
	border: 1px solid #cdcee3;
	border-radius: 8px;
	background: #fff;
}
#searchCond p{text-align: center;}
ul#condTB li:not(:first-child){border-top: 1px dashed #b2b2b2;}
ul#condTB li dl dt{
	padding: 3px 5px;
	color: #0069c7;
	font-weight: bold;
	white-space: nowrap;
}
ul#condTB li dl dd{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 3px 5px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
ul#condTB li dl dd span:not(:last-child):after{content: ',';}

ul#condTB li dl dd p{flex:0 0 auto;}
ul#condTB li dl dd p a{
	padding: 1px 6px;
	border-radius: 4px;
	position: relative;
	display: flex;
	align-items: center;
	font-size: .86rem;
	background: #ff2f91;
	color: #fff;
}
ul#condTB li dl dd div,
.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


#teamlist{
	margin: 10px -10px;
	padding: 15px 10px;
	background: #f4f4f9;
}
#teamlist .annotation {
	padding: 10px 0;
	font-size: .72rem;
}
.card{
	padding: 20px 10px;
	margin: 10px 0;
	border: 1px solid #cdcee3;
	border-radius: 8px;
	background: #fff;
}
.card_hd{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
.card_hd dt{
	font-size: 1.29rem;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	gap: 3px;
}
.card_hd dt::before{
	width: 18px;
	height: 18px;
	content: '';
	display: block;
	background: url(../img/icon/icn_team.png) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	flex: 0 0 18px;
}
.card_hd dd span{
	padding: 2px 5px;
	display: inline-block;
	border-radius: 10px;
	font-size: .72rem;
	color: #fff;
}
span.team{background: #f7682a;}
span.schl{background: #1a9d4f;}
span.bsct{background: #a248ef;}

.fav{
	background: #ebf6ff;
	border: 1px solid #b1daff;
	border-radius: 8px;
}
.fav p{
	width: 30px;
	height: 30px;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.fav p span{
	width: 16px;
	height: 14px;
	content: '';
	background-image: url(../img/icon/fav_off.png);
	-webkit-background-size: contain;
	background-size: contain;
	text-indent: -9999px;
	display: block;
}
.fav p.already span{background-image: url(../img/icon/fav_on.png);}


.card_info ul li{
	padding: 1px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 3px;
}
.card_info ul li::before{
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	flex:0 0 18px;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.card_info ul li.team_loc::before{background-image: url(../img/icon/icn_loc.png);}
.card_info ul li.team_cat::before{background-image: url(../img/icon/icn_category.png);}
.card_info ul li.team_cost::before{background-image: url(../img/icon/icn_cost.png);}

.tags{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap: 4px;
}
.tags span::before{content: '#';}
.tags span{
	padding: 0 2px;
	background: #d8e9ff;
	color: #4254ff;
	font-size: .86rem;
}
.divide{
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 1px dashed #000;
}
.card .btn a{padding: 8px 20px;}

/* 関連チーム (履歴/同エリア)
----------------------------------------*/
#related{
	margin: 0 -10px 10px;
	padding: 15px 10px 0;
	border-top: 5px solid #333;
}
#related h3{
	line-height: 30px;
	text-align: center;
}
#related > div{position: relative;}
#related > div:not(:first-child){
	padding-top: 10px;
	border-top: 1px dashed #d0d0d4;
}
#related > div:not(:first-child) .swp_func{top: 10px;}

.swp_func{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 0;
}

.swp_func li{
	width: 2em;
	height: 2em;
	border-radius: 1.5em;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #4c4c4c;
	cursor: pointer;
}
.swp_prev::before,
.swp_next::before{
	content: '';
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-style: solid;
	border-color: #000;
	display: block;
	position: absolute;
	top: 50%;
	display: block;
}
.swp_prev::before{
	border-width: 1px 0 0 1px;
	transform: rotate(-45deg);
	left: 12px;
}
.swp_next::before{
	border-width: 0 1px 1px 0;
	transform: rotate(-45deg);
	right: 12px;
}

.swp_teams{
	padding:15px 5px;
	overflow: hidden;
	position: relative;
}
.swp_teams > ul{
	display: -webkit-flex;
	display: flex;
	align-items: stretch;
	/*gap :5px;*/
}

.no-swiper-wrapper{gap:5px;}
.no-swiper-wrapper .rel_card{flex: 1 1 50%;}

.rel_card{
	height: auto !important;
	border: 1px solid #cdcee3;
	border-radius: 8px;
	background: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.rel_card a{
	height: 100%;
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
.rel_hd dt{
	font-size: .86rem;
	font-weight: bold;
}
.rel_hd dd span{
	padding: 2px 5px;
	display: inline-block;
	border-radius: 10px;
	font-size: .72rem;
	color: #fff;
}
.rel_card .card_info ul li{font-size: .72rem;}
.no_browsing{
	margin: 15px 0;
	padding: 10px;
	border: 1px solid #aaa;
}

#fav_hd{
	padding: 5px 0;
	margin: 0 -10px;
	text-align: center;
	background: #cdcee3;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3px;
}
#fav_hd::before{
	width: 11px;
	height: 10px;
	content: '';
	display: block;
	background-image: url(../img/icon/icn_fav.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;

}
#fav_hd span{font-weight: bold;}
#list #teamlist{margin: 0 -10px 10px;}

/* 08 search/team/(area/team/{$team_id}/)
-------------------------------------------------------------*/
#team_hd{
	padding: 10px 10px 20px;
	margin: 0 -10px;
	background-image: url(../img/team/team_hd.png);
	background-position: 50% 30%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	color: #fff;
}
#team_hd #hd_func{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
#team_hd #hd_func span{font-size: .72rem;}
#team_hd h2{
	margin: 0 !important;
	font-size: 1.43rem;
}
#team_hd p{
	font-size: .86rem;
	font-weight: bold;
}
#basis{margin: 10px 0 0;}
#basis h3{
	line-height: 1;
	padding: 8px;
	background: #3485ef;
	color: #fff;
	font-size: 1.15rem;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 8px;
}
#basis h3::before{
	width: 14px;
	height: 17px;
	content: '';
	display: block;
	background-image: url(../img/icon/icn_basis.png);
	-webkit-background-size: contain;
	background-size: contain;
}
#basis_info{padding: 10px; background: #f4f4f9;}
#basis_info li:not(:last-child){border-bottom: 1px dashed #d0d0d4;}
#basis_info li dl{
	padding: 5px 8px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
#basis_info li dl dt{flex: 0 0 6em; font-size: .86rem; font-weight: bold; line-height: 1.4rem; color:#555;}
#basis_info li dl dd{flex: 1; line-height: 1.4rem;}
#basis .annotation{
	padding: 10px 0;
	font-size: .72rem;
}
#basis_info li dl dd span{display: inline-block;}
#teamtags{
	padding: 5px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap: 4px;
}
#teamtags li::before{content: '#';}
#teamtags li{
	padding: 0 2px;
	background: #eff0f6;
	color: #cdcee3;
	font-size: .86rem;
}
#teamtags li.act{
	background: #b68b65;
	color: #fff;
}
#team_pr{
	padding: 10px;
	margin: 10px 0;
	background: #eaf9fc;
	border: 1px solid #c1e4ed;
	border-radius: 8px;
	color: #356d7b;
}

#teaminfo > dt{
	padding: 5px 8px;
	background: #555;
	color: #fff;
	font-size: 1.15rem;
	font-weight: bold;
	line-height: 1.2;

	display: -webkit-flex;
	display: flex;
	align-items: stretch;
	gap: 6px;
}
#teaminfo > dt::before{
	width: 4px;
	height: auto;
	content: '';
	display: block;
	background: #fff;
}
#teaminfo > dd{padding: 10px 0;}

#teamphoto{
	margin: 20px 0 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
	font-size: .86rem;
}
#teamphoto li{
	max-width: 310px;
	margin: 0 auto;
}
#teamphoto li img{
	max-width: 100%;
	height: auto;
	/*border: 4px solid #dbe4ed;*/
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
}
/* remodal swiper リスト
------------------------------ */
.galleryImg{overflow: hidden;}
.galleryImg ul li img{
	max-width: 100%;
	height: auto;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.pagination{
	margin: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 6px;
}

#activity dt{
	padding: 2px 5px;
	background: #89abd7;
	color: #fff;
	display: inline-block;
}
#activity dd{padding: 10px 0;}

#coach{text-align: center;}
#coach dt img{
	max-width: 100%;
	height: auto;
}
#coach dd{font-weight: bold;}
#coach dd span{
	color: #808080;
	font-size: .86rem;
	font-weight: normal;
	display: block;
}

#notice{padding: 15px 0;}
#notice h4{
	padding: 5px 0;
	margin-bottom: 10px;
	text-align: center;
	font-size: 1.15rem;
	border-width: 1px 0;
	border-style: solid;
	border-color: #ddd;
}
#notice dl{
	margin: 15px 0;
	background: #f4f4f9;
	padding: 10px;
	border-radius: 8px;
}
#notice dl dt{
	padding: 10px 0;
	text-align: center;
	font-size: 1.15rem;
	font-weight: bold;
	color: #a78c4f;
}
#notice dl dd p{margin: 10px 0;}

#share{
	margin: 0 -10px;
	background: #333;
	color: #fff;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-around;
}
#share dt{
	text-align: center;
	font-size: .72rem;
	flex:3 3 auto;
}
#share dd{flex: 1 1 48px;}
#share dd a,
#share dd div{
	padding: 15px 0;
	display: flex;
	justify-content: center;
	text-indent: -9999px;
}
#share dd a::before,
#share dd div::before{
	width: 24px;
	height: 24px;
	content: '';
	display: block;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
#share dd#s_x a::before{background-image: url(../img/icon/ft_x.png);}
#share dd#s_mail a::before{background-image: url(../img/icon/ft_mail.png);}
#share dd#s_line a::before{background-image: url(../img/icon/ft_line.png);}
#share dd#s_insta a::before,
#share dd#s_insta div::before{background-image: url(../img/icon/ft_insta.png);}
#insta-share{cursor: pointer;}

/* #### フローティング要素（TEL/MAIL/LINE/SITE）
---------------------------------------*/
#flm-wrapper {background: #fff;}
#flm-placeholder {
	background: #fff;
	height: 0;
}
#flm {
	position: sticky;
	bottom: 0;
	width: 100%;
	z-index: 999;
	background: rgba(255,255,255,0.8);
}
/* #flm{
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999;
	background: rgba(255,255,255,0.8);
} */

#flm ul{
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-width: 1px 1px 1px 0;
	border-style: solid;
	border-color: #bdbdbd;
}
#flm ul li{border-left: 1px solid #bdbdbd;}
#flm ul li{flex:1 1 0;}
#flm ul li a{
	padding: 5px 0;
	font-size: .92rem;
	text-decoration: none;
	text-align: center;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	align-items: center;
	gap :3px;
}
#flm ul li a::before{
	width: 24px;
	height: 26px;
	content: '';
	display: block;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
}
#flm ul li#flm_tel a::before{background-image: url(../img/icon/flm_tel.png);}
#flm ul li#flm_mail a::before{background-image: url(../img/icon/flm_mail.png);}
#flm ul li#flm_line a::before{background-image: url(../img/icon/flm_line.png);}
#flm ul li#flm_site a::before{background-image: url(../img/icon/flm_site.png);}


/* 各問合せmodal
--------------------------------------------------*/
#inquiry{
	padding: 20px;
	background: #fff;
	border-radius: 10px;
	text-align: center;
}
#inquiry h2{
	font-size: 1.43rem;
}
#inquiry .md_hd{
	padding: 15px 0;
	border-top: 1px solid #555;
}
#inquiry .md_hd dt{
	font-size: 1.15rem;
	font-weight: bold;
}
#inquiry .md_hd dd span{
	padding: 2px 5px;
	display: inline-block;
	border-radius: 10px;
	font-size: .72rem;
	color: #fff;
}
#inquiry .md_contact{padding: 15px 0;}
#inquiry .md_contact h3{
	margin-bottom: 25px;
	font-weight: normal;
}
#inquiry .md_contact h3 span{
	font-size: 1.15rem;
	font-weight: bold;
	display: block;
	color: #3485ef;
}
#inquiry .md_contact label{
	display: inline-block;
	font-size: .86rem;
}

#inquiry #staff{
	padding: 15px 0;
	border-top: 1px dashed #000;
}
#inquiry #staff dl{margin-bottom: 20px;}
#inquiry #staff dl dt img{
	width: 280px;
	height: auto;
}
#inquiry #staff dl dt span,
#inquiry #staff dl dd span{
	display: block;
	font-size: 0.86rem;
	font-weight: normal;
}
#inquiry #staff dl dd{font-weight: bold;}
#inquiry #staff p{text-align: left;}

.example{
	padding: 15px;
	background: #f4f4f9;
	border: 1px solid #cdcee3;
	text-align: center;
}
.example h3{
	padding: 5px 0;
	margin: 0 0 10px;
	font-size: 1rem;
	color: #333;
}
.example > div{
	text-align: center;
	border-width: 1px 0;
	border-style: solid;
	border-color: #cdcee3;
}
.example div ol{
	padding: 5px 0;
	text-align: left;
	font-size: .86rem;
	color: #6b6d90;
	display: inline-block;
}
.example div ol li span{
	display: -webkit-flex;
	display: flex;
	align-items: stretch;
	gap: 3px
}
.example div ol li span::before{
	width: 13px;
	content: '';
	display: block;
	color: #4ebdd8;
	background-image: url(../img/icon/icn_copy.png);
	background-position: 0 50%;
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
}
.sentence{
	pointer-events: none;
	text-align: left;
	margin: 0;
	padding: 10px 0;
	color: #333;
	font-size: 0.8rem;
	line-height: 1.2rem;
	white-space: break-spaces;
	background: none;
	border: none;
	height: auto;
}

.copy{text-align: center;}
.copy button{
	width: 80%;
	border: 2px solid transparent;

	padding: 10px 20px;
	text-align: center;
	text-decoration: none;
	font-size: .86rem;

	background: #4ebdd8;
	border-radius: 1.5rem;
	color: #fff;

	display: inline-block;
	position: relative;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.copy button span{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.copy button span::before{
	width: 12px;
	height: 14px;
	content: '';
	display: block;
	background-image: url(../img/icon/icn_copy_w.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.postclip{padding: 15px 0;}
.postclip p{margin: 10px 0; font-size: .86rem;}

.idcopy{text-align: center;}
.idcopy a,
.idcopy button{
	width: 80%;
	padding: 10px 20px;
	border: 2px solid transparent;
	border-radius: 8px;
	background: #cdcee3;
	display: inline-block;

	text-align: center;
	text-decoration: none;
	font-weight: bold;
	position: relative;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.idcopy button span{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.idcopy button span::before{
	width: 12px;
	height: 14px;
	content: '';
	display: block;
	background-image: url(../img/icon/icn_copy_grey.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.close{text-align: right;}
.close button{
	width: 20px;
	height: 20px;
	padding: 0;
	border: none;
	text-indent: -9999px;
	position: relative;
	display: inline-block;
	background: none;
	cursor: pointer;
}
.close button:before,
.close button:after{
	width: 16px;
	height: 3px;
	margin-top: -2px;
	background: #bdbdbd;
	border-radius: 4px;
	content: '';
	position: absolute;
	top: 50%;
	left: 2px;
}
.close button:before{	transform: rotate(45deg);}
.close button:after{	transform: rotate(-45deg);}

/* 09 words.html
-------------------------------------------------------------*/
#anchor{
	padding: 10px 0;
	margin: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 3px;
}
#anchor li{flex:0 1 32%;}
#anchor li a{
	height: 2.4em;
	padding: 10px 5px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #3485ef;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.words{margin-bottom: 20px;}
.words h3{
	padding: 5px;
	margin-bottom: 15px;
	background: #555;
	color: #fff;
	font-size: 1.15rem;
}
.words dt{
	padding: 5px;
	background: #dae9ff;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 3px;
}
.words dt::before{
	width: 16px;
	height: 20px;
	content: '';
	display: block;
	background: url(../img/icon/icn_word.png) 0 0 no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.words dd{padding: 10px 5px;}

/* 20 product/
-------------------------------------------------------------*/
/* body {
  font-family:
    'Noto Serif JP',
    'Hiragino Mincho ProN',
    'Yu Mincho',
    serif;

  line-height: 1.8;
  letter-spacing: 0.02em;
} */
#product .btn a,
#product .btn button,
#product .btn input[type="submit"]{
	background: #fff94d;
	color: #333;
}
#product .more a::after,
#product .more button::after{border-color: #333;}
#product .btn.edge.contact{text-align: center;}
#product .btn.edge.contact a{
	width: 80%;
	display: inline-block;
	padding: 6px 12px;
	background: #fff;
	border-radius: 1.5em;
}
#pdt_head_wrap{
	margin: 0 -10px;
	background:
		linear-gradient(rgba(37, 100, 216, 0.8), rgba(37, 100, 216, 0.8)),
		url("../img/pdt/hd_bg.jpg");
	background-repeat: no-repeat;
	background-position: 50% 100%;
	-webkit-background-size: cover;
	background-size: cover;
}
#pdt_head{
	padding: 20px 10px 200px;
	background-image: url(../img/pdt/hd_bg.jpg);
	background-position: 50% 100%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
#pdt_head h3{
	text-align: center;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 5px;
}
#pdt_head h3 img{
	width: auto;
	max-width: 310px;
	max-height: 22px;
}
#pdt_head_caps{
	max-width: 480px;
	margin: 20px auto;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}
#pdt_head_caps div{flex:1 0 140px;}
#pdt_head_caps img{
	max-width: 100%;
	height: auto;
}
#pdt_head_caps p{
	margin-left: -15px;
	flex:0 0 auto;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: flex-start;
	gap: 6px;
}
#pdt_head_caps p span{
	padding: 2px 5px;
	display: inline-block;
	background: #333;
	color: #fff;
	white-space: nowrap;
}

#pdt_head p{
	color: #fff;
	text-shadow: 0 0 3px rgba(0,0,0,.9);
}

#suggest{
	padding: 30px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 15px;
}
#suggest h3{font-size: 1.15rem;}
#suggest ul li{
	margin: 3px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 4px;
}
#suggest ul li::before{
	width: 16px;
	height: 16px;
	content: '';
	display: block;
	background-image: url(../img/pdt/icn_chk.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}


#team_plan{
	background-color: #6bdbbd;
	background-image: url(../img/pdt/team_bg.png);
}
#promo_plan{
	background-color: #fdf4a7;
	background-image: url(../img/pdt/prom_bg.png);
}
#team_plan h3 img{max-width: 273px;height: auto;}
#promo_plan h3 img{max-width: 225px;height: auto;}
#team_plan .planimgs{color: #006449;}
#prom_plan .planimgs{color: #74760a;}
#team_plan h4,#team_plan h5{color: #fffe35;}
#prom_plan h4,#promo_plan h5{color: #019350;}
.design_plan h5{
	font-family:
	  'Noto Serif JP',
	  'Hiragino Mincho ProN',
	  'Yu Mincho',
	  serif;
	line-height: 1.4;
	font-size: 1.29rem;
	text-align: center;
}


.design_plan{
	background-position: 50% 0;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	padding: 20px 10px;
	margin: 0 -10px;
}
.design_plan h3{text-align: center;}
.design_plan h4{
	text-align: center;
	font-size: 1.15rem;
	color: #019350;
}
.planimgs{
	text-align: center;
	font-size: .72rem;
}
.planimgs ul{
	padding: 15px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
}
/*.planimgs ul li{flex:1 1 50%;}*/
.planimgs ul li img{
	max-width: 100%;
	height: auto;
}

.planprice{
	margin: 10px 0;
	text-align: center;
}
.planprice img{
	width: 247px;
	height: auto;
}

.design_plan dl{
	padding: 20px 15px;
	margin: 15px 0;
	border: 1px solid #ffffff;
	border-radius: 8px;
	background: #fff;
}
.design_plan dl dt{
	padding: 0 0 8px;
	text-align: center;
	font-weight: bold;
	border-bottom: 1px dashed #808080;
}
.design_plan dl dd{padding: 15px 0 0;}
.design_plan dl dd ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
}
.design_plan dl dd ul li{
	padding-right: 4px;
	margin: 3px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 4px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.design_plan dl dd ul.stars li::before{
	width: 17px;
	height: 17px;
	content: '';
	display: block;
	background-image: url(../img/pdt/icn_star.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
#team_plan dl dd ul.stars li{flex:0 0 100%;}
#promo_plan dl dd ul.stars li{flex:1 1 50%;}
.design_plan dl dd ul.disc li{
	flex:1 1 50%;
	white-space: nowrap;
}
.design_plan dl dd ul.disc li::before{
	width: 10px;
	height: 10px;
	content: '';
	display: block;
	border-radius: 1.5em;
}
#team_plan dl dd ul.disc li::before{background-color: #4cc6a5;}
#promo_plan dl dd ul.disc li::before{background-color: #acad58;}
#promo_plan .annotation{font-size: .86rem;}


.design_plan dl dd ul.plane{display: block;}
.design_plan dl dd ul.plane li{
	list-style: disc inside;
	display: list-item;
}
.consult{
	margin: 15px 0;
	text-align: center;
}
.consult a{
	padding: 15px;
	color: #fff;
	font-size: 1.29rem;
	text-align: center;
	background: #333;
	border-radius: 1.5em;
	display: inline-block;
}

#price,
#flow{
	padding-bottom: 15px;
	border-bottom: 1px dashed #aaa;
}
#price h3,
#flow h3,
#faq h3{
	margin: 20px;
	font-size: 1.43rem;
	text-align: center;
}
#flow dl{margin-bottom: 15px;}
#flow dl dt{
	padding: 0 5px;
	background: #3485ef;
	color: #fff;
	font-weight: bold;
}
#flow dl dd{padding: 5px 0;}
#flow dl dd::after{
	width:0;
	height:0;
	content:'';
	position: relative;
	bottom: 0;
	left: calc(50% - 20px);
	display: block;
	border-style: solid;
	border-width: 10px 20px 0 20px;
	border-color: #add1ff transparent transparent transparent;
}

#faq{margin-bottom: 15px;}
#faq dl dt{
	padding: 2px 5px;
	background: #e2e3f8;
	font-weight: bold;
}
#faq dl dt::before{
	padding-right: 3px;
	content: 'Q.';
	color: #3485ef;
}
#faq dl dd{padding: 8px 5px;}
#faq dl dd::before{
	padding-right: 3px;
	content: 'A.';
	font-weight: bold;
}

#consult{
	padding: 0 10px;
	margin: 0 -10px;
	background-image: url(../img/pdt/consult_bg.jpg);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
#consult .inner > div{
	padding: 20px 10px;
	color: #fff;
}
#consult .inner > div h3{
	margin-bottom: 20px;
	text-align: center;
	font-size: 1.43rem;
}
#consult .inner > div p{margin-bottom: 20px;}
#consult .inner > div:not(:last-child){border-bottom: 1px solid #88bcff;}