@charset "UTF-8";
/*
Theme Name: 661cojp
Version: 1.0.0
*/

/****************************************
General Setting
*****************************************/
html,body,h1,h2,h3,h4,h5,h6,div,p,ul,ol,li,dl,dt,dd,table,th,td {box-sizing: border-box;}
:root {
	--brand-orange: #F08402;
	--bg-menu: #fdfaf5; /* メニュー背景色 */	
	--text-black: #333;
	--font-sm: 12px;
	--font-md: 15px;
	--header-height: 90px;

}

html {
	margin: 0px auto;
}

body {
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 16px;
	line-height: 1.7em;
	font-weight: 300;
	margin: 0px auto;
	padding: 0px;
	min-width: 1000px;
	overflow-x: hidden;
	color: #333;
}
body.is-nav-open {
	overflow: hidden;
	/* iOS Safari対策 */
	position: fixed;
	width: 100%;
	height: 100%;
}

img {
	border-style:none;
}

/****************************************

Typography

*****************************************/

h1, h2, h3, h4, h5, h6{
	font-weight: normal;
}

/****************************************
List

*****************************************/

ul,ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

li { list-style: none; }


/****************************************

Link

*****************************************/

a {
	color: #000;
	text-decoration: none;
	cursor: pointer;
}

a:hover {
	color: #666;
}

img {
	max-width: 100%;
}

p {
	margin-top: 0px;
}
strong { font-weight: 500; }
.font12 { font-size: 12px; }
.font14 { font-size: 14px; }
.font16 { font-size: 16px; }
.font18 { font-size: 18px; }
.font20 { font-size: 20px; }
.font22 { font-size: 22px; }
.font24 { font-size: 24px; }
.font36 { font-size: 36px; }

/****************************************

margin

*****************************************/

.mt0 { 	margin-top: 0px; }
.mt5 { 	margin-top: 5px; }
.mr5 { margin-right: 5px; }
.ml5 { 	margin-left: 5px; }
.mb5 { margin-bottom: 5px; }
.mt10 { margin-top: 10px; }
.mr10 { margin-right: 10px; }
.ml10 { margin-left: 10px; }
.mb10 { margin-bottom: 10px; }
.mt20 { margin-top: 20px; }
.mr20 { margin-right: 20px; }
.ml20 { margin-left: 20px; }
.mb20 { margin-bottom: 20px; }
.mt30 { margin-top: 30px; }
.mr30 { margin-right: 30px; }
.ml30 { margin-left: 30px; }
.mb30 { margin-bottom: 30px; }
.mt40 { margin-top: 40px; }
.mr40 { margin-right: 40px; }
.ml40 { margin-left: 40px; }
.mb40 { margin-bottom: 40px; }
.mt50 { margin-top: 50px; }
.mr50 { margin-right: 50px; }
.mr60 { margin-right: 60px; }
.mr80 { margin-right: 80px; }
.ml50 { margin-left: 50px; }
.ml60 { margin-left: 60px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }


/****************************************

padding

*****************************************/
.pt10 { padding-top: 10px; }
.pr10 { padding-right: 10px; }
.pl10 { padding-left: 10px; }
.pb10 { padding-bottom: 10px; }
.pt20 { padding-top: 20px; }
.pr20 { padding-right: 20px; }
.pl20 { padding-left: 20px; }
.pb20 { padding-bottom: 20px; }
.pt30 { padding-top: 30px; }
.pr30 { padding-right: 30px; }
.pl30 { padding-left: 30px; }
.pb30 { padding-bottom: 30px; }
.pt40 { padding-top: 40px; }
.pr40 { padding-right: 40px; }
.pl40 { padding-left: 40px; }
.pb40 { padding-bottom: 40px; }
.pt50 { padding-top: 50px; }
.pr50 { padding-right: 50px; }
.pl50 { padding-left: 50px; }
.pb50 { padding-bottom: 50px; }
.pb60 { padding-bottom: 60px; }
.pb70 { padding-bottom: 70px; }
.pb80 { padding-bottom: 80px; }

/****************************************

Layout

*****************************************/
.container {
	margin-left: auto;
	margin-right: auto;
}

.wrapper {
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	width: 1050px;
}
.wrappertop {
	text-align: left;
	margin-left: 5%;
	margin-right: 5%;
	box-sizing: border-box;
}
.wrapper02 {
	text-align: left;
	margin-left: 8%;
	margin-right: 8%;
	box-sizing: border-box;
}
.wrapper03 {
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	width: 1250px;
}
#main { float: left; width: 70%; }
#sidepage { float: right; width: 27%; }
#sidepage ul { margin-bottom: 0px; font-size: 14px;}


#sidepage ul li {
	padding: 8px 3px 1px;
	border-bottom: 1px dotted #ddd;
}
#sidepage li li:last-child {
	border-bottom: 0px dotted #ddd;
}
#sidepage li li {
	padding-left: 10px;
}
.widget_block h2,
.widgettitle {
	font-size: 16px;
	text-align: center;
	padding: 8px;
	margin: 20px 0px 10px;
	background: #F9BE30;
	color: #fff;
	font-weight: 400;
	border-radius: 10px;
}

#sideblog ul {list-style: none; margin-bottom: 20px;}
#sideblog ul li {padding: 8px 10px 1px; border-bottom: 1px dotted #ddd; }
#sideblog ul li:last-child { border: 0px;}
#sideblog ul.children li a:before { content: "－"; }
#sideblog .calendrier { margin-bottom: 30px;}

footer {
	background: #FFFBF6;
	padding-top: 10px;
}

#footer {
	text-align: left;
	padding-top: 20px;
	margin: 0px auto;
	width: 1050px;
}

#footer h2, #footer h3 {
	display: inline;
}

#footer_fixed {
	position: fixed;
	right:0;
	bottom: 0;
	padding-bottom: 20px;
	width: 62px;
	height:auto;
	z-index: 10;	
}


/****************************************

Navigation

*****************************************/
.headerbox {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#headerL.fixed {
	position:  fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	background-color: rgba(255,255,255,1);
	box-shadow: 0 3px 5px -1px rgb(0,0,0,6%);
}
#headerL.fixed #header { transition: .3s; }
#headerL .headR { display: flex;  align-items: center;}

.header-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-left: 15px;
	margin-right: 15px;
	line-height: 1.2;
}
.tel-number {
	font-size: 18px;
	font-weight: 500;
	text-decoration: none;
	color: var(--text-black);
	letter-spacing: 0.05em;
}
.opening-hours {
	font-size: 10px;
	color: #555;
	margin-top: 2px;
}

.opening-hours span {
	margin-right: 8px;
}

/* Hamburger Button */
.menu-trigger {
	width: 50px;
	height: 50px;
	background-color: var(--brand-orange);
	border: none;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 6px;
	transition: transform 0.2s;
}

.menu-trigger:hover {
	transform: scale(1.05);
}

.menu-trigger span {
	display: block;
	width: 25px;
	height: 2px;
	background-color: #fff;
	transition: all 0.4s;
}

/* Toggle State Animation */
.menu-trigger.active span:nth-child(1) {
	transform: translateY(4px) rotate(45deg);
}
.menu-trigger.active span:nth-child(2) {
	transform: translateY(-4px) rotate(-45deg);
}

/* Mobile Drawer (Hidden by default) */
.drawer-menu {
	position: fixed;
	top: 0;
	right: -100%;
	width: 300px;
	height: 100vh;
	background: #fff;
	box-shadow: -5px 0 15px rgba(0,0,0,0.1);
	transition: right 0.4s ease;
	z-index: 999;
	padding-top: 100px;
}

.drawer-menu.active {
	right: 0;
}


/* Full Screen Overlay */
.full-menu {
	position: fixed;
	top: 94px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--bg-menu);
	z-index: 500;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--transition-speed), visibility var(--transition-speed);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow-y: auto;
	padding: 100px 20px 40px;
	box-sizing: border-box;
}

.full-menu.active {
	opacity: 1;
	visibility: visible;
}

/* 4列のメニューレイアウト */
.menu-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* PC版4列 */
	gap: 40px 60px;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.menu-column {
	list-style: none;
	padding: 0;
	margin: 0;
}

.menu-column li {
	margin-bottom: 18px;
	opacity: 0;
	transform: translateY(15px);
	transition: all 0.4s ease;
}

.full-menu.active .menu-column li {
	opacity: 1;
	transform: translateY(0);
}
/* ------- メニュー部分 ------- */
.menu {
	margin-left: auto;
	padding: 0px 0px 0px;
	height: auto;
}

.menu ul{
	list-style-type: none;
	margin: 0px 0;
	padding: 0px 0;
	display: flex;
}

.menu li{
	display: inline-block;
	margin: 0;
	padding: 0 8px 0px;
	vertical-align: middle;
	position: relative;
	text-align: center;
}

.menu span.wrap,
.menu a{
	text-align: center;
	padding: 20px .2em;
	position: relative;
	color: #333;
	font-size: 14px;
	display: block;
	box-sizing: border-box;	
	position: relative;
	cursor: pointer;
}
.menu span.wrap.menu-open {
	border-bottom: 1px solid #0088CC;
}

.menu a:hover:after {
	opacity: 1;
}

.menu ul:after {
	clear: both;
	display: block;
	content: "";
}
.menu li.has_child:hover .child {	
	display: block;
}

.menu .child {
	display: none;
	position: absolute;
	z-index: 1001;
	width: 230%;
	height: auto;
	background: #f9f9f9;
	border-top: 1px #ddd solid;
	margin-bottom: 0px;
}

.menu .child li {
	padding: 0;
	border-bottom: 1px #ddd solid;
	display: block;
	margin: 0px;
}

.menu span.wrap:hover,
.menu a:hover {
	color: var(--brand-orange);
}

.menu .child a {
	display: block;
	width: 100%;
	height: auto;
	padding: 12px 10px;
	color:#000;
	background: #fff;
	text-indent: 0em;
	background-size: 11px;
	position: relative;
	overflow: hidden;
	box-sizing:border-box;
	line-height: 1.5em;
	margin: 0px 0px; 
	text-align: left;
	border: 0px solid #fff;
}

.menu .child a:hover {
	background: var(--brand-orange);
	background-size: 11px;
	color: #fff;
}
.menu .child a:hover:after {
	color: #fff;
}
.menu .child a:after {
	content: "→";
	position: absolute;
	bottom: 10px;
	right: 10px;
	color: var(--brand-orange);
}

/* ------- メニュー部分 ------- */

.alignleft { float: left; }
.alignright { float: right; }
.aligncenter { text-align: center;}
.txtleft { text-align: left; }
.txtright { text-align: right; }
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

/****************************************

Breadcrumb

*****************************************/
.subHeader { background-color: #F6F5F1; padding: 100px 0px; position: relative; }
.subHeader .mB { color: #fff; letter-spacing: 2px; }
.breadcrumbs {
	margin-left: 0px;
	margin-bottom: 35px;
	color: #aaa;
	/* padding: 5px 0px; */
	font-size: 14px;
	padding-top: 18px;
	padding-bottom: 20px;
}




#yfaq {
	margin: 0 auto;
	box-sizing: border-box;
}

#yfaq .term {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
}

#yfaq .term p {
	margin: 0;
	padding: 0;
	display: flex;
}

#yfaq .term a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 54px;
	padding: 10px 10px;
	background-color: #f9f9f9;
	color: #333333;
	text-decoration: none;
	font-size: 15px;
	border: 1px solid #F08402;
	border-radius: 4px;
	box-sizing: border-box;
	transition: all 0.2s ease;
}

#yfaq .term a:hover {
	background-color: #ffffff;
	border-color: #F08402;
	color: #F08402;
	box-shadow: 0 2px 8px rgba(243,152,10,0.1);
}

#yfaq .term a::after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
	margin-left: 10px;
}

#yfaq .inner {
	margin: 0 auto;
	max-width: 800px;
	padding-bottom: 80px;
}

#yfaq .inner h3 {
	font-size: 20px;
	border-bottom: 1px solid #d6d6d6;
	padding: 50px 0 10px 0;
	margin: 0px 0 20px 0;
}


/*--Q--*/

#yfaq .inner h4 {
	padding: 10px 10px 10px 30px;
	text-indent: -30px;
}
#yfaq .inner h4 span.switchHat {
	font-size: 16px;
	padding: 0 30px 0 0; 
	color: #333;
	font-weight: normal;
	box-sizing: border-box;
}

#yfaq .inner h4 span.switchHat::before {
	content: "Q.";
	text-indent: 0px;
	background-color: #FF9E00;
	color: #fff;
	width: 25px;
	height: 25px;
	display: inline-block;
	text-align: center;
	margin-right: 5px;
}

#yfaq .inner .switchDetail {
	border-radius: 5px;
	background-color: #f6f6f6;
	padding: 15px;
	box-sizing: border-box;
}

#yfaq .inner .switchDetail p {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

#yfaq .inner .switchDetail p.closeBtnHat {
	display: none;
	/*display: inline-block;
	clear: #ddd;
	margin-top: 10px;*/
}

.allOpenBtn:after,
.switchHat:after {
	content: " ＋";
	float: right;
}


.nowOpen:after {
	content: " －";
}

#eventinfo {
	width: 100%;
	padding: 50px 20px 30px 20px;
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1200px;
}

#eventinfo h2 {
	font-size: 16px;
}

#eventinfo h2 span {
	font-family: 'Oswald', sans-serif;
	font-size: 30px;
	display: inline-block;
	margin-right: 10px;
}

#eventinfo .inner {
	display: flex;
	justify-content: space-between;
	padding-bottom: 70px;
}


#eventinfo .inner .box {
	width: 29%;
}

#eventinfo .inner .box a {
	display: block;
	text-decoration: none;
	color: #000;
}

#eventinfo .inner .box .img {
	width: 100%;
	height: 300px;
	display: block;
}

#eventinfo .inner .box .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#eventinfo .inner .box p {
	font-weight: 300;
	margin: 0;
	padding: 10px 0 0px 0px;
	color: #888;
}

#eventinfo .inner.acv {
	flex-wrap: wrap;
}

#eventinfo .inner.acv .box {
	margin-bottom: 60px;
}
#eventinfo .inner.acv .box h3 { margin: 0px; font-size: 15px; font-weight: 400; }
#eventinfo .inner.acv .box .elabel { color: #fff; font-size: 13px; line-height: 1em; display: inline-block; padding: 3px 8px; background: #000; margin-right: 10px; }
#eventinfo .inner.acv .box .elabel.red { background: #F08402; }
#eventinfo .inner.acv .box .date { font-size: 13px; color: #888;}

/*----------動画--------------------------------------*/


#movie {
	max-width:1200px;
	margin:0 auto;
	padding:30px 30px 60px 30px;
	width: 100%;
	letter-spacing: -0.4em;
	box-sizing: border-box;
}

#movie .listbox {
	width: 25%;
	padding: 10px;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	box-sizing: border-box;
}

#movie .listbox img {
	width: 100%;
	height: auto;
	transition: 0.3s;
}



#movie .listbox .img {
	position: relative;
	overflow: hidden;
}
#movie .listbox .img .play {
	position: absolute;
	bottom: 20px;
	right: 15px;
	width: 60px;
	height: auto;
	transition: 0.3s;
}

#movie .listbox .img .play:hover {
	transform: scale(1.1);
}

#movie .listbox h3 {
	font-size: 16px;
	font-weight: 600;
	margin: 0;
	padding: 10px 0;
}

#movie .listbox p {
	font-size: 15px;
	font-weight: 400;
	margin: 0;
	padding: 0;
}

#movie .listbox a {
	text-decoration: none;
}

#mov_menu {
	text-align: left;
	margin: 0;
	padding: 20px 0;
	position: relative;
	z-index: 99999;
}

#mov_menu p {
	display: inline-block;
	width: auto;
	box-sizing: border-box;
	letter-spacing: normal;
	margin: 0;
	padding: 0;
}


#mov_menu p.tt {
	padding: 0 20px;
	font-family: 'Special Elite', cursive;
	font-size: 22px;
	color: orange;
}

#mov_menu p a {
	display: block;
	background-color: orange;	
	padding: 10px 20px;
	text-decoration: none;
	font-weight: 600;
	transition: 0.3s;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	margin-right: 5px;
	color: #ffffff;
}
#mov_menu p a:hover {
	background-color: orangered;
	color: #ffffff;
}

.staffList { display: flex; flex-wrap: wrap;justify-content: center; margin: auto;}

.staffList li { 
	display: inline-block;
	width: 19%;
	margin-bottom: 20px;
	text-align: center;
	overflow: hidden;
	padding: 15px 10px; 
	border: 0px solid #ddd;
	border-radius: 0px;
	margin-right: 0.5%;
	margin-left: 0.5%;
	vertical-align: top;
}
.staffList li:hover { background: #eee; border-radius: 0px; }
.staffList li a { text-decoration: none; color: #000; display: inline-block; width: 100%; height: 100%; }
.staffList li img { max-width: 100%; height: auto; border-radius: 0px; }
.staffList li a:hover img { opacity: 1; }
.staffList li p { line-height: 1.5em; padding: 0px; margin: 0px 0px; border-radius: 0px; }

.staffList li p.staffp1 { 
	color: #FF8105;
	font-size: 14px;
	padding-top: 5px;
	padding-bottom: 5px;
	letter-spacing: .03em;
}
.staffList li p.staffp2 { color: #3E3A39; font-size: 15px; font-weight: 400;}

#recoStaff ul { text-align: center;}
#recoStaff li { display: inline-block; vertical-align: top; width: 19%; }
#recoStaff li a { text-decoration: none; color: #000; }
#recoStaff li p.wrapImage img { width: 90px; }
#recoStaff li p { margin: 5px; text-align: center; font-size: 13px; }
#recoStaff li p.staffp2,
#recoStaff li p.staffp1 { color: #999; }

/* ↓top↓ */
#top01 { margin-bottom: 50px; }
#top02 { margin-bottom: 0px; }
#top03 { margin-bottom: 100px; }
#top04 { margin-bottom: 0px; }
#top05 { margin-bottom: 80px; }
#top07 { margin-bottom: 100px; }
.topbg { background: url(/newhp/images/top-bg.jpg) no-repeat top center; padding: 100px 0px 0px; background-size: 100%; }
.topttl { margin-bottom: 40px; }
.topttl .font-outfit {
	font-family: 'Outfit', sans-serif;
}

/* 1行目のレイアウト */
.topttl .header-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.topttl .header-text {
	font-size: 1.2em;
	font-weight: 400;
	letter-spacing: 0.025em;
	margin-left: -2em;
}

/* 2行目のレイアウト（タイトル） */
.topttl .title {
	font-size: 2em; /* モバイルサイズ */
	font-weight: 500;
	margin-bottom: 2rem;
	letter-spacing: -0.025em;
}

/* 3行目のレイアウト（説明文） */
.topttl .description {
	font-size: 14px;
	line-height: 1.625;
	color: #4b5563; /* text-gray-600 */
}

/* --- アニメーション設定 --- */
.char {
	display: inline-block;
	opacity: 0;
	filter: blur(4px);
	transform: translateY(10px);
	transition: 
		opacity 0.6s ease, 
		filter 0.6s ease, 
		transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
	transition-delay: var(--delay);
}

.is-visible .char {
	opacity: 1;
	filter: blur(0);
	transform: translateY(0);
}

.yellow-dot {
	width: 38px;
	height: 38px;
	background-color: #FFD54F;
	border-radius: 50%;
	display: inline-block;
	opacity: 0;
	transform: scale(0);
	transition: all 0.8s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.is-visible .yellow-dot {
	opacity: 1;
	transform: scale(1);
}

ul.top-eventlist { display: flex; gap: 30px; margin-bottom: 50px; }
ul.top-eventlist li {
	width: 23.5%;
	padding: 0px 0px;
	box-sizing: border-box;		
}
ul.top-eventlist li img {
	width: 100%;
	height: 20vw;
	object-fit: cover;
	display: block;
}
ul.top-eventlist li h3 { margin: 0px; font-size: 15px; font-weight: 400; }
ul.top-eventlist li .elabel { color: #fff; font-size: 13px; line-height: 1em; display: inline-block; padding: 3px 8px; background: #000; margin-right: 10px; }
ul.top-eventlist li .elabel.red { background: #F08402; }
ul.top-eventlist li .date { font-size: 13px; color: #888;}
ul.top-worklist { display: flex; gap: 30px; margin-bottom: 50px; }
ul.top-worklist li {
	width: 23.5%;
	padding: 0px 0px;
	box-sizing: border-box;		
}
ul.top-worklist li img {
	width: 100%;
	height: 25vw;
	object-fit: cover;
	display: block;
}
ul.top-worklist li h3 { margin: 0px; font-size: 15px; font-weight: 400; }

ul.top-reformlist { display: flex; margin-bottom: 50px; }
ul.top-reformlist li {
	width: 23.5%;
	padding: 10px 10px 15px;
	box-sizing: border-box;	
	border: 1px solid #eee;
	background: #FFFBF6;
}
ul.top-reformlist li img {
	width: 100%;
	height: 25vw;
	object-fit: cover;
	display: block;
}
ul.top-reformlist li h3 { margin: 0px; font-size: 15px; font-weight: 400; }

.top-newlist { display: flex; gap: 30px; justify-content: space-around; }
.top-newlist .itembox {
	width: 32.5%;
	padding: 0px 1%;
	box-sizing: border-box;	
}
#newstopics .box1 li {
	padding: 0 5px 10px 0px;
	margin: 10px 0px;
	line-height: 1.2;
	vertical-align: top;
}
#newstopics .box1 li:last-child {
	border-bottom: 0px solid #ddd;	
}
#newstopics .newmark { display: inline-block; background: #e00; color: #fff; padding: 0px 10px; font-size: 12px; line-height: 1.5em; }
#newstopics .box1 li a {
	color: #333;
	display: block;
}
#newstopics .box1 li a:hover {
	color: #e00;	
}
#newstopics .box1 li h2  {
	display:block;
	line-height: 1.2;
	margin: 5px 0px;
	font-size: 14px;
	color: #3E3A39;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;	
}

#newstopics .box1 .box1-1 {
	float: left;
	width: 25%;
	height: 70px;
	margin-right: 1%;
	overflow: hidden;
	text-align: center;
	display: block;
}

#newstopics .box1 .box1-2 {
	float: right;
	width: 73%;
}
#newstopics .box1 .box1-1 img {
	width: 100%;
	height: 70px;
	object-fit: cover;
	border: 1px solid #eee;
	padding: 1px;
	box-sizing: border-box;
}

#newstopics .hiduke { color: #333; font-size: 13px; }
#newstopics .box1 span.label { 
	font-size: 12px;
	display: inline-block;
	color: #FF7F00;
	line-height: 1em;
	margin: 7px 10px 5px 10px;
	text-align: center;
	border-radius: 10px;
	border: 1px solid #FF7F00;
	padding: 2px 5px;
}

/* 見出しの共通設定 */
.custom-heading {
	display: flex;
	align-items: flex-end; /* 下揃え */
	margin: 40px 0 20px;
}

.custom-heading .item01 {
	display: inline-block;
	color: #fff;
	font-weight: 400;
	font-size: 1em;
	letter-spacing: 0.05em;
	padding: 5px 25px;
	line-height: 1;
	border-radius: 30px 30px 30px 30px;
	white-space: nowrap;
	background-color: #bc937e;
}

.custom-heading .line {
	flex-grow: 1;
	height: 2px;
	margin-bottom: 0;
	background-color: #bc937e;
	margin-left: -30px;
}
.style-animated .line {
	transform-origin: left;
	animation: growLine 1.5s ease-out forwards;
}

@keyframes growLine {
	from {
		transform: scaleX(0);
	}
	to {
		transform: scaleX(1);
	}
}

.topmore a {
	position: relative;
	display: inline-block;
	padding: 15px 30px 15px 30px;
	text-align: center;
	text-decoration: none;
	transition: .3s;
	overflow: hidden;
	font-size: 15px;
	color: #fff;
	line-height: 1em;
	border-radius: 30px;
}
.topmore a:hover {
	color: #000;
}

.topmore a::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: '';
	width: 120%;
	height: 100%;
	background: #b7b7b7;
	transform-origin: right top;
	transform: skewX(180deg) scale(0, 1);
	transition: transform .3s;
}
.topmore a:hover::before {
	transform-origin: left top;
	transform: skewX(180deg) scale(1, 1);
}
.topmore a::after{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	content: '';
	width: 120%;
	height: 100%;
	background: #F08402;
}
.toplabel { display: flex; gap: 5px; flex-wrap: wrap; }
.toplabel span { display: inline-block; font-size: 12px; color: #F08402; line-height: 1em; border-radius: 15px; border: 1px solid #F08402; padding: 5px 6px;}
.toplabel a { display: inline-block; font-size: 12px; color: #F08402; line-height: 1em; border-radius: 15px; border: 1px solid #F08402; padding: 5px 6px;}
.toplabel a:hover { color: #fff; background: #F08402; }

.hover-target { position: relative; }
.hover-target span.img {
	--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
	--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	--tw-border-opacity: 1;
	border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
	border-width: 1px;	
	overflow: hidden;
	position: relative;
	display: block;
	margin-bottom: 10px;
}
.hover-scale-img {
	transition: transform 1.2s cubic-bezier(0.2, 0, 0.2, 1);
}
.hover-target:hover .hover-scale-img {
	transform: scale(1.1);
}
.border-reveal {
	position: absolute;
	inset: 0;
	border: 4px solid transparent;
	transition: border-color 0.5s ease;
	pointer-events: none;
	z-index: 10;
	overflow: hidden;	
}
.hover-target:hover .border-reveal {
	border-color: rgba(230, 126, 34, 0.3);
}
.footbox { display: flex; gap: 30px; justify-content: space-between;}
.footbox .fbox01 { margin-top: 55px; padding-bottom: 30px; }
.footbox .fbox02 { width: 410px; }
.footbox .fbox02 .footaddr { padding-left: 128px; }
#copyright { text-align: right; font-size: 11px; margin: 0px; padding: 10px 0px; }
.menuf {
	font-size: 15px;
	padding: 0;
	text-align: left;
	color: #333;
	direction: ltr;
}

.menuf ul {
	vertical-align: top;	
	list-style-type: none;
	margin: 0px 0px 0px 10px;
	padding: 0;
	margin-top: 0px;
	display: inline-block;
}
.menuf li {
	line-height: 1em;
	text-align: left;
	padding: 0px 0px 0px;
	position:relative;
}

.menuf a {
	padding: 5px 10px 5px 0px;
	text-decoration:none;
	color: #442F13;
	display: block;
	font-size: 13px;
}
#top-concept02 { margin-bottom: 100px; }
#top-concept02 ul { display: flex; gap: 50px; justify-content: center; }
#top-concept02 ul li {
	width: 45%;
	position: relative;
	display: inline-flex;
	align-items: center;
}
#top-concept02 ul li div.img {

}
#top-concept02 ul li a {
	display: flex;
}
#top-concept02 ul li div.img img { display: block; }
#top-concept02 ul li div.txtb .item01 { font-size: 1.2em; margin-bottom: 2em; }
#top-concept02 ul li div.txtb .item02 { font-size: 2.2em; margin-bottom: 1.5em; letter-spacing: 5px; }
#top-concept02 ul li div.txtb .morelink {
	display: inline-block;
	background: url(/newhp/images/yaji-waku-off.png) no-repeat right center;
	background-size: 35px;
	padding: 20px 45px 20px 0px;
	font-size: 1.2em; 
	color: #fff;
}
#top-concept02 ul li a div.txtb {
	position: absolute;
	color: #fff;
	text-align: center;
	width: 100%;
	padding-bottom: 2vw;
	bottom: 0;
	left: 0;
	z-index: 1;
	background: transparent;
}

#top-concept02 ul li a div.txtb::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(
		to top, 
		rgba(200, 126, 34, 0.8), 
		rgba(200, 126, 34, 0)
	);
	opacity: 0;
	transition: opacity 500ms ease;
	z-index: -1;
}

#top-concept02 ul li a:hover div.txtb::before {
	opacity: 1;
}
#top-concept02 ul li a div.txtb span,
#top-concept02 ul li a div.txtb p {
	position: relative;
	z-index: 2;
}

#top-concept02 ul li a:hover div.txtb .morelink {
	display: inline-block;
	background: url(/newhp/images/yaji-waku-on.png) no-repeat right center;
	background-size: 35px;
	padding: 20px 45px 20px 0px;
}
#top-company ul { display: flex; gap: 55px; }
#top-company ul li { position: relative; }
#top-company ul li a { position: relative; 
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
}
#top-company ul li a img { display: block; margin: auto;
	border-radius: 50%;	
filter: brightness(0) saturate(100%) invert(70%) sepia(66%) saturate(6590%) hue-rotate(9deg) brightness(102%) contrast(101%);	
	transition: transform 1.2s cubic-bezier(0.2, 0, 0.2, 1);}
#top-company ul li .txt {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 1.2s cubic-bezier(0.2, 0, 0.2, 1);
	border-radius: 50%;
	background: rgba(255,255,255,0.7);	
}
#top-company ul li .txt div {padding-top: 10%; }
#top-company ul li .txt span { display: block; text-align: center; width: 100%; }
#top-company ul li .txt span.item01 { font-size: 1.5em; margin-bottom: 1em; color: #000; }
#top-company ul li .txt span.item02 { font-size: 1em; color: #000; }
#top-company ul li a:hover .txt { background: rgba(255,255,255,0.2); border-radius: 50%;}
#top-company ul li a:hover img {
	transform: scale(0.95);

}
#top-company ul li  a:hover .txt span.item01,
#top-company ul li  a:hover .txt span.item02 { color: #fff; }

/*　↑top↑ */

/* page */
ul.work_list { display: flex; flex-wrap: wrap; padding-top: 10px; gap: 0px 1.5%; }

ul.work_list li { 
	display: inline-block;
	width: 32%;
	padding: 10px 10px 15px;
	box-sizing: border-box;
	border: 1px solid #eee;
	background: #FFFBF6;
}

ul.work_list li h2 {
	font-size: 15px;
	padding: 0px 0px 0px 0px;
	margin: 0px 0px 10px 0px;
	color: #3E3A39;
	font-weight: 400;
	line-height: 1.5em;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;	
}
ul.work_list li .txt {
	display: block;
	padding: 8px 8px 8px 10px;
	color: #333;
	font-size: 14px;
	font-weight: 400;
	position: relative;
	background: #fff;
	margin-bottom: 30px;
}
ul.work_list li .txt .lab { font-weight: 500; }
ul.work_list li a { text-decoration: none;
}
ul.work_list li .tags { text-align: left; }
ul.work_list li img {
	width: 100%;
	height: 20vw;
	object-fit: cover;
	display: block;
	margin-bottom: 20px;
}
ul.work_list li span.more {
	display: block;
	text-align: center;
	font-size: 12px;
	width: 9em;
	margin-left: auto;
	background: #3B9B37;
	color: #fff;
	line-height: 1em;
	padding: 5px 0px;
}

ul.work_list li a:hover span.more {
	background: #FFA54C;
}
ul.work_list li .labelwrap {
	font-size: 12px;
	line-height: 1.5em;

}
ul.work_list li span.label {
	color: #3B9B37;
	display: inline-block;
	font-weight: 300;
	padding: 0px 5px 1px 0px;
}

.mB {
	font-size: 38px;
	margin: 0px;
	padding: 25px 0px 20px;
	text-align: center;
	line-height: 1.5em;
	font-weight: 500;
	text-shadow: 0px 0px 1px #999;
}
.worktags { margin-bottom: 0px; display: inline-block; font-size: 14px;}
.worktags li { display: inline-block; }
.worktags li a { display: block; border-bottom: 1px solid #ddd; padding: 5px 10px 5px; margin: 5px 10px 5px 0px; text-decoration: none !important; line-height: 1em; }
.worktags li.active a { border-bottom: 1px solid #e00;  color: #e00; }
.mBttl {
	margin-bottom: 30px;
	padding-bottom: 10px;
	clear: both;
	font-size: 24px;
	text-align: center;
}

.marker {
	background: linear-gradient(transparent 60%, #fcf79c 60%);align-content
}
.marker02 {
	background: linear-gradient(transparent 60%, #F5F650 60%);align-content
}
.bukendata { font-size: 15px; padding: 20px 0px; }

.bukendata dl {
	display: inline-block;
	width: 46%;
	padding-bottom: 5px;
	padding-top: 5px;
	margin: 0px 1%;
	border-bottom: 1px solid #ccc;
}

.bukendata dl dd,
.bukendata dl dt {
	float: left;
	padding: 0px 10px;
	margin: 0px;
}

.bukendata dl dt {
	font-weight: 500;
	width: 10em;
	color: #333;
}

.bukendata dl dd {
	width: auto;
	position: relative;
	padding-left: 20px;
	width: 300px;
	border-left: 1px solid #ddd;
}
.midashi-d {
	margin: 0px;
	font-size: 18px;
	color: #363636;
	margin-bottom: 15px;
	position: relative;
	padding: 0.6rem 1rem;
	font-weight: 000;
	text-align: left;
	background: #f2f2ed;
}


.kanren ul.list li { display: inline-block; width: 23%; text-align: center; margin: 10px 1.5% 10px 0px; vertical-align: top; box-sizing: border-box; }
.kanren ul.list02 li { display: inline-block; width: 47%; text-align: left; margin: 10px 1%; vertical-align: top; }
.kanren .list li img {
	border: 1px solid #eee;
	max-height: 100px;
	width: 100px;
	float: left;
	margin-right: 10px;
}

.kanren ul.list02 li h3,
.kanren ul.list li h3{
	font-size: 14px;
	text-align: left;
	margin: 0px 0px 20px 20px;
	font-weight: 400;
	line-height: 25px;
	line-height: 1.5em;
}
.kanren ul.list02 li img { width: 100%; height: 90px; object-fit: cover; }


/* work */

/* page */

.step {
            background: white;
            padding: 10px 10px;
            margin-bottom: 40px;
            border-radius: 12px;
            position: relative;
            overflow: hidden;
        }

        .step:before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 6px;
        }

        .step-header {
            display: flex;
            align-items: center;
            margin-bottom: 30px;
            gap: 20px;
        }

        .step-number {
            background: linear-gradient(135deg, #fbc837 0%, rgb(251 202 57) 100%);
            color: white;
            width: 80px;
            height: 80px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.8em;
            font-weight: bold;
            flex-shrink: 0;
        }

        .step-title {
            font-size: 1.3em;
            color: #333;
            font-weight: 500;
        }

        .step-content {
            display: flex;
            gap: 20px;
            align-items: flex-start;
        }

        .step-text {
            flex: 1;
			    font-size: 16px;
        }

        .step-text p {
            font-size: 1.05em;
            color: #555;
            line-height: 1.8;
			    margin-left: 80px;
        }






.c-heading__main {
	display: relative;
	color: #2b2b2b;
	padding-bottom: 15px;
	font-size: 1.75rem;
	border-bottom: 1px solid #f08402;
	font-style: normal;
	font-weight: 500;
}

nav.navigation {
	text-align: center;
	padding: 0 0 50px 0;
	letter-spacing: normal;
}

nav.navigation a {
	display: inline-block;
	padding: 7px 5px;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	background-color: #F08302;
	min-width: 20px;
	text-decoration: none;
	color: #ffffff;
	line-height: 1em;
}


nav.navigation span.current {
	display: inline-block;
	padding: 7px 5px;
	-moz-border-radius: 50px;
	-webkit-border-radius: 50px;
	border-radius: 50px;
	background-color: #d6d6d6;
	min-width: 20px;
	text-decoration: none;
	color: #ffffff;
	line-height: 1em;
}


.postlist { margin-bottom: 50px; }
.blog-thumbnail { float: left; margin-right: 20px; }
.bloglist-thumbnail { float: left; margin-right: 20px; width: 200px; border: 1px solid #eee; }
.blogDetail a.more { 
	display: block;
	text-align: center;
	font-size: 13px;
	width: 8em;
	margin-left: auto;
	background:#66b791;
	background-size: 12px;
	color: #fff;
	line-height: 1em;
	padding: 5px 0px;
	border-radius: 3px;
}
.blogDetail .blogbloc { display: table-cell; }


.blogDetail span.label { 
	font-size: 14px;
	display: inline-block;
	line-height: 1em;
	padding: 5px 10px 5px;
	margin: 10px 0px;
	border-radius: 3px;
	text-align: center;
}
.blogDetail span.label.label_post_8 {
	border: 2px solid #E60012;
	color: #E60012;

}
.blogDetail span.label.label_post_9 {
	border: 2px solid #00A0E9;
	color: #00A0E9;

}
.blogDetail .date { color: #888; }
.kanren-thumbnail { width: 100px; float: left; margin-right: 10px; }
.kanren-thumbnail img { border: 1px solid #eee; }

#prevANDnext {
	border-top:2px double #f0dfd5;
	margin:25px 0 10px 0;
	padding:10px ;
	font-size:14px;
}

#prevANDnext .prev {
	float:  left;
	width:45%;
}

#prevANDnext .next {
	text-align: right;
	float:  right   ;
	width:45%;
}

.midashi-blog {
	clear: both;
	font-weight: 400;
	color: #333;
	padding: 5px 0px 10px 0px;
	margin-top: 50px;
	font-size: 18px;
	letter-spacing: 2px;
	line-height: 1.5em;
	border-bottom: 1px solid #F08402;
}
.kizittl.blogttl {
	font-size: 18px;
	margin: 20px 0px;
	padding: 10px;
	font-weight: 400;
	text-align: left;
	color: #3E3A39;
	border-bottom: 1px solid #F08402;
	padding-bottom: 5px;
}
#maincon { margin-bottom: 100px; }
/* form */
.contactform {
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 300;
	margin: 10px 0px 50px 0px;
	border: solid 0px #c99269;
	border-collapse:collapse;
	text-align: left;
	line-height: 1.5em;
	width: 100%;
	font-size: 16px;
	color: #333;
}
.contactform.contactform02 {
	margin: 0px 0px 0px 0px;	
}
.contactform th { border: solid 1px #eee; background:#F8F8F8; text-align: left; padding:10px 10px; font-weight: 400; width: 15em;}
.contactform td { border: solid 1px #eee; padding: 10px 10px; background-color: #fff;}
.contactform .hissu { color: #fff; display: inline-block; background: #ee0000; padding: 1px 5px; float: right; font-size: 14px;}
.contactform .spw { vertical-align: text-bottom; display: inline-block; line-height: 2em; }
.contactform .shubetu span.wpcf7-list-item { display: block; }
.contactform .radiolist span.wpcf7-list-item { display: block; }
.contactform td p { margin: 0px; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
textarea {
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 300;
	margin: 0;
	max-width: 100%;
	width: 300px;
	outline: none;
	border: 1px solid #aaa;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	vertical-align: bottom;
	font-size: 16px;
	line-height: 1.8em;
	padding: 2px 5px;
}

input[name="hope"] {
	border: 0px solid #ddd;
}
span.wpcf7-list-item { margin: 0px 1em 0px 0px !important; }
.yobo span.wpcf7-list-item,
.kibosiryou span.wpcf7-list-item { display: block; }
.wpcf7-form-control-wrap { line-height: 2em; }
input#zip { width: 8em !important; }
input.year { width: 4em; margin-left: 10px; margin-right: 3px;}
input.month { width: 2em; margin-left: 10px; margin-right: 3px;}
input#addr2 { width: 80%;}

input[type="date"] {
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 300;
	font-size: 16px;
}

#text-18 { width: 98%; border: 0px; }
select {
	margin: 0;
	margin-bottom: 0px;
	max-width: 100%;
	font-size: 16px;
	line-height: 1.8em;
	border: 1px solid #aaa;
	padding: 4px 2px;
	border-radius: 2px;
}

select option {
}
input.age,
input#age {
	width: 2em;
}
.contactform td.item_age span.wpcf7-form-control-wrap:after {
	content: " 人";
}
textarea { width: 90%; }

div.wpcf7 .wpcf7-submit:disabled {
	background: #aaa;
	border-color: #aaa;
	color: #ddd;
}

.wpcf7-form input[type=button],
.wpcf7-form input[type=submit]{
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 300;
	background:#537610;
	transition:all 0.3s;
	margin: 0px auto 0px;
	color:#fff;
	font-size: 24px;
	padding: 15px 50px;
	display: inline-block;
	cursor: pointer;
	border: 2px solid #537610;
	border-radius: 10px;
	box-shadow: 2px 2px 2px #ddd;
}

.main-title {
	font-size: 28px;
	color: #f08402;
	font-weight: bold;
	margin-bottom: 1em;
	letter-spacing: 1px;
	line-height: 1.5em;
}

.sttl {
	margin-bottom: 1em;
	background: #eee;
	text-align: left;
	padding: 25px 20px;
	font-size: 28px;
}

.hero-section {
	background-color: #f3b32a;
	padding: 20px 0 10px;
	text-align: center;
}

.hero-section h2 {
	font-size: 2.5em;
	color: #32373c;
	margin: 5px;
	font-weight: 500;
	line-height: 1.5em;
}

.hero-section .tagline {
	font-size: 1.5rem;
	color: #2b2b2b;
}

.concept-history h2 {
	font-size: 1.5em;
	margin-bottom: 20px;
}

.timeline {
	display: flex;
	justify-content: center;
	gap: 50px;
	margin-top: 30px;
	padding-bottom: 30px;
}

.timeline .event {
	border-left: 3px solid #e67e22;
	padding-left: 20px;
	text-align: left;
}

.timeline .year {
	display: block;
	font-size: 1.2rem;
	font-weight: 700;
	color: #e67e22;
	margin-bottom: 5px;
}

.logo-section {
	text-align: center;
	padding: 60px 0;
	background-color: #fff;
	border-bottom: 1px solid #eee;
}

.logo-image {
	width: 150px;
	height: 150px;
	background-color: #f0f0f0;
	border-radius: 50%;
	margin-bottom: 30px;
	display: inline-block;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.logo-details {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.detail-box {
	width: 45%;
	max-width: 400px;
	padding: 20px;
	background-color: #fffaf0;
	border-left: 5px solid #e67e22;
	text-align: left;
}

.detail-box h3 {
	color: #e67e22;
	margin-top: 0;
}

.wa-section {
	padding: 80px 0;
	text-align: center;
	border-bottom: 1px solid #ddd;
}

.wa-section h2 {
	font-size: 2.5em;
	margin: 10px 0;
	color: #2b2b2b;
	letter-spacing: 2px;
}

.wa-section h2 span {
	font-size: 1.5rem;
	vertical-align: top;
	margin-left: 5px;
	color: #e67e22;
}

.wa-section .wa-number {
	display: block;
	font-size: 1rem;
	color: #666;
	margin-bottom: 5px;
}

.wa-section .core-message {
	font-size: 1.3rem;
	font-weight: 400;
	color: #e67e22;
	margin-bottom: 40px;
}

.wa-kazu {
	background-color: #fff;
}

.merit-list {
	display: flex;
	gap: 30px;
	margin-top: 40px;
}

.merit-item {
	flex: 1;
	border: 2px solid #F08400;
	padding: 15px;
	border-radius: 8px;
	background-color: #fffaf0;
	text-align: left;

}

.merit-item h3 {
	color: #F08400;
	font-size: 1.2rem;
	margin-top: 0;
	text-align: center;
}

.merit-item i {
	display: inline-block;
	width: 40px;
	height: 40px;
	background-color: #e67e22;
	border-radius: 50%;
	margin-bottom: 15px;
	color: #fff;
	font-style: normal;
	font-size: 20px;
	line-height: 40px;
	text-align: center;
}

.wa-rin {
	background-color: #fcfcfc;
}

.wa-3 {
	font-size: 26px; 
	line-height: 0.6em;
	margin-bottom: 30px;
	color: #f3b32a;
	margin-top: 30px;
	padding: 20px 20px;
	font-weight: 500;
}

.process-flow {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-top: 40px;
	flex-wrap: wrap;
}

.process-flow .step {
	width: 19%;
	padding: 15px;
	border: 2px solid #F08400;
	border-radius: 50px;
	position: relative;
	background-color: #fff;
	text-align: center;
}
.process-flow .step p { margin: 0px; }
.process-flow .step h3 {
	margin: 0;
	font-size: 0.9em;
	font-weight: 600;
}

.process-flow .step-num {
	display: inline-block;
	background-color: #F08400;
	color: #fff;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	line-height: 25px;
	font-size: 0.9rem;
	position: absolute;
	top: -12px;
	left: -12px;
}

.process-flow .step-arrow {
	font-size: 1.5rem;
	color: #e67e22;
}

.wa-hanashi {
	background-color: #fff;
}

.magic-list {
	max-width: 600px;
	margin: 0 auto;
	text-align: left;
	margin-top: 40px;
}

.magic-list p {
	font-weight: 700;
	color: #F08400;
	margin-bottom: 15px;
}

.magic-list ul {
	list-style: none;
	padding: 0;
}

.magic-list li {
	padding: 10px 0;
	border-bottom: 1px dashed #ccc;
	font-size: 1.1rem;
}

.magic-list li:last-child {
	border-bottom: none;
}

.check-mark {
	color: #e67e22;
	font-weight: 700;
	margin-right: 10px;
}

.area-section {
	padding: 60px 0;
	background-color: #f0f4f7;
	text-align: center;
}

.area-section h2 {
	color: #333;
}

.important-note {
	display: inline-block;
	background-color: #ffcc00;
	color: #333;
	padding: 5px 15px;
	font-weight: 700;
	margin-bottom: 20px;
	border-radius: 3px;
}

.area-section p {
	max-width: 700px;
	margin: 15px auto;
}

.cta-section {
	padding: 80px 0;
	background-color: #F08400;
	color: #fff;
	text-align: center;
}

.cta-section h2 {
	font-size: 2.5rem;
	margin-bottom: 40px;
	color: #fff;
}

.value-summary p {
	font-size: 1.1rem;
	margin: 10px 0;
}

.value-summary strong {
	color: #ffeb3b;
}

.final-message {
	font-size: 1.2rem;
	margin: 30px 0 50px;
}

.mid-con02 {
font-size: 26px;
    line-height: 1.0em;
    margin-bottom: 20px;
    margin-top: 30px;
    background-color: #fff8e5;
    padding: 20px 20px;
    border-left: 6px solid #f08402;
    font-weight: 500;
}

/* css追加をここの上に記載 */

@media (max-width: 1500px) {
	.wrappertop {
		margin-left: 1%;
		margin-right: 1%;
	}
	.wrapper02 {
		margin-left: 2%;
		margin-right: 2%;
	}
}

@media (max-width: 1440px) {
	.menu span.wrap, .menu a { font-size: 15px; }
	.headerbox .logo img { max-width: 300px; }
}
@media (max-width: 1250px) {
	.wrapper03 { max-width: 100%; }
	body {min-width: 1250px; overflow-x: auto; }
	.menu span.wrap, .menu a { font-size: 11px; }
	.headerbox .logo img { max-width: 200px; }
}
@media (max-width: 1100px) {
	.flex-direction-nav .flex-next { right: 0px!important; }
	.flex-direction-nav .flex-prev { left: 0px!important; }
	.menu span.wrap, .menu a { font-size: 10px; }
	.headerbox .logo img { max-width: 150px; }	
}
@media (max-width: 767px) {
	#yfaq .term {
		grid-template-columns: 1fr;
	}
	#yfaq .term a {
		font-size: 14px;
	}
	#yfaq .inner h4 span.switchHat { font-size: 13px; }
}
/****************************************************
* 端末ごとの調整で、PCのcssはここ以下に追加しない
*****************************************************/