@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap');
/* 使用フォント：日本語 Zen Maru Gothic ／ 英数字・英語見出し Montserrat */
:is(body,.cotonari){--font-ja:"Zen Maru Gothic",sans-serif;--font-en:Montserrat,sans-serif;}
/* CSS Document */

.main-wrap {
  overflow: hidden;
}
.nowhite{
    white-space: nowrap;
}

.font400 {
  font-weight: 400;
}
.font500 {
  font-weight: 500;
}
.lineheight22 {
  line-height: 2.2;
  letter-spacing: 0.08em;
  font-weight: 400;
}
.txtwhite {
  color: #fff;
}
.color1 {
  color: #404040;
}
.color2 {
  color: rgba(51, 51, 51, 0.70);
}
.color3 {
  color: #f29d5f;
}
.bg1{
  position: relative;
  background:
    url("https://cotonari.jp/system_panel/uploads/images/right1.png") right top / max(42%, 400px) auto no-repeat;
  overflow: hidden;
}
.bg2{
  position: relative;
  background:
    url("https://cotonari.jp/system_panel/uploads/images/left1.png") left top / max(42%, 400px) auto no-repeat;
  overflow: hidden;
}
.bg3{
  background: #F3EFE4;
}

.mincho {
  font-family: "Zen Old Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}
.serif {
  font-family: "Noto Serif JP", "Zen Old Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
}

.fontnoto {
  font-family: "Noto Sans JP", "Noto Sans", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.zenkaku {
  font-family: "Zen Kaku Gothic New", "Noto Sans", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.fontsen {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.entitle0 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(56px, 6vw, 72px);
  letter-spacing: 0.08em;
}

.entitle1 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(40px, 4vw, 57px);
  letter-spacing: 0.12em;
}

.entitle2 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(34px, 5vw, 46px);
  letter-spacing: 0.1em;
}

.entitle3 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(22px, 3vw, 28px);
  letter-spacing: 0.08em;
}

.entitle4 {
  font-family: "JetBrains Mono", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: clamp(18px, 3vw, 22px);
  letter-spacing: 0.08em;
}

.default_title1 {
  font-size: clamp(28px, 3.2vw, 44px);
}
.default_title2 {
  font-size: clamp(22px, 3.0vw, 32px);
}
.default_title3 {
  font-size: clamp(18px, 2.8vw, 28px);
}
.default_title4 {
  font-size: clamp(18px, 1.8vw, 22px);
}

.default_txt1{
  font-size: clamp(15px, 1.4vw, 18px);
}
.default_txt2{
  font-size: clamp(12px, 1.2vw, 14px);
}

.default_txt3 {
  font-size: clamp(12px, 1.2vw, 14px);
}

.mg_b_1 {
  margin-bottom: 150px;
}
.mg_b_2 {
  margin-bottom: 100px;
}
.mg_b_3 {
  margin-bottom: 80px;
}
.mg_b_4 {
  margin-bottom: 50px;
}
.mg_b_5 {
  margin-bottom: 30px;
}
@media screen and (max-width: 1080px) {
  .mg_b_1 {
    margin-bottom: 100px;
  }
  .mg_b_2 {
    margin-bottom: 80px;
  }
  .mg_b_3 {
    margin-bottom: 60px;
  }
  .mg_b_4 {
    margin-bottom: 40px;
  }
  .mg_b_5 {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 576px) {
  .mg_b_1 {
    margin-bottom: 80px;
  }
  .mg_b_2 {
    margin-bottom: 60px;
  }
  .mg_b_3 {
    margin-bottom: 50px;
  }
  .mg_b_4 {
    margin-bottom: 30px;
  }
  .mg_b_5 {
    margin-bottom: 20px;
  }
}
.mg_t_1 {
  margin-top: 150px;
}
.mg_t_2 {
  margin-top: 100px;
}
.mg_t_3 {
  margin-top: 80px;
}
.mg_t_4 {
  margin-top: 50px;
}
.mg_t_5 {
  margin-top: 30px;
}
@media screen and (max-width: 1080px) {
  .mg_t_1 {
    margin-top: 100px;
  }
  .mg_t_2 {
    margin-top: 80px;
  }
  .mg_t_3 {
    margin-top: 60px;
  }
  .mg_t_4 {
    margin-top: 40px;
  }
  .mg_t_5 {
    margin-top: 30px;
  }
}
@media screen and (max-width: 576px) {
  .mg_t_1 {
    margin-top: 80px;
  }
  .mg_t_2 {
    margin-top: 60px;
  }
  .mg_t_3 {
    margin-top: 50px;
  }
  .mg_t_4 {
    margin-top: 30px;
  }
  .mg_t_5 {
    margin-top: 20px;
  }
}
.pd_wrap {
  padding: 150px 80px 0;
}
.pd_wrap_all {
  padding: 150px 80px 150px;
}
.pd_wrap_side {
  padding-left: 80px;
  padding-right: 80px;
}
.pd_wrap_t {
  padding-top: 150px;
}
.pd_wrap_b {
  padding-bottom: 150px;
}
.pd_wrap_tb {
  padding-top: 150px;
  padding-bottom: 150px;
}
@media screen and (max-width: 1280px) {
  .pd_wrap {
    padding: 150px 60px 0;
  }
  .pd_wrap_all {
    padding: 150px 60px 150px;
  }
  .pd_wrap_side {
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media screen and (max-width: 768px) {
  .pd_wrap {
    padding: 100px 50px 0;
  }
  .pd_wrap_all {
    padding: 100px 50px 100px;
  }
  .pd_wrap_side {
    padding-left: 50px;
    padding-right: 50px;
  }
  .pd_wrap_t {
    padding-top: 100px;
  }
  .pd_wrap_b {
    padding-bottom: 100px;
  }
  .pd_wrap_tb {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 576px) {
  .pd_wrap {
    padding: 80px 20px 0;
  }
  .pd_wrap_all {
    padding: 80px 20px 80px;
  }
  .pd_wrap_side {
    padding-left: 20px;
    padding-right: 20px;
  }
  .pd_wrap_t {
    padding-top: 80px;
  }
  .pd_wrap_b {
    padding-bottom: 80px;
  }
  .pd_wrap_tb {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

html{
}
body{
	font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;
	background-color: #fff;
	color: #000000;
}

body .bg_img_wrap {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
:is(body,.cotonari):has(.header.on) .bg_img_wrap .bg_img{
	display: none;
}
body .bg_img_wrap2 {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
:is(body,.cotonari):has(.header.on) .bg_img_wrap2 > img{
	display: none;
}

a{
	display: inline-block;
	transition: ease 0.3s;
}
a:hover{
	opacity: 0.5;
}
a p,a,a i{
	color: #000000;
}
.font-medium{font-weight: 500;}
.font-semibold{font-weight: 600;}
.font-black{font-weight: 900;}

.cate_wrap > .cate{
	padding-top: 150px;
}

/* ---------- common ---------- */

/* ---------- header ---------- */
.header{
}

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

/* ANIME */
.sc-anime.topin.on{
	opacity:0;
	transform: translateY(-50px);
}
.sc-anime.topin.on.active{
	animation-name: topin;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.sc-anime.bottomin.on{
	opacity:0;
	transform: translateY(50px);
}
.sc-anime.bottomin.on.active{
	animation-name: bottomin;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.sc-anime.leftin.on{
	opacity:0;
	transform: translateX(-50px);
}
.sc-anime.leftin.on.active{
	animation-name: leftin;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.sc-anime.rightin.on{
	opacity:0;
	transform: translateX(50px);
}
.sc-anime.rightin.on.active{
	animation-name: rightin;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.sc-anime.fadein.on{
	opacity:0;
}
.sc-anime.fadein.on.active{
	animation-name: fadein;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.sc-anime.blurin.on{
	opacity:0;
	-ms-filter: blur(6px);
	filter: blur(6px);
}
.sc-anime.blurin.on.active{
	animation-name: blurin;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}
.sc-anime.blurin2.on{
	opacity:0;
	transform: translateY(50px);
	-ms-filter: blur(6px);
	filter: blur(6px);
}
.sc-anime.blurin2.on.active{
	animation-name: blurin2;
	animation-duration: 1.2s;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}

@keyframes topin {
	0% {
		opacity:0;
		transform: translateY(-50px);
	}
	100% {
		opacity:1;
		transform: translateY(0px);
	}
}
@keyframes bottomin {
	0% {
		opacity:0;
		transform: translateY(50px);
	}
	100% {
		opacity:1;
		transform: translateY(0px);
	}
}
@keyframes leftin {
	0% {
		opacity:0;
		transform: translateX(-50px);
	}
	100% {
		opacity:1;
		transform: translateX(0px);
	}
}
@keyframes rightin {
	0% {
		opacity:0;
		transform: translateX(50px);
	}
	100% {
		opacity:1;
		transform: translateX(0px);
	}
}
@keyframes upin {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes fadein {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}
@keyframes fadeout {
	0% {
		opacity:1;
	}
	100% {
		opacity:0;
	}
}
@keyframes blurin {
	0% {
		opacity: 0;
		-ms-filter: blur(6px);
		filter: blur(6px);
	}
	100% {
		opacity:1;
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
}
@keyframes blurin2 {
	0% {
		opacity: 0;
		transform: translateY(50px);
		-ms-filter: blur(6px);
		filter: blur(6px);
	}
	100% {
		opacity:1;
		transform: translateY(0px);
		-ms-filter: blur(0px);
		filter: blur(0px);
	}
}

/* color */
.txt-color-normal{color: #000000;}
.txt-white{color: #ffffff;}
.txt-red{color: red;}
.txt-color1{color: #FFE93C}
.txt-color2{color: #F1F1E9}
.txt-color3{color: #021745}
.txt-color4{color: #EBF5E5}
.bg-white{background-color: #ffffff;}
.bg-black{background-color: black}
.bg-color1{background-color: #FFE93C}
.bg-color2{background-color: #F1F1E9}
.bg-color3{background-color: #021745}
.bg-color4{background-color: #EBF5E5}
.border-color1{border-color: #FFE93C}
.border-color2{border-color: #F1F1E9}
.border-color3{border-color: #021745}
.border-color4{border-color: #EBF5E5}

.hvr-txt-color-normal:hover{color: #000000;}
.hvr-txt-white:hover{color: #ffffff;}
.hvr-txt-red:hover{color: red;}
.hvr-txt-color1:hover{color: #FFE93C}
.hvr-txt-color2:hover{color: #F1F1E9}
.hvr-txt-color3:hover{color: #021745}
.hvr-txt-color4:hover{color: #EBF5E5} 
.hvr-bg-white:hover{background-color: #ffffff;}
.hvr-bg-black:hover{background-color: black}
.hvr-bg-color1:hover{background-color: #FFE93C}
.hvr-bg-color2:hover{background-color: #F1F1E9}
.hvr-bg-color3:hover{background-color: #021745}
.hvr-bg-color4:hover{background-color: #EBF5E5}
.hvr-border-color1:hover{border-color: #FFE93C}
.hvr-border-color2:hover{border-color: #F1F1E9}
.hvr-border-color3:hover{border-color: #021745}
.hvr-border-color4:hover{border-color: #EBF5E5}

/* ---------- IEのみ ---------- */

/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.pd_wrap{
		padding: 150px 60px 0;
	}
	.pd_wrap_all{
		padding: 150px 60px 150px;
	}
	.pd_wrap_side{
		padding-left: 60px;
		padding-right: 60px;
	}
/* ---------- common ---------- */
/* ---------- header ---------- */
/* ---------- footer ---------- */
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
/* ---------- common ---------- */
/* ---------- header ---------- */
/* ---------- footer ---------- */
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
	.pd_wrap{
		padding: 100px 50px 0;
	}
	.pd_wrap_all{
		padding: 100px 50px 100px;
	}
	.pd_wrap_side{
		padding-left: 50px;
		padding-right: 50px;
	}
	.cate_wrap > .cate{
		padding-top: 100px;
	}
/* ---------- common ---------- */
/* ---------- header ---------- */
/* ---------- footer ---------- */
}
/* ---------- スマートフォン ---------- */
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	.pd_wrap{
		padding: 80px 20px 0;
	}
	.pd_wrap_all{
		padding: 80px 20px 80px;
	}
	.pd_wrap_side{
		padding-left: 20px;
		padding-right: 20px;
	}
	.cate_wrap > .cate{
		padding-top: 80px;
	}
/* ---------- common ---------- */
/* ---------- header ---------- */
/* ---------- footer ---------- */
}
/* ---------- 350px ~ ---------- */

/* cotonariの基本余白 */
:is(body,.cotonari){--wrap-space:clamp(40px,6.94vw,100px);--wrap-side:clamp(20px,5.56vw,80px);}

/* 共通の余白：pd_wrap */

/* 本文の共通設定。タイトルはdefault_title / entitleで指定 */
h1,h2,h3,h4,h5,h6,p,li,a{font-size:16px;font-weight:500;margin:0;line-height:1.6;}
@media(max-width:576px){p,li,a{font-size:14px;}}
:is(body,.cotonari){--wrap-space:150px;--wrap-side:80px;}
:is(body,.cotonari) .section.pd_wrap_all{padding:var(--wrap-space) var(--wrap-side)!important;}
:is(body,.cotonari) .pd_wrap_side{padding-inline:var(--wrap-side)!important;}
:is(body,.cotonari) .pd_wrap_t{padding-top:var(--wrap-space)!important;}
:is(body,.cotonari) .pd_wrap_b{padding-bottom:var(--wrap-space)!important;}
:is(body,.cotonari) .pd_wrap_tb{padding-block:var(--wrap-space)!important;}
@media(max-width:1280px){:is(body,.cotonari){--wrap-side:60px;}}
@media(max-width:768px){:is(body,.cotonari){--wrap-space:100px;--wrap-side:50px;}}
@media(max-width:576px){:is(body,.cotonari){--wrap-space:80px;--wrap-side:20px;}}

:is(body,.cotonari) .default_title1{font-size:clamp(28px,3.2vw,44px);font-weight:700;}
:is(body,.cotonari) .default_title3{font-size:clamp(18px,2.8vw,28px);font-weight:700;}
:is(body,.cotonari) .default_title4{font-size:clamp(18px,1.8vw,22px);font-weight:700;}

/* ===== cotonari：全ページ共通のレイアウト・パーツ ===== */
:is(body,.cotonari){background:#fcfaf8;color:#3d3732;font-family:"Zen Maru Gothic", sans-serif;line-height:1.8;}
:is(body,.cotonari) *{box-sizing:border-box}
:is(body,.cotonari) p,:is(body,.cotonari) h1,:is(body,.cotonari) h2,:is(body,.cotonari) h3{margin:0}
:is(body,.cotonari) a{color:inherit;text-decoration:none;transition:color .35s, background-color .35s, opacity .35s}
:is(body,.cotonari) img{vertical-align:middle}
:is(body,.cotonari) .main-wrap{overflow:clip}
:is(body,.cotonari) .section{position:relative}
:is(body,.cotonari) .section > .row,:is(body,.cotonari) .section > .column{width:100%}
:is(body,.cotonari) .row{min-width:0;gap:clamp(16px, 3vw, 60px)}
:is(body,.cotonari) .row > *{min-width:0;flex-shrink:1}
:is(body,.cotonari) .imgbox{flex-shrink:1}
:is(body,.cotonari) .column{min-width:0}
:is(body,.cotonari) .decoration{pointer-events:none}
:is(body,.cotonari) .heading{font-weight:700}
:is(body,.cotonari) .wave{line-height:0}
:is(body,.cotonari) .header{position:relative;z-index:30;padding:10px 20px;background:#fdf7e7}
:is(body,.cotonari) .header_inner{display:flex;align-items:center;gap:24px;background:white;min-height:80px;border-radius:100px;padding:5px 36px;box-shadow:0 4px 15px #3d37320a}
:is(body,.cotonari) .logo{margin-right:auto;flex:0 0 130px}
:is(body,.cotonari) .logo img{width:130px;height:auto;display:block}
:is(body,.cotonari) .head_menu{display:flex;gap:clamp(14px, 2vw, 30px);text-align:center}
:is(body,.cotonari) .head_menu span{color:#f29d5f;font-family:Montserrat, sans-serif;font-weight:700}
:is(body,.cotonari) .menu-bt{flex:0 0 30px;display:block}
:is(body,.cotonari) .menu-lines{display:grid;gap:7px}
:is(body,.cotonari) .menu-lines > div{height:2px;background:#3d3732}
:is(body,.cotonari) .menu-wrap{display:none;position:fixed;inset:0;z-index:50;background:#fdf7e7;overflow:auto;padding:60px 20px}
:is(body,.cotonari) .menu-wrap.active{display:block}
:is(body,.cotonari) .menu-inner{max-width:800px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}
:is(body,.cotonari) .menu-inner > a{padding:12px;border-bottom:1px solid #e6dace}
:is(body,.cotonari) .menu-close{grid-column:1/-1;justify-self:end}
:is(body,.cotonari):not(:has(.header.on)) .decoration{display:none}
:is(body,.cotonari):has(.header.on) .sc-anime.blurin2{opacity:1}
:is(body,.cotonari) .sc-anime.blurin2{opacity:1}
:is(body,.cotonari) .column > p.txt-left-tb{white-space:normal}
:is(body,.cotonari) .component-hero-image{position:absolute;display:block;inset:0;width:100%;height:100%;object-fit:cover}
:is(body,.cotonari) .component-hero-shape-tertiary{position:absolute;inset:0 -0.02% 0.02% 0}
:is(body,.cotonari) .component-hero-image-secondary{position:absolute;display:block;inset:0}
:is(body,.cotonari) .component-hero-shape-alternate{position:absolute;inset:52.94% 9.95% 28.34% 77.61%;overflow:clip}
:is(body,.cotonari) .component-hero-shape-accent{position:absolute;display:contents;inset:0 0.03% 0 0}
:is(body,.cotonari) .component-hero-shape-compact{position:absolute;inset:0 0.03% 0 0}
:is(body,.cotonari) .component-hero-shape-detail{position:absolute;inset:0 0.01% 0.01% 0}
:is(body,.cotonari) .component-hero-shape-ca{position:absolute;inset:0 -0.01% 0 0}
:is(body,.cotonari) .component-hero-shape-cc{position:absolute;inset:0 -14.05% -29.94% 0}
:is(body,.cotonari) .component-hero-shape-ce{position:absolute;inset:0 -0.02% -0.02% 0.01%}
:is(body,.cotonari) .component-hero-content-accent{font-family:"Zen Maru Gothic", sans-serif;position:relative;color:#6b5e56;width:100%}
:is(body,.cotonari) .component-about-layout{display:flex;align-items:center;justify-content:space-between;position:relative;width:1220px;max-width:100%}
:is(body,.cotonari) .component-instagram-content-accent{display:flex;flex-direction:column;align-items:flex-start;position:relative}
:is(body,.cotonari) .component-about-shape-tertiary{position:absolute;inset:0 -56.05% -57.68% 0}
:is(body,.cotonari) .component-index-shape{position:absolute;display:flex;height:120px;align-items:center;justify-content:center;left:0;top:0;width:1440px;max-width:100%}
:is(body,.cotonari) .component-index-content-tertiary{height:120px;position:relative;width:1440px;max-width:100%}
:is(body,.cotonari) .component-service-content{display:flex;flex-direction:column;align-items:center;padding-top:clamp(20px, 5.56vw, 80px);padding-bottom:clamp(20px, 5.56vw, 80px);position:relative;width:100%;min-height:0}
:is(body,.cotonari) .component-service-content-secondary{display:flex;flex-direction:column;align-items:center;position:relative;width:1220px;max-width:100%}
:is(body,.cotonari) .component-service-content-tertiary{display:flex;flex-direction:column;align-items:flex-start;padding-bottom:clamp(20px, 3.47vw, 50px);position:relative;width:100%}
:is(body,.cotonari) .component-service-content-supplement{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;width:520px;max-width:100%}
:is(body,.cotonari) .component-service-heading-secondary{display:flex;flex-direction:column;gap:0px;align-items:flex-start;position:relative;width:520px;max-width:100%}
:is(body,.cotonari) .component-service-layout-secondary{display:flex;gap:10px;align-items:center;justify-content:center;position:relative}
:is(body,.cotonari) .component-service-content-compact{position:relative;width:10px;height:10px}
:is(body,.cotonari) .component-service-content-wide{display:flex;flex-direction:column;align-items:flex-start;padding-top:clamp(20px, 2.08vw, 30px);padding-bottom:clamp(20px, 2.08vw, 30px);position:relative;width:518px;max-width:100%}
:is(body,.cotonari) .component-service-image{position:absolute;inset:0;object-fit:cover;pointer-events:none;border-radius:clamp(14px, 3vw, 70px);width:100%;height:100%}
:is(body,.cotonari) .component-staff-content{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding-bottom:clamp(20px, 3.47vw, 50px);position:relative;width:100%}
:is(body,.cotonari) .component-staff-content-secondary{display:flex;align-items:center;justify-content:center;position:relative;width:100%}
:is(body,.cotonari) .component-news-content-secondary{display:flex;flex-direction:column;align-items:center;position:relative;width:100%}
:is(body,.cotonari) .component-news-layout{display:flex;align-items:center;justify-content:space-between;position:relative;width:100%}
:is(body,.cotonari) .component-instagram-content{background:#fdf7e7;position:relative;width:100%;max-width:100%;min-height:0}
:is(body,.cotonari) .component-instagram-shape{position:absolute;inset:0 0 -0.29% 0}
:is(body,.cotonari) .instagram-content{position:absolute;background:#fdf7e7;display:flex;flex-direction:column;align-items:center;left:0;padding-bottom:clamp(20px, 6.94vw, 100px);padding-top:clamp(20px, 5.56vw, 80px);right:0;top:119px}
:is(body,.cotonari) .instagram-layout{display:flex;gap:clamp(20px, 4.86vw, 70px);align-items:center;max-width:1400px;padding-left:clamp(20px, 4.17vw, 60px);padding-right:clamp(20px, 4.17vw, 60px);position:relative}
:is(body,.cotonari) .component-instagram-content-tertiary{display:flex;flex-direction:column;align-items:flex-start;padding-right:clamp(20px, 3.33vw, 48px);position:relative;width:280px;max-width:100%}
:is(body,.cotonari) .component-instagram-layout{display:flex;gap:11.25px;align-items:center;position:relative;width:100%}
:is(body,.cotonari) .component-instagram-content-alternate{position:relative;width:30px;height:30px}
:is(body,.cotonari) .component-instagram-content-compact{display:flex;flex-direction:column;height:39px;align-items:flex-start;padding-top:15px;position:relative;width:232px;max-width:100%}
:is(body,.cotonari) .component-instagram-content-wide{display:flex;flex-direction:column;height:59.5px;align-items:flex-start;padding-bottom:clamp(20px, 2.08vw, 30px);padding-top:7.5px;position:relative;width:232px;max-width:100%}
:is(body,.cotonari) .component-instagram-content-detail{height:52px;position:relative;width:100%}
:is(body,.cotonari) .component-about-image{position:absolute;inset:0;object-fit:cover;pointer-events:none;border-radius:clamp(14px, 3vw, 50px);width:100%;height:100%}
@media(max-width:1080px){
:is(body,.cotonari) .head_menu{display:none}
}
@media(max-width:900px){
:is(body,.cotonari) .section > .row,:is(body,.cotonari) .section > .column{max-width:calc(100% - 48px)}
:is(body,.cotonari) .row{flex-wrap:wrap}
}
@media(max-width:768px){
:is(body,.cotonari) .header{padding:8px 12px}
:is(body,.cotonari) .header_inner{padding:6px 20px;min-height:66px;gap:18px}
:is(body,.cotonari) .header_contact{display:none}
:is(body,.cotonari) .logo,:is(body,.cotonari) .logo img{width:110px;flex-basis:110px}
:is(body,.cotonari) .section{height:auto !important;min-height:0 !important;padding-left:20px;padding-right:20px}
:is(body,.cotonari) .section > .row,:is(body,.cotonari) .section > .column{max-width:100%}
:is(body,.cotonari) .row{flex-direction:column;align-items:stretch;gap:28px}
:is(body,.cotonari) .row > *,:is(body,.cotonari) .column{max-width:100%;height:auto !important}
:is(body,.cotonari) .txtbox{height:auto !important}
:is(body,.cotonari) .imgbox{height:auto !important;width:100%;max-width:100%}
:is(body,.cotonari) .imgbox > img{position:absolute !important;inset:0 !important;width:100%;height:100%;transform:none !important}
:is(body,.cotonari) .grid{max-width:100%}
:is(body,.cotonari) .positioned:not(.decoration){position:relative;inset:auto;transform:none;max-width:100%}
:is(body,.cotonari) .decoration{opacity:.65}
:is(body,.cotonari) .section .heading{max-width:100%}
:is(body,.cotonari) .section .heading p{white-space:normal}
:is(body,.cotonari) .txt-left-tb{text-align:left !important}
:is(body,.cotonari) .menu-inner{grid-template-columns:1fr}
}
@media(max-width:576px){
:is(body,.cotonari) .section{padding-left:16px;padding-right:16px}
}
:is(body,.cotonari) .form-section{padding:clamp(50px, 6vw, 100px) clamp(20px, 5vw, 60px);background:#fdf7e7}
:is(body,.cotonari) .form-inner{max-width:1000px;margin:auto}
:is(body,.cotonari) .form-title{text-align:center;margin-bottom:30px}
:is(body,.cotonari) .form-title > p{font-family:Montserrat, sans-serif;color:#f29d5f;letter-spacing:.12em;font-weight:700;margin-bottom:12px}
:is(body,.cotonari) .form-intro{text-align:center;margin-bottom:50px;line-height:1.9}
:is(body,.cotonari) .contact-form .box{display:grid;grid-template-columns:270px minmax(0, 1fr);gap:30px;align-items:start;margin-bottom:40px}
:is(body,.cotonari) .contact-form .box > h3{font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:10px}
:is(body,.cotonari):has(.header.on) .required-box > h3::after{content:'必須';display:block;background:#f29d5f;color:#fff;padding:3px 20px;border-radius:3px;white-space:nowrap}
:is(body,.cotonari) .contact-form .inputbox input:not([type=radio]):not([type=checkbox]):not([type=file]),:is(body,.cotonari) .contact-form .inputbox textarea{width:100%;min-width:0;background:#fff;border:1px solid #e8ddce;padding:12px 18px;color:#3d3732;font:inherit;border-radius:0}
:is(body,.cotonari) .contact-form .inputbox textarea{min-height:240px;resize:vertical}
:is(body,.cotonari) .contact-form .check-area input{width:20px;height:20px;accent-color:#f29d5f;flex-shrink:0}
:is(body,.cotonari) .contact-form .check-area{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin:40px 0}
:is(body,.cotonari) .privacy-bt{border-bottom:1px solid #f29d5f}
:is(body,.cotonari) .contact-form .send{text-align:center}
:is(body,.cotonari) .contact-form .send button{border:0;font:inherit;cursor:pointer}
:is(body,.cotonari) .form-status{margin-top:20px;text-align:center}
:is(body,.cotonari) .privacypolicy{display:none;padding:30px;margin-top:30px;border:1px solid #e8ddce;background:#fff}
:is(body,.cotonari) .privacypolicy.is-open{display:block}
:is(body,.cotonari) .privacypolicy h3{margin-bottom:15px}
@media(max-width:768px){
:is(body,.cotonari) .contact-form .box{grid-template-columns:minmax(0, 1fr);gap:12px;margin-bottom:28px}
:is(body,.cotonari) .contact-form .box > h3{justify-content:flex-start;padding-top:0}
:is(body,.cotonari) .contact-form .check-area{justify-content:flex-start;gap:6px}
:is(body,.cotonari) .wave{padding:0;height:auto !important;max-height:70px;overflow:hidden}
:is(body,.cotonari) .wave img{max-width:100%;height:auto}
:is(body,.cotonari) .grid:not(:has(.imgbox)){grid-template-columns:minmax(0, 1fr)}
}
:is(body,.cotonari) .instagram-section{min-height:510px}
:is(body,.cotonari) .header_contact > img{display:block}
@media(max-width:768px){
:is(body,.cotonari) .instagram-section{padding-top:70px;padding-bottom:50px}
:is(body,.cotonari) .section .grid{max-width:100%}
}
@media(max-width:768px){
:is(body,.cotonari) .section .row,:is(body,.cotonari) .section .column{width:100% !important;max-width:100% !important}
:is(body,.cotonari) .section .txtbox{max-width:100% !important}
:is(body,.cotonari) .section p,:is(body,.cotonari) .section h1,:is(body,.cotonari) .section h2,:is(body,.cotonari) .section h3{max-width:100% !important;white-space:normal}
:is(body,.cotonari) .section .grid > .txtbox{margin-left:0 !important;margin-top:0 !important;grid-column:auto;grid-row:auto}
:is(body,.cotonari) .instagram-section .row{align-items:stretch}
}
@media(max-width:768px){
:is(body,.cotonari) .section .grid:has(>.column){grid-template-columns:minmax(0, 1fr) !important;grid-template-rows:auto !important;gap:28px}
:is(body,.cotonari) .section .grid:has(>.column) > .column{grid-column:auto !important;grid-row:auto !important}
:is(body,.cotonari) .heading .grid > p{margin-left:0 !important;margin-top:0 !important;width:100% !important;grid-column:1}
}
:is(body,.cotonari) .wave{min-height:120px}
@media(max-width:768px){
:is(body,.cotonari) .wave{min-height:50px !important;height:50px !important}
}
:is(body,.cotonari) .header_mail{width:24px;flex:0 0 24px;position:relative}
:is(body,.cotonari) .header_mail img{display:block;position:static;transform:none;}
:is(body,.cotonari) .header_contact{flex-shrink:0}
:is(body,.cotonari) .header_contact p{white-space:nowrap}
:is(body,.cotonari) .page-hero h1,:is(body,.cotonari) .page-hero .heading p{line-height:1.3}
@media(max-width:900px){
:is(body,.cotonari) .section{height:auto !important;min-height:0 !important;padding-left:24px;padding-right:24px}
:is(body,.cotonari) .section .row,:is(body,.cotonari) .section .column{width:100% !important;max-width:100% !important;height:auto !important}
:is(body,.cotonari) .section .row{flex-direction:column;align-items:stretch;gap:0px}
:is(body,.cotonari) .section .txtbox{max-width:100% !important;height:auto !important}
:is(body,.cotonari) .section p,:is(body,.cotonari) .section h1,:is(body,.cotonari) .section h2,:is(body,.cotonari) .section h3{max-width:100% !important;white-space:normal}
:is(body,.cotonari) .section .positioned:not(.decoration){position:relative;inset:auto;transform:none;max-width:100%}
:is(body,.cotonari) .section .imgbox{height:auto !important;width:100%;max-width:100%}
:is(body,.cotonari) .section .imgbox > img{position:absolute !important;inset:0 !important;width:100%;height:100%;transform:none !important}
:is(body,.cotonari) .section .grid{max-width:100%}
:is(body,.cotonari) .section .grid:has(>.column){grid-template-columns:minmax(0, 1fr) !important;grid-template-rows:auto !important;gap:28px}
:is(body,.cotonari) .section .grid:has(>.column) > .column{grid-column:auto !important;grid-row:auto !important}
:is(body,.cotonari) .section .grid > .txtbox{margin-left:0 !important;margin-top:0 !important;grid-column:auto;grid-row:auto}
:is(body,.cotonari) .heading .grid > p{margin-left:0 !important;margin-top:0 !important;width:100% !important;grid-column:1}
:is(body,.cotonari) .wave{padding:0;min-height:70px !important;height:70px !important;overflow:hidden}
:is(body,.cotonari) .contact-form .box{grid-template-columns:minmax(0, 1fr);gap:12px}
}
@media(max-width:576px){
:is(body,.cotonari) .section{padding-left:16px;padding-right:16px}
}
@media(max-width:900px){
:is(body,.cotonari) .section .grid.imgbox{display:block}
:is(body,.cotonari) .section .grid.imgbox > .imgbox{width:100% !important}
}
:is(body,.cotonari) .heading p{white-space:nowrap}
@media(max-width:900px){
:is(body,.cotonari) .heading p{white-space:normal}
}
:is(body,.cotonari):has(.header.on) .sc-anime.blurin2.active{animation:cnSoftIn .6s ease both}
@keyframes cnSoftIn{
from{opacity:0;filter:blur(2px)}
to{opacity:1;filter:blur(0)}
}
@media(prefers-reduced-motion:reduce){
:is(body,.cotonari):has(.header.on) .sc-anime.blurin2.active{animation:none}
:is(body,.cotonari) a{transition:none}
}
@media(max-width:768px){
:is(body,.cotonari) .header_contact{display:none !important}
}
:is(body,.cotonari) .menu-bt{position:relative}
:is(body,.cotonari) .menu_caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
:is(body,.cotonari){--header-space:100px}
:is(body,.cotonari) .header{position:fixed;inset:0 0 auto;z-index:100;background:transparent}
:is(body,.cotonari) .main-wrap{padding-top:var(--header-space)}
:is(body,.cotonari) .menu-bt{z-index:102;cursor:pointer;flex-basis:44px;width:44px;height:44px;display:flex;align-items:center;justify-content:center}
:is(body,.cotonari) .menu-lines{position:relative;display:block;width:26px;height:22px}
:is(body,.cotonari) .menu-lines > div{position:absolute;left:0;width:100%;height:2px;transition:transform .35s, opacity .35s, top .35s}
:is(body,.cotonari) .menu-lines > div:nth-child(1){top:1px}
:is(body,.cotonari) .menu-lines > div:nth-child(2){top:10px}
:is(body,.cotonari) .menu-lines > div:nth-child(3){top:19px}
:is(body,.cotonari) .menu-bt.active .menu-lines > div:nth-child(1){top:10px;transform:rotate(45deg)}
:is(body,.cotonari) .menu-bt.active .menu-lines > div:nth-child(2){opacity:0}
:is(body,.cotonari) .menu-bt.active .menu-lines > div:nth-child(3){top:10px;transform:rotate(-45deg)}
:is(body,.cotonari) .menu-wrap{display:block;z-index:90;inset:0;height:100dvh;padding:calc(var(--header-space) + 30px) clamp(24px, 6vw, 100px) 40px;background:#fcfaf8;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s, visibility .35s;overscroll-behavior:contain}
:is(body,.cotonari) .menu-wrap.active{opacity:1;visibility:visible;pointer-events:auto}
:is(body,.cotonari) .menu-inner{max-width:1000px;gap:8px 48px}
:is(body,.cotonari) .menu_ttl{grid-column:1/-1;color:#f29d5f;font-family:Montserrat, sans-serif;letter-spacing:.08em;margin-bottom:16px}
:is(body,.cotonari) .menu-inner > a:not(.menu-close){display:flex;align-items:center;gap:14px;padding:14px 0}
:is(body,.cotonari):has(.header.on) .menu-inner > a:not(.menu-close)::before{content:'›';display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#ffefe3;color:#f29d5f}
:is(body,.cotonari) .menu-inner > a:hover{color:#d57e40}
:is(body,.cotonari) .menu-close{display:none}
:is(body,.cotonari) .menu_foot{grid-column:1/-1;margin-top:28px}
:is(body,.cotonari) .menu_foot > p{color:#f29d5f;margin-bottom:8px}
:is(body,.cotonari) .section > .wave-edge,:is(body,.cotonari) .wave-edge{width:100% !important;max-width:100% !important;height:clamp(50px, 8.34vw, 120px) !important;min-height:0 !important;padding:0 !important;gap:0 !important;flex:none;line-height:0}
:is(body,.cotonari) .wave-edge > div,:is(body,.cotonari) .wave-edge > div > div,:is(body,.cotonari) .wave-edge > div > div > div{width:100% !important;height:100% !important;max-width:none !important}
:is(body,.cotonari) .wave-edge img{display:block;width:100% !important;height:100% !important;max-width:none !important;object-fit:fill}
@media(max-width:1080px){
:is(body,.cotonari){--header-space:86px}
:is(body,.cotonari) .head_menu{display:none}
}
@media(max-width:576px){
:is(body,.cotonari){--header-space:82px}
:is(body,.cotonari) .menu-inner{grid-template-columns:1fr;gap:0}
:is(body,.cotonari) .menu-inner > a:not(.menu-close){padding:10px 0}
:is(body,.cotonari) .menu_foot{margin-top:24px}
}
:is(body,.cotonari){scroll-padding-top:110px}
html:has(:is(body,.cotonari)){scroll-padding-top:110px}
html:has(:is(body,.cotonari)){scrollbar-gutter:stable}
:is(body,.cotonari) .menu-bt,:is(body,.cotonari) .menu-bt:hover,:is(body,.cotonari) .menu-bt.active{transform:none;animation:none;transition:none}
:is(body,.cotonari) .menu-lines > div{transition:none}
:is(body,.cotonari) .photo-circle > div:first-child{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important}
:is(body,.cotonari) .photo-circle img{display:block;width:100% !important;height:100% !important;max-width:none !important}
:is(body,.cotonari) .menu-lines > div{transition:top .35s ease, transform .35s ease, opacity .35s ease;transform-origin:center}
:is(body,.cotonari) .menu-wrap{transition:opacity .35s ease, visibility .35s ease}
@media(prefers-reduced-motion:reduce){
:is(body,.cotonari) .menu-lines > div,:is(body,.cotonari) .menu-wrap{transition:none}
}
:is(body,.cotonari) .section .inline-label{display:flex;flex-direction:row !important;flex-wrap:nowrap;align-items:center !important;justify-content:flex-start;gap:10px !important}
:is(body,.cotonari) .section .inline-label > p,:is(body,.cotonari) .section .inline-label > div:has(p){width:auto !important;min-width:0 !important;max-width:100%;flex:0 1 auto}
:is(body,.cotonari) .section .inline-label > div:not(:has(p)){width:auto !important;flex:0 0 auto}
@media(max-width:900px){
:is(body,.cotonari) .photo-first-row > .photo-first-image{order:-1}
:is(body,.cotonari) .photo-first-row > :not(.photo-first-image){order:0}
}
:is(body,.cotonari) .section .inline-label > .inline-label-icon{display:flex;align-items:center;justify-content:center;position:relative;width:var(--icon-w) !important;min-width:var(--icon-w) !important;height:var(--icon-h) !important;flex:0 0 var(--icon-w)}
:is(body,.cotonari) .inline-label-icon img{position:static !important;transform:none !important;width:var(--icon-w) !important;height:var(--icon-h) !important}
:is(body,.cotonari) .inline-icon--10-10{--icon-w:10px;--icon-h:10px}
:is(body,.cotonari) .inline-icon--30-30{--icon-w:30px;--icon-h:30px}
:is(body,.cotonari) .more_btn{position:relative;inset:auto;display:inline-flex !important;align-items:center;justify-content:center;flex-direction:row;flex-wrap:nowrap;gap:16px;width:fit-content !important;min-width:0;max-width:100%;min-height:54px;padding:11px 12px 11px 24px;border:0;border-radius:999px;background:var(--button-bg, #f29d5f);color:var(--button-color, #fff);font:inherit;text-decoration:none;cursor:pointer;transform:none;transition:background .35s ease,box-shadow .35s ease,filter .35s ease}
:is(body,.cotonari) .more_btn:hover{opacity:1;transform:none}
:is(body,.cotonari) .more_btn > p{margin:0;width:auto !important;min-width:0 !important;max-width:100%;color:inherit;font-weight:500;line-height:1.6;text-align:center}
:is(body,.cotonari) .more_btn > div{display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--button-circle, #ffffff40)}
:is(body,.cotonari) .more_btn > div > img{display:block;width:14px;height:14px}
:is(body,.cotonari) .header_contact.more_btn{padding:11px 24px;gap:14px}
:is(body,.cotonari) .header_contact.more_btn > .header_mail{flex-basis:24px;width:24px;height:auto;border-radius:0;background:transparent}
:is(body,.cotonari) .header_contact.more_btn > .header_mail > img{width:24px;height:auto}
:is(body,.cotonari) .instagram-section{--button-bg:#fff;--button-color:#6b5e56;--button-circle:#ffefe3}
:is(body,.cotonari) .contact-form .send .more_btn{padding-inline:28px}
@media(max-width:900px){
:is(body,.cotonari) .main-wrap .more_btn{align-self:flex-start;flex:0 0 auto}
}
@media(max-width:768px){
:is(body,.cotonari) .header_contact.more_btn{display:none !important}
}
@media(prefers-reduced-motion:reduce){
:is(body,.cotonari) .more_btn{transition:none}
}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .component-instagram-content-detail{--button-bg:#fff}
:is(body,.cotonari) .imgbox > img{border-radius:inherit}
:is(body,.cotonari) .photo-circle{flex:none !important;min-height:0 !important;max-height:none !important;height:auto !important;box-sizing:border-box}
:is(body,.cotonari) .photo-circle img{object-fit:contain}
@media(max-width:900px){
:is(body,.cotonari) .section .photo-circle{position:absolute !important;flex:none !important;transform:none !important}
}
:is(body,.cotonari) .instagram-section .insta_blog{width:100%;max-width:885px;min-width:0;flex:1 1 auto}
:is(body,.cotonari) .instagram-section .insta_blog > .webgene-blog{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(12px, 1.5vw, 20px)}
:is(body,.cotonari) .instagram-section .insta_blog .webgene-item{min-width:0}
:is(body,.cotonari) .instagram-section .insta_blog a{display:block;transition:opacity .35s}
:is(body,.cotonari) .instagram-section .insta_blog a:hover{opacity:.8}
:is(body,.cotonari) .instagram-section .insta_img{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:14px}
:is(body,.cotonari) .instagram-section .insta_img > img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){
:is(body,.cotonari) .instagram-section .insta_blog{max-width:100%}
:is(body,.cotonari) .instagram-section .insta_blog > .webgene-blog{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
:is(body,.cotonari) .contact-sparkles > img{display:block;width:100%;height:100%;object-fit:contain}
:is(body,.cotonari) .instagram-section .row:has(>.insta_blog){width:100% !important;max-width:100% !important}
:is(body,.cotonari) .instagram-section .row:has(>.insta_blog) > .column{flex:0 0 280px;width:280px;max-width:280px}
@media(max-width:900px){
:is(body,.cotonari) .instagram-section .row:has(>.insta_blog) > .column{flex:0 0 auto;width:100% !important;max-width:100% !important}
}
:is(body,.cotonari) .contact-sparkles{aspect-ratio:951/539}
:is(body,.cotonari) .section.pd_wrap_all>.row,:is(body,.cotonari) .section.pd_wrap_all>.column{width:100%!important;max-width:1220px!important}
:is(body,.cotonari) .section.pd_wrap_t>.row,:is(body,.cotonari) .section.pd_wrap_t>.column{width:100%!important;max-width:1220px!important}
@keyframes cnFloatSoft{
0%,100%{translate:0 0}
50%{translate:0 -12px}
}
@keyframes cnFloatDecor{
0%,100%{translate:0 0}
50%{translate:0 -16px}
}
@keyframes cnSparkleSoft{
0%,100%{opacity:.65}
50%{opacity:1}
}
:is(body,.cotonari):has(.header.on) .photo-circle{animation:cnFloatDecor 6s ease-in-out infinite}
:is(body,.cotonari):has(.header.on) .photo-circle--bottom-left{animation-delay:-3s}
:is(body,.cotonari):has(.header.on) .sparkle-image,:is(body,.cotonari):has(.header.on) .contact-sparkles>img{animation:cnSparkleSoft 5s ease-in-out infinite}
:is(body,.cotonari):has(.header.on) .insta_blog .webgene-item .insta_img{/* 通常写真の動きを停止。元に戻す場合はこのコメントを解除：animation:cnFloatSoft 7s ease-in-out infinite; */}
:is(body,.cotonari):has(.header.on) .insta_blog .webgene-item:nth-child(even) .insta_img{animation-delay:-3.5s}
@media(prefers-reduced-motion:reduce){
:is(body,.cotonari):has(.header.on) .photo-circle,:is(body,.cotonari):has(.header.on) .sparkle-image,:is(body,.cotonari):has(.header.on) .contact-sparkles>img,:is(body,.cotonari):has(.header.on) .insta_blog .webgene-item .insta_img{animation:none!important;translate:none;opacity:1}
}
:is(body,.cotonari) .footer{background:#fdf7e7}
:is(body,.cotonari) .footer-inner{display:grid;grid-template-columns:220px minmax(0,1fr) minmax(0,1.5fr);gap:40px;max-width:1220px;margin:auto}
:is(body,.cotonari) .footer-logo{display:block;width:170px;align-self:start}
:is(body,.cotonari) .footer-logo img{display:block;width:100%;height:auto}
:is(body,.cotonari) .footer-tel>p:first-child,:is(body,.cotonari) .footer-menu>p:first-child{margin-bottom:20px;color:#f29d5f;font-weight:700}
:is(body,.cotonari) .footer-tel-list{margin-top:16px}
:is(body,.cotonari) .footer-tel-list>a{display:grid;grid-template-columns:minmax(72px,1fr) 24px auto;align-items:center;gap:10px;min-height:48px}
:is(body,.cotonari) .footer-tel-list>a>div,:is(body,.cotonari) .footer-tel-list img{width:24px;height:24px}
:is(body,.cotonari) .footer-tel-list>a>p:last-child{white-space:nowrap!important;font-weight:700}
:is(body,.cotonari) .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 20px}
:is(body,.cotonari) .footer-links>a{display:flex;align-items:center;gap:8px;min-height:40px}
:is(body,.cotonari) .footer-links>a>div{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;background:#ffefe3;border-radius:50%}
:is(body,.cotonari) .footer-links img{width:8px;height:10px}
:is(body,.cotonari) .footer-copy{grid-column:1/-1;margin-top:8px}
@media(max-width:1080px){
:is(body,.cotonari) .footer-inner{grid-template-columns:170px minmax(0,1fr);gap:32px}
:is(body,.cotonari) .footer-menu{grid-column:1/-1}
}
@media(max-width:900px){
:is(body,.cotonari) .footer-inner{grid-template-columns:minmax(0,1fr);gap:28px}
:is(body,.cotonari) .footer-logo{justify-self:center}
:is(body,.cotonari) .footer-menu,:is(body,.cotonari) .footer-copy{grid-column:1}
:is(body,.cotonari) .footer-tel>p:first-child,:is(body,.cotonari) .footer-menu>p:first-child{margin-bottom:12px}
:is(body,.cotonari) .footer-tel-list>a{border-bottom:1px solid #e8dec9}
:is(body,.cotonari) .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
:is(body,.cotonari) .footer-links>a{min-height:44px}
:is(body,.cotonari) .footer-links p{line-height:1.6}
:is(body,.cotonari) .footer-copy{text-align:center;margin-top:4px}
}
:is(body,.cotonari) .instagram-section{height:auto!important;min-height:0!important;padding:calc(clamp(50px,8.333vw,120px) + clamp(36px,4vw,60px)) var(--wrap-side,40px) clamp(40px,6vw,80px)}
:is(body,.cotonari) .instagram-section .instagram-content{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:1220px!important;height:auto!important;margin-inline:auto}
:is(body,.cotonari) .instagram-section .instagram-layout{display:grid!important;grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center!important;gap:clamp(28px,4vw,60px)!important;width:100%!important;max-width:100%!important}
:is(body,.cotonari) .instagram-section .instagram-layout>.column{width:100%!important;max-width:100%!important;min-width:0}
:is(body,.cotonari) .instagram-section .insta_blog{width:100%;max-width:none}
:is(body,.cotonari) .instagram-section .insta_blog>.webgene-blog{gap:clamp(12px,1.5vw,20px)}
@media(max-width:900px){
:is(body,.cotonari) .instagram-section .instagram-layout{grid-template-columns:minmax(0,1fr);gap:28px!important}
:is(body,.cotonari) .instagram-section .insta_blog>.webgene-blog{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
}
:is(body,.cotonari) .instagram-section .instagram-content,:is(body,.cotonari) .instagram-section .instagram-layout{padding:0!important}
:is(body,.cotonari) .footer-inner{grid-template-columns:180px minmax(280px,330px) minmax(0,1fr);gap:32px 40px;align-items:start}
:is(body,.cotonari) .footer-tel-list>a{grid-template-columns:80px 24px minmax(0,1fr);gap:10px}
:is(body,.cotonari) .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px}
:is(body,.cotonari) .footer-copy{padding-top:10px;margin-top:0;border-top:1px solid #e9dfc8;color:#6b5e56}
@media(max-width:1080px){
:is(body,.cotonari) .footer-inner{grid-template-columns:180px minmax(0,1fr);gap:32px 40px}
:is(body,.cotonari) .footer-tel{max-width:380px}
:is(body,.cotonari) .footer-menu{grid-column:1/-1;padding-top:28px;border-top:1px solid #e9dfc8}
:is(body,.cotonari) .footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px}
}
@media(max-width:900px){
:is(body,.cotonari) .footer-inner{grid-template-columns:minmax(0,1fr);gap:28px}
:is(body,.cotonari) .footer-logo{justify-self:center}
:is(body,.cotonari) .footer-tel{width:100%;max-width:380px;justify-self:center}
:is(body,.cotonari) .footer-menu{grid-column:1}
:is(body,.cotonari) .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
:is(body,.cotonari) .footer-copy{grid-column:1;text-align:center}
}
:is(body,.cotonari) .head_menu p::first-line{color:#f29d5f;font-family:Montserrat,sans-serif;font-weight:700;}
:is(body,.cotonari) .staffbox .component-staff-content{gap:clamp(32px,4vw,56px);padding-bottom:clamp(28px,4vw,50px);}
:is(body,.cotonari) .staffbox .heading{gap:0;}
:is(body,.cotonari) .staffbox .heading>p:last-child{font-size:inherit;}
@keyframes cnDriftImage{0%,100%{translate:0 0;rotate:-.35deg}50%{translate:0 -12px;rotate:.35deg}}
@keyframes cnDriftShape{0%,100%{translate:0 0;rotate:-3deg}50%{translate:3px -14px;rotate:3deg}}
:is(body,.cotonari):has(.header.on) .feature .photo-first-image>img{/* 通常写真の動きを停止。元に戻す場合はこのコメントを解除：animation:cnDriftImage 7.5s ease-in-out infinite; */;}
:is(body,.cotonari):has(.header.on) .decoration>img:not(.sparkle-image):not(.wave-edge *){animation:cnDriftShape 8s ease-in-out infinite;}
:is(body,.cotonari):has(.header.on) .decoration:nth-child(even)>img:not(.sparkle-image):not(.wave-edge *){animation-delay:-4s;animation-duration:9s;}
@media(max-width:900px){
@keyframes cnDriftImage{0%,100%{translate:0 0;rotate:-.25deg}50%{translate:0 -8px;rotate:.25deg}}
@keyframes cnDriftShape{0%,100%{translate:0 0;rotate:-2deg}50%{translate:2px -10px;rotate:2deg}}
}
@media(prefers-reduced-motion:reduce){
:is(body,.cotonari):has(.header.on) .feature .photo-first-image>img,:is(body,.cotonari):has(.header.on) .decoration>img{animation:none!important;translate:none;rotate:none;}
}
:is(body,.cotonari) .head_menu{flex-shrink:0;gap:clamp(12px,1.5vw,28px);}
:is(body,.cotonari) .head_menu>a{flex:none;}
:is(body,.cotonari) .head_menu p{white-space:nowrap;}
@media(min-width:1081px) and (max-width:1280px){
:is(body,.cotonari) .header_inner{gap:16px;padding-inline:24px;}
:is(body,.cotonari) .logo{flex-basis:110px;}
:is(body,.cotonari) .logo img{width:110px;}
:is(body,.cotonari) .head_menu{gap:14px;}
:is(body,.cotonari) .header_contact.more_btn{padding-inline:18px;gap:10px;}
}

/* ===== 共通レイアウト：見出し・画像と本文・番号付き一覧 ===== */
:is(body,.cotonari) .section-heading{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#6b5e56;margin-bottom:clamp(32px,4vw,50px);}
:is(body,.cotonari) .section-heading>h2{font-family:Montserrat,sans-serif;letter-spacing:.08em;line-height:1.2;}
:is(body,.cotonari) .feature-row{display:grid;grid-template-columns:minmax(0,600fr) minmax(0,540fr);align-items:center;gap:clamp(32px,5.5vw,80px);width:100%;max-width:1220px;margin-inline:auto;}
:is(body,.cotonari) .feature-row>.imgbox{position:relative;width:100%;aspect-ratio:6/5;overflow:visible;}
:is(body,.cotonari) .feature-row>.imgbox>img{display:block;width:100%;height:100%;object-fit:contain;}
:is(body,.cotonari) .feature-row>.txtbox{min-width:0;}
:is(body,.cotonari) .feature-row .heading{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:clamp(20px,2.1vw,30px);}
:is(body,.cotonari) .feature-row .heading>p:first-child{font-family:Montserrat,sans-serif;font-weight:700;letter-spacing:.1em;}
:is(body,.cotonari) .feature-row .prose{line-height:1.8;color:#6b5e56;}
:is(body,.cotonari) .feature-row .prose p{line-height:inherit;}
:is(body,.cotonari) .feature-row .photo-circle{position:absolute;z-index:1;pointer-events:none;}
:is(body,.cotonari) .feature-row .photo-circle>img{display:block;width:100%;height:auto;}
:is(body,.cotonari) .feature-row .photo-circle--top-left{width:19%;left:2%;top:2%;}
:is(body,.cotonari) .feature-row .photo-circle--bottom-left{width:11%;left:5%;bottom:8%;}
:is(body,.cotonari) .feature-list{width:100%;max-width:1040px;margin-inline:auto;display:flex;flex-direction:column;gap:30px;}
:is(body,.cotonari) .feature-item{display:grid;grid-template-columns:56px minmax(0,218px) minmax(0,1fr);align-items:start;gap:30px;padding-bottom:30px;border-bottom:1px solid #e6e1dc;}
:is(body,.cotonari) .feature-item>.number{position:relative;width:56px;height:56px;}
:is(body,.cotonari) .feature-item>.number>img:first-child{display:block;width:56px;height:56px;}
:is(body,.cotonari) .feature-item>.number>img:nth-child(2){position:absolute;width:18px;height:16px;right:0;bottom:9px;}
:is(body,.cotonari) .feature-item>.number>p{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;}
:is(body,.cotonari) .feature-item>.imgbox{width:100%;aspect-ratio:218/174;}
:is(body,.cotonari) .feature-item>.imgbox>img{display:block;width:100%;height:100%;object-fit:contain;}
:is(body,.cotonari) .feature-item>.txtbox{min-width:0;display:flex;flex-direction:column;gap:15px;padding-top:clamp(0px,2.1vw,30px);color:#6b5e56;}
:is(body,.cotonari) .feature-item>.txtbox>p:first-child{line-height:1.5;}
:is(body,.cotonari) .feature-item>.txtbox p{overflow-wrap:anywhere;}
@media(max-width:900px){
:is(body,.cotonari) .feature-row{grid-template-columns:minmax(0,1fr);gap:32px;max-width:600px;}
:is(body,.cotonari) .feature-row>.imgbox{grid-row:1;width:100%;max-width:540px;margin-inline:auto;}
:is(body,.cotonari) .feature-row>.txtbox{grid-row:2;}
:is(body,.cotonari) .feature-row .prose{text-align:left;}
:is(body,.cotonari) .feature-item{grid-template-columns:56px minmax(0,1fr);gap:20px;}
:is(body,.cotonari) .feature-item>.imgbox{grid-column:2;max-width:300px;justify-self:center;}
:is(body,.cotonari) .feature-item>.txtbox{grid-column:1/-1;padding-top:0;}
}
@media(max-width:576px){
:is(body,.cotonari) .feature-item{gap:16px;padding-bottom:24px;}
:is(body,.cotonari) .feature-item>.imgbox{max-width:240px;}
}
:is(body,.cotonari):has(.header.on) .feature-row>.imgbox>img{/* 通常写真の動きを停止。元に戻す場合はこのコメントを解除：animation:cnDriftImage 8s ease-in-out infinite; */;}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari):has(.header.on) .feature-row>.imgbox>img{animation:none;translate:none;rotate:none;}}

/* 共通ページヒーロー：飾りは写真に合わせて配置 */
:is(body,.cotonari) .hero-inner>.hero-decor{position:absolute;z-index:2;pointer-events:none;}
:is(body,.cotonari) .hero-inner>.hero-decor>img{position:static;display:block;width:100%;height:auto;}
:is(body,.cotonari) .hero-decor--pink{right:6%;top:15%;width:10.9%;}
:is(body,.cotonari) .hero-decor--small-star{right:8%;top:29%;width:1.4%;}
:is(body,.cotonari) .hero-decor--yellow{right:-5%;top:37%;width:10%;}
:is(body,.cotonari) .hero-decor--green{left:4%;top:18%;width:9.2%;}
:is(body,.cotonari) .hero-decor--star{left:-5%;top:28%;width:2.9%;}
:is(body,.cotonari) .hero-decor--yellow-left{left:-7%;top:44%;width:10.5%;}
:is(body,.cotonari) .hero-decor--pink-left{left:8%;bottom:-4%;width:4.3%;}
:is(body,.cotonari) .hero-decor--pink-bottom{right:9%;bottom:-5%;width:6.4%;}
:is(body,.cotonari) .hero-decor--sparkles-right{right:-4%;top:-22%;width:47%;}
:is(body,.cotonari) .hero-decor--sparkles-left{left:-8%;bottom:3%;width:32%;}
@media(max-width:576px){
:is(body,.cotonari) .hero-decor--pink{width:17%;right:1%;top:17%;}
:is(body,.cotonari) .hero-decor--green{width:14%;left:3%;top:23%;}
:is(body,.cotonari) .hero-decor--yellow,:is(body,.cotonari) .hero-decor--yellow-left{width:14%;}
:is(body,.cotonari) .hero-decor--small-star{width:3%;right:4%;}
:is(body,.cotonari) .hero-decor--pink-left{width:7%;}
:is(body,.cotonari) .hero-decor--pink-bottom{width:9%;}
}

/* 波の上下は全ページで共通 */
:is(body,.cotonari) .wave-reverse img{transform:scaleY(-1);transform-origin:center;}
:is(body,.cotonari) .feature-row .heading>p:first-child{text-transform:uppercase;}

/* 写真と飾りの浮遊：枠で動きを切らない */
:is(body,.cotonari) .contactbox{overflow:visible;}
:is(body,.cotonari) .decoration:not(.wave-edge):not(.contact-sparkles){overflow:visible!important;}
@keyframes cnPhotoFloat{0%,100%{translate:0 0;rotate:-.4deg}50%{translate:0 -20px;rotate:.4deg}}
@keyframes cnDecorFloat{0%,100%{translate:0 0;rotate:-3deg}50%{translate:4px -24px;rotate:3deg}}
:is(body,.cotonari):has(.header.on) .page-hero .imgbox.active,:is(body,.cotonari):has(.header.on) .feature-row>.imgbox.active{/* 通常写真の動きを停止。元に戻す場合はこのコメントを解除：animation:cnSoftIn .6s ease both,cnPhotoFloat 5.5s ease-in-out .6s infinite; */;}
:is(body,.cotonari):has(.header.on) .feature-row>.imgbox>img{animation:none;}
:is(body,.cotonari):has(.header.on) .decoration>img:not(.sparkle-image):not(.wave-edge *):not(.contact-sparkles>img){animation:cnDecorFloat 5s ease-in-out infinite;}
:is(body,.cotonari):has(.header.on) .decoration:nth-child(even)>img:not(.sparkle-image):not(.wave-edge *):not(.contact-sparkles>img){animation-duration:6s;animation-delay:-2.5s;}
@media(max-width:900px){
@keyframes cnPhotoFloat{0%,100%{translate:0 0;rotate:-.3deg}50%{translate:0 -12px;rotate:.3deg}}
@keyframes cnDecorFloat{0%,100%{translate:0 0;rotate:-2deg}50%{translate:2px -16px;rotate:2deg}}
}
@media(prefers-reduced-motion:reduce){
:is(body,.cotonari):has(.header.on) .page-hero .imgbox.active,:is(body,.cotonari):has(.header.on) .feature-row>.imgbox.active,:is(body,.cotonari):has(.header.on) .decoration>img:not(.sparkle-image):not(.wave-edge *):not(.contact-sparkles>img){animation:none!important;translate:none;rotate:none;}
}

/* リンクの案内アイコンは固定 */
:is(body,.cotonari):has(.header.on) .contactbox a .decoration>img{animation:none!important;translate:none;rotate:none;}

/* 共通ページヒーロー */
:is(body,.cotonari) .page-hero:has(>.hero-inner){min-height:0;padding:clamp(40px,5vw,70px) var(--wrap-side) 0!important;background:#fdf7e7;overflow:visible;}
:is(body,.cotonari) .page-hero:has(>.hero-inner) .hero-inner{position:relative;z-index:1;max-width:1220px;width:100%;margin-inline:auto;}
:is(body,.cotonari) .page-hero:has(>.hero-inner) .hero-inner>.heading{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:clamp(20px,2vw,30px);}
:is(body,.cotonari) .page-hero:has(>.hero-inner) .heading>p{color:#f29d5f;font-family:Montserrat,sans-serif;letter-spacing:.1em;}
:is(body,.cotonari) .page-hero:has(>.hero-inner) .hero-inner>.imgbox{position:relative;width:100%;height:auto;aspect-ratio:1220/340;overflow:hidden;border-radius:clamp(24px,3.5vw,50px);}
:is(body,.cotonari) .page-hero:has(>.hero-inner) .hero-inner>.imgbox>img{position:static;display:block;width:100%;height:100%;object-fit:cover;}
:is(body,.cotonari) .page-hero:has(>.hero-inner) .decoration{z-index:2;}:is(body,.cotonari):has(.main-wrap.page-about) .message-intro{background:#fdf7e7;padding-top:clamp(60px,7vw,100px);}
@media(max-width:900px){
:is(body,.cotonari) .page-hero:has(>.hero-inner) .hero-inner>.imgbox{aspect-ratio:16/7;}
}
@media(max-width:576px){
:is(body,.cotonari) .page-hero:has(>.hero-inner) .hero-inner>.imgbox{aspect-ratio:4/3;}
}

/* 共通：中央メッセージ */
:is(body,.cotonari) .message-panel{position:relative;background:#fdf7e7;padding-top:clamp(60px,6.95vw,100px);padding-bottom:30px;text-align:center;}
:is(body,.cotonari) .message-panel>.heading{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;align-items:center;color:#f29d5f;margin-bottom:30px;}
:is(body,.cotonari) .message-panel>.heading>p{font-family:Montserrat,sans-serif;font-weight:700;letter-spacing:.1em;}
:is(body,.cotonari) .message-panel>.prose{position:relative;z-index:1;max-width:1220px;margin-inline:auto;color:#6b5e56;line-height:1.9;}
:is(body,.cotonari) .message-panel>.prose p{line-height:inherit;}
:is(body,.cotonari) .message-decor{position:absolute;left:18%;top:24%;width:clamp(50px,6.8vw,98px);}
:is(body,.cotonari) .message-decor--right{left:auto;right:18%;top:28%;width:clamp(32px,4.45vw,64px);}
:is(body,.cotonari) .message-decor>img{display:block;width:100%;height:auto;}
/* 共通：写真付きのステップ */
:is(body,.cotonari) .flow-section.pd_wrap_all{padding-block:clamp(60px,5.56vw,80px)!important;}
:is(body,.cotonari) .flow-list{display:flex;flex-direction:column;gap:30px;width:100%;max-width:1140px;margin-inline:auto;}
:is(body,.cotonari) .flow-item{display:grid;grid-template-columns:minmax(0,460fr) 80px minmax(0,460fr);column-gap:clamp(30px,4.86vw,70px);align-items:start;min-height:299px;}
:is(body,.cotonari) .flow-item>.imgbox{position:relative;width:100%;aspect-ratio:460/279;overflow:visible;}
:is(body,.cotonari) .flow-item>.imgbox>img{display:block;width:100%;height:100%;object-fit:contain;}
:is(body,.cotonari) .flow-decor{position:absolute;left:2%;top:0;width:13.5%;}
:is(body,.cotonari) .flow-decor--bottom{left:auto;right:7%;top:auto;bottom:6%;width:9%;}
:is(body,.cotonari) .flow-decor--small{left:auto;right:5%;top:auto;bottom:20%;width:4.2%;rotate:82deg;}
:is(body,.cotonari) .flow-decor>img{display:block;width:100%;height:auto;}
:is(body,.cotonari) .flow-step{position:relative;align-self:stretch;display:flex;justify-content:center;}
:is(body,.cotonari) .flow-step>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;flex:none;width:80px;height:80px;border-radius:50%;background:#ffe057;font-family:Montserrat,sans-serif;}
:is(body,.cotonari) .flow-step p{line-height:1.2;font-weight:700;}
:is(body,.cotonari):has(.header.on) .flow-step::after{content:"";position:absolute;top:89px;bottom:0;left:50%;border-left:1px dashed #e2dcd5;}
:is(body,.cotonari) .flow-item>.txtbox{display:flex;flex-direction:column;gap:26px;min-width:0;padding-top:25px;color:#6b5e56;}
:is(body,.cotonari) .flow-item>.txtbox>h3{line-height:1.5;}
:is(body,.cotonari) .flow-item .prose p{line-height:1.9;overflow-wrap:anywhere;}
:is(body,.cotonari) .flow-item .prose p+p{margin-top:12px;}
/* 共通：アイコン付きのカード */
:is(body,.cotonari) .family-section.pd_wrap_all{background:#fdf7e7;padding-block:clamp(60px,5.56vw,80px)!important;}
:is(body,.cotonari) .info-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;max-width:1220px;width:100%;margin-inline:auto;}
:is(body,.cotonari) .info-card{background:#fee6e8;border-radius:30px;padding:40px 30px;min-width:0;min-height:285px;}
:is(body,.cotonari) .info-card .card-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
:is(body,.cotonari) .info-card .card-head>.imgbox{position:relative;flex:0 0 98px;width:98px;height:98px;aspect-ratio:1;overflow:hidden;border-radius:50%;background:#fff;}
:is(body,.cotonari) .info-card .card-head>.imgbox>img{position:static!important;inset:auto!important;display:block;width:80%;height:80%;margin:auto;object-fit:contain;object-position:center;}
:is(body,.cotonari) .info-card .card-head>.txtbox{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;}
:is(body,.cotonari) .info-card .card-head>.txtbox>p:first-child{font-size:inherit;font-weight:700;}
:is(body,.cotonari) .info-card .card-label{background:#eba068;color:#fff;padding:2px 10px;border-radius:4px;font-size:14px;line-height:1.4;}
:is(body,.cotonari) .info-card .prose{color:#6b5e56;}
:is(body,.cotonari) .family-section .section-heading{margin-bottom:clamp(32px,3.5vw,50px);}
:is(body,.cotonari) .info-card .prose p{line-height:1.45;}
:is(body,.cotonari):has(.header.on) .flow-item>.imgbox.active{/* 通常写真の動きを停止。元に戻す場合はこのコメントを解除：animation:cnSoftIn .6s ease both,cnPhotoFloat 6s ease-in-out .6s infinite; */;}
:is(body,.cotonari):has(.header.on) .flow-item:nth-child(even)>.imgbox.active{animation-delay:0s,-3s;}
@media(max-width:1080px){
:is(body,.cotonari) .info-cards{gap:20px;}
:is(body,.cotonari) .info-card{padding:30px 22px;}
:is(body,.cotonari) .info-card .card-head>.imgbox{flex-basis:72px;width:72px;height:72px;}
:is(body,.cotonari) .info-card .card-head>.imgbox>img{position:static!important;inset:auto!important;display:block;width:80%;height:80%;margin:auto;object-fit:contain;object-position:center;}
}
@media(max-width:900px){
:is(body,.cotonari) .flow-list{max-width:600px;gap:48px;}
:is(body,.cotonari) .flow-item{grid-template-columns:80px minmax(0,1fr);gap:24px;min-height:0;}
:is(body,.cotonari) .flow-item>.imgbox{grid-column:1/-1;grid-row:1;max-width:460px;margin-inline:auto;}
:is(body,.cotonari) .flow-item>.flow-step{grid-column:1;grid-row:2;}
:is(body,.cotonari) .flow-item>.txtbox{grid-column:2;grid-row:2;padding-top:8px;gap:16px;}
:is(body,.cotonari):has(.header.on) .flow-step::after{display:none;}
:is(body,.cotonari) .info-cards{grid-template-columns:minmax(0,1fr);max-width:560px;gap:20px;}
:is(body,.cotonari) .info-card{min-height:0;padding:clamp(22px,4vw,32px);border-radius:24px;}
:is(body,.cotonari) .info-card .card-head{gap:16px;margin-bottom:18px;}
:is(body,.cotonari) .info-card .card-head>.imgbox{flex:0 0 72px;width:72px;height:72px;}
:is(body,.cotonari) .info-card .card-head>.imgbox>img{position:static!important;inset:auto!important;display:block;width:80%;height:80%;margin:auto;object-fit:contain;object-position:center;}
:is(body,.cotonari) .info-card .card-head>.txtbox{flex:1;gap:6px;}
:is(body,.cotonari) .info-card .card-label{max-width:100%;padding:3px 8px;overflow-wrap:anywhere;}
:is(body,.cotonari) .info-card .prose p{line-height:1.8;overflow-wrap:anywhere;}
:is(body,.cotonari) .message-panel>.prose{text-align:left;}
:is(body,.cotonari) .message-decor{top:25px;left:5%;opacity:.45;}
:is(body,.cotonari) .message-decor--right{left:auto;right:5%;}
}
@media(max-width:576px){
:is(body,.cotonari) .family-section .section-heading{margin-bottom:30px;}
:is(body,.cotonari) .info-cards{gap:16px;}
:is(body,.cotonari) .info-card{padding:24px 20px;border-radius:22px;}
:is(body,.cotonari) .info-card .card-head{gap:12px;margin-bottom:14px;}
:is(body,.cotonari) .info-card .card-head>.imgbox{flex-basis:64px;width:64px;height:64px;}
:is(body,.cotonari) .info-card .card-label{font-size:12px;}
:is(body,.cotonari) .flow-item{grid-template-columns:64px minmax(0,1fr);column-gap:16px;}
:is(body,.cotonari) .flow-step>div{width:64px;height:64px;}
}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari):has(.header.on) .flow-item>.imgbox.active{animation:none!important;translate:none;rotate:none;}}

/* ===== 全ページ共通：Figmaに合わせたセクションと余白 ===== */
:is(body,.cotonari){--wrap-space:80px;--wrap-side:clamp(20px,7.64vw,110px);background:#fbf9f7;}
:is(body,.cotonari) .content-section{width:100%;}
:is(body,.cotonari) .cream-section,:is(body,.cotonari) .service-intro,:is(body,.cotonari) .access-nav{background:#fdf7e7;}
:is(body,.cotonari) .section-heading{margin-bottom:50px;}
:is(body,.cotonari) .section-heading>h2.default_title1{font-size:clamp(28px,3.47vw,50px);font-weight:600;}
:is(body,.cotonari) .section-heading>p{font-weight:700;}
:is(body,.cotonari) .section-note{text-align:center;margin-top:-35px;margin-bottom:45px;}
:is(body,.cotonari) .service-intro{padding-top:100px;padding-bottom:40px;}
:is(body,.cotonari) .feature-row--service{max-width:1100px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6.95vw,100px);}
:is(body,.cotonari) .feature-row--service>.imgbox{grid-column:2;grid-row:1;aspect-ratio:500/362;border-radius:clamp(30px,4.86vw,70px);overflow:hidden;}
:is(body,.cotonari) .feature-row--service>.imgbox>img{object-fit:cover;}
:is(body,.cotonari) .feature-row--service>.txtbox{grid-column:1;grid-row:1;}
:is(body,.cotonari) .feature-row .inline-label{display:flex;align-items:center;gap:10px;}
:is(body,.cotonari) .feature-row .inline-label>img{width:10px;height:10px;object-fit:contain;}
:is(body,.cotonari) .feature-row .inline-label>p{font-family:Montserrat,sans-serif;font-weight:700;letter-spacing:.04em;}
:is(body,.cotonari) .wave-transition{height:clamp(50px,8.34vw,120px);min-height:0;padding:0!important;}
:is(body,.cotonari) .wave-transition>.wave-edge{height:100%!important;}
/* 共通：取り組みカード */
:is(body,.cotonari) .support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:1100px;margin-inline:auto;padding-top:20px;}
:is(body,.cotonari) .support-card{position:relative;min-width:0;padding:36px 40px 30px;border-radius:60px;background:#fee6e8;}
:is(body,.cotonari) .support-card:nth-child(4n+2),:is(body,.cotonari) .support-card:nth-child(4n+3){background:#ffefe3;}
:is(body,.cotonari) .support-card>.number{position:absolute;left:-12px;top:-20px;width:56px;height:56px;border-radius:50%;background:#ffe057;display:flex;align-items:center;justify-content:center;}
:is(body,.cotonari) .support-card>.number>p{font-family:Montserrat,sans-serif;font-weight:700;}
:is(body,.cotonari) .support-card .txtbox{display:flex;flex-direction:column;gap:15px;}
:is(body,.cotonari) .support-card .default_title4{font-size:inherit;font-weight:700;}
/* 共通：時刻・沿革 */
:is(body,.cotonari) .timeline{position:relative;max-width:1040px;margin-inline:auto;}
:is(body,.cotonari) .timeline-item{position:relative;display:grid;grid-template-columns:170px minmax(0,1fr);gap:35px;padding:20px 0;min-height:80px;}
:is(body,.cotonari) .timeline-item .date{color:#ed828b;font-weight:700;}
:is(body,.cotonari) .timeline-item .date>p{font-weight:700;}
:is(body,.cotonari) .timeline-item .date>.time-title{font-family:var(--font-en);font-size:clamp(18px,1.67vw,24px);font-weight:700;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums;}
:is(body,.cotonari) .timeline-item .txtbox{display:flex;flex-direction:column;gap:12px;color:#6b5e56;}
:is(body,.cotonari) .timeline-item .txtbox p{line-height:1.8;}
:is(body,.cotonari):has(.header.on) .timeline::before{content:"";position:absolute;left:185px;top:28px;bottom:28px;border-left:1px dashed #e6ded6;}
:is(body,.cotonari):has(.header.on) .timeline-item::before{content:"";position:absolute;left:182px;top:29px;width:7px;height:7px;border-radius:50%;background:#ed828b;}
/* 共通：施設情報・会社情報・募集要項 */
:is(body,.cotonari) .data-table{width:100%;max-width:1040px;margin:0 auto 40px;}
:is(body,.cotonari) .table-title{padding:12px 20px;background:#f29d5f;color:#fff;text-align:center;border-radius:10px 10px 0 0;}
:is(body,.cotonari) .data-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;padding:20px 25px;}
:is(body,.cotonari) .data-row:nth-child(even){background:#fff;}
:is(body,.cotonari) .data-row p{line-height:1.8;overflow-wrap:anywhere;}
:is(body,.cotonari) .data-row .label>p{font-weight:700;}
:is(body,.cotonari) .data-row .value{min-width:0;}
:is(body,.cotonari) .data-table--lines .data-row{background:transparent;border-bottom:1px solid #e4ddd6;}
:is(body,.cotonari) .data-table--lines .label{color:#ed828b;}
:is(body,.cotonari) .document-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:1040px;margin:50px auto 0;}
:is(body,.cotonari) .document-link{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ed828b;color:#fff;padding:12px 14px;border-radius:10px;}
:is(body,.cotonari) .document-link>div{flex:none;width:20px;height:20px;}
:is(body,.cotonari) .document-link img{width:100%;height:100%;object-fit:contain;}
:is(body,.cotonari) .document-link:nth-last-child(-n+4){background:#87ced6;}
:is(body,.cotonari) .document-link:hover{opacity:.8;}
/* 共通：サービス紹介と写真カード */
:is(body,.cotonari) .service-panels{display:flex;flex-direction:column;gap:60px;}
:is(body,.cotonari) .service-panel{max-width:1220px;width:100%;margin-inline:auto;border-radius:100px;padding:60px 70px;background:#fee6e8;}
:is(body,.cotonari) .service-panel--blue{background:#def1fa;}
:is(body,.cotonari) .panel-heading{text-align:center;margin-bottom:50px;}
:is(body,.cotonari) .panel-heading>p{margin-bottom:10px;}
:is(body,.cotonari) .ribbon-heading{position:relative;display:flex;align-items:center;justify-content:center;width:min(100%,550px);min-height:65px;margin-inline:auto;text-align:center;}
:is(body,.cotonari) .ribbon-heading>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
:is(body,.cotonari) .ribbon-heading>h2{position:relative;}
:is(body,.cotonari) .service-panel .service-intro{padding:0!important;background:transparent;margin-bottom:50px;}
:is(body,.cotonari) .service-panel .feature-row--service{gap:40px;}
:is(body,.cotonari) .service-panel .section-heading{margin-bottom:30px;}
:is(body,.cotonari) .image-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;width:100%;max-width:1220px;margin-inline:auto;}
:is(body,.cotonari) .image-card{min-width:0;}
:is(body,.cotonari) .image-card>.imgbox{position:relative;width:100%;aspect-ratio:7/5;margin-bottom:22px;}
:is(body,.cotonari) .image-card>.imgbox>img{width:100%;height:100%;object-fit:cover;border-radius:30px;}
:is(body,.cotonari) .image-card>.txtbox{display:flex;flex-direction:column;gap:15px;}
:is(body,.cotonari) .image-card .default_title4{font-size:inherit;font-weight:700;text-align:center;}
:is(body,.cotonari) .numbered-cards{padding-top:20px;}
:is(body,.cotonari) .numbered-cards .number{position:absolute;left:-10px;top:-20px;width:56px;height:56px;border-radius:50%;background:#ffe057;display:flex;align-items:center;justify-content:center;}
:is(body,.cotonari) .numbered-cards .number p{font-family:Montserrat,sans-serif;font-weight:700;}
:is(body,.cotonari) .menu-section{text-align:center;padding-block:40px;}
:is(body,.cotonari) .menu-panel{width:100%;max-width:1220px;margin:0 auto 50px;background:#ffefe3;border-radius:100px;padding:70px;}
:is(body,.cotonari) .menu-panel>.imgbox{padding:40px;background:#fff;border-radius:70px;margin-top:30px;}
:is(body,.cotonari) .menu-panel>.imgbox>img{position:static!important;inset:auto!important;display:block;width:100%;height:auto!important;object-fit:contain;border-radius:0;}
/* 共通：スタッフ */
:is(body,.cotonari) .staffbox .staff-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;width:100%;max-width:1220px;margin-inline:auto;}
:is(body,.cotonari) .staffbox .staff-card{display:flex;flex-direction:column;align-items:center;min-width:0;background:#ffefe3;border-radius:30px;padding:40px 30px;}
:is(body,.cotonari) .staffbox .staff-card--pink{background:#fee6e8;}
:is(body,.cotonari) .staffbox .staff-card>.imgbox{position:relative;flex:none;width:170px!important;height:auto!important;aspect-ratio:1;margin:0 auto 20px;overflow:visible;}
:is(body,.cotonari) .staffbox .portrait{position:relative;width:100%;height:100%;aspect-ratio:1;overflow:hidden;border-radius:50%;}
:is(body,.cotonari) .staffbox .portrait>img{position:absolute;width:238%;max-width:none;height:158.79%;left:-91.35%;top:-17.04%;object-fit:cover;}
:is(body,.cotonari):has(.header.on) .staffbox .staff-card>.imgbox::after{content:"";position:absolute;inset:0 -8%;pointer-events:none;background:url('https://cotonari.jp/system_panel/uploads/images/top35.png') left 14% / 25% 27% no-repeat,url('https://cotonari.jp/system_panel/uploads/images/top36.png') right 94% / 27% 29% no-repeat,url('https://cotonari.jp/system_panel/uploads/images/top34.png') 94% 4% / 9% 16% no-repeat;animation:cnDecorFloat 6s ease-in-out -2s infinite;}
:is(body,.cotonari) .staffbox .staff-card>.txtbox{display:flex;flex-direction:column;gap:8px;width:100%;}
:is(body,.cotonari) .staffbox .staff-card>.txtbox>p:first-child{font-size:inherit;font-weight:700;text-align:center;}
:is(body,.cotonari) .staffbox .staff-card>.txtbox>p:nth-child(2){text-align:center;color:#8d8178;}
:is(body,.cotonari) .staffbox .staff-card>.txtbox>p:last-child{margin-top:8px;color:#6b5e56;}
:is(body,.cotonari):has(.header.on) .staffbox .staff-card>.imgbox{/* 通常写真の動きを停止。元に戻す場合はこのコメントを解除：animation:cnPhotoFloat 6s ease-in-out infinite; */;}
:is(body,.cotonari):has(.header.on) .staffbox .staff-card:nth-child(even)>.imgbox{animation-delay:-3s;}
/* 共通：代表メッセージ・プロフィール */
:is(body,.cotonari) .portrait-row{grid-template-columns:minmax(0,500fr) minmax(0,540fr);max-width:1100px;gap:60px;}
:is(body,.cotonari) .portrait-row>.imgbox{aspect-ratio:500/600;}
:is(body,.cotonari) .portrait-row .portrait{position:relative;width:100%;height:100%;overflow:hidden;border-radius:50px;}
:is(body,.cotonari) .portrait-row .portrait>img{display:block;width:100%;height:100%;object-fit:cover;object-position:70% center;}
:is(body,.cotonari) .profile-panel{width:100%;max-width:1220px;background:#def1fa;border-radius:40px;margin-inline:auto;padding:60px 80px;}
:is(body,.cotonari) .profile-item+.profile-item{margin-top:40px;}
:is(body,.cotonari) .profile-title{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #c6dde5;padding-bottom:15px;margin-bottom:20px;}
:is(body,.cotonari) .profile-title>img{width:30px;height:30px;object-fit:contain;}
:is(body,.cotonari) .profile-item .prose p+p{margin-top:14px;}
/* 共通：アクセス */
:is(body,.cotonari) .access-nav{display:flex;justify-content:center;gap:8px;padding-block:60px;}
:is(body,.cotonari) .access-nav>a{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #f29d5f;border-radius:999px;padding:12px 30px;min-width:160px;}
:is(body,.cotonari) .access-nav>a:hover{background:#ffefe3;}
:is(body,.cotonari) .access-panels{display:flex;flex-direction:column;gap:40px;}
:is(body,.cotonari) .access-panel{max-width:1140px;width:100%;margin-inline:auto;text-align:center;padding:70px;border-radius:100px;background:#fee6e8;scroll-margin-top:120px;}
:is(body,.cotonari) .access-panel:nth-child(2){background:#def1fa;}
:is(body,.cotonari) .access-panel:nth-child(3){background:#def2e4;}
:is(body,.cotonari) .access-panel:nth-child(4){background:#ffefe3;}
:is(body,.cotonari) .access-panel .section-heading{margin-bottom:30px;}
:is(body,.cotonari) .access-panel>.imgbox{position:relative;width:100%;aspect-ratio:1000/500;border-radius:40px;overflow:hidden;margin-bottom:24px;}
:is(body,.cotonari) .access-panel>.imgbox>img{position:absolute!important;inset:0!important;display:block;width:100%;height:100%;object-fit:cover;}
:is(body,.cotonari) .access-actions{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px;}
:is(body,.cotonari) .phone-link{display:inline-flex;align-items:center;gap:10px;color:#f29d5f;}
:is(body,.cotonari) .phone-link>img{width:30px;height:30px;object-fit:contain;}
/* 共通：ニュース */
:is(body,.cotonari) .news-rows{width:100%;max-width:1140px;margin-inline:auto;}
:is(body,.cotonari) .news-rows>.webgene-blog{display:block;background:#fff;border-radius:100px;padding:50px 70px;}
:is(body,.cotonari) .news-rows .webgene-item{padding:25px 0;border-bottom:1px solid #eee8e1;}
:is(body,.cotonari) .news-rows .webgene-item>a{display:grid;grid-template-columns:120px 110px minmax(0,1fr);gap:20px;align-items:center;}
:is(body,.cotonari) .news-rows .news_date{order:0;margin:0;font-weight:500;}
:is(body,.cotonari) .news-rows .news_cate{order:1;margin:0;border:1px solid #9a9189;border-radius:999px;padding:3px 12px;text-align:center;background:transparent;}
:is(body,.cotonari) .news-rows .news_ttl{order:2;font-size:inherit;font-weight:500;margin:0;}
:is(body,.cotonari) .article-content{max-width:800px;margin-inline:auto;display:flex;flex-direction:column;gap:30px;}
:is(body,.cotonari) .article-meta{display:flex;align-items:center;gap:20px;}
:is(body,.cotonari) .article-meta .category{padding:3px 14px;background:#ffe057;border-radius:999px;}
:is(body,.cotonari) .article-content>.imgbox>img{display:block;width:100%;height:auto;object-fit:contain;border-radius:30px;}
:is(body,.cotonari) .article-content>.more_btn{align-self:center;margin-top:20px;}
/* 共通：FAQ・フォーム */
:is(body,.cotonari) .faq-list{max-width:1040px;margin-inline:auto;display:flex;flex-direction:column;gap:20px;}
:is(body,.cotonari) .faq-item{background:#fff;border-radius:20px;padding:30px;}
:is(body,.cotonari) .faq-row{display:grid;grid-template-columns:30px minmax(0,1fr) 24px;align-items:start;gap:15px;}
:is(body,.cotonari) .faq-row+.faq-row{margin-top:24px;grid-template-columns:30px minmax(0,1fr);}
:is(body,.cotonari) .faq-mark{font-family:Montserrat,sans-serif;color:#f29d5f;font-weight:700;}
:is(body,.cotonari) .faq-row+.faq-row>.faq-mark{color:#87ced6;}
:is(body,.cotonari) .faq-row>img{width:24px;height:24px;object-fit:contain;}
:is(body,.cotonari) .form-section{background:#fdf7e7;}
:is(body,.cotonari) .form-inner{width:100%;max-width:1000px;margin-inline:auto;}
:is(body,.cotonari) .form-title{text-align:center;margin-bottom:40px;}
:is(body,.cotonari) .form-title>p{font-family:Montserrat,sans-serif;font-size:clamp(28px,3.47vw,50px);font-weight:600;letter-spacing:.08em;}
/* 共通：お問い合わせ導線 */
:is(body,.cotonari) .contact-section{overflow:visible;}
:is(body,.cotonari) .contact-panel{position:relative;max-width:1140px;width:100%;margin-inline:auto;padding:50px 80px;background:#ffefe3;border-radius:100px;}
:is(body,.cotonari) .contact-panel>.section-heading{gap:6px;margin-bottom:20px;}
:is(body,.cotonari) .contact-intro{text-align:center;margin-bottom:40px;}
:is(body,.cotonari) .contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
:is(body,.cotonari) .contact-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#fbf9f7;border-radius:30px;padding:30px 20px;min-height:210px;}
:is(body,.cotonari) .contact-card>p{font-family:Montserrat,sans-serif;font-weight:700;letter-spacing:.04em;color:var(--contact-accent);}
:is(body,.cotonari) .contact-card>h3{font-weight:700;}
:is(body,.cotonari) .contact-card--guide{--contact-accent:#79cc93;}
:is(body,.cotonari) .contact-card--faq{--contact-accent:#87ced6;}
:is(body,.cotonari) .contact-card--contact{--contact-accent:#ed828b;}
:is(body,.cotonari) .contact-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:6px;border-radius:50%;background:var(--contact-accent);}
:is(body,.cotonari) .contact-icon>img{width:24px;height:24px;object-fit:contain;}
:is(body,.cotonari) .contact-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#ffefe3;margin-top:12px;transition:translate .35s;}
:is(body,.cotonari) .contact-arrow>img{width:12px;height:12px;object-fit:contain;}
:is(body,.cotonari) .contact-card:hover .contact-arrow{translate:3px 0;}
:is(body,.cotonari) .contact-decor{position:absolute;pointer-events:none;z-index:2;}
:is(body,.cotonari) .contact-decor>img{display:block;width:100%;height:auto;}
:is(body,.cotonari) .contact-decor--pink{width:120px;right:-25px;top:-60px;}
:is(body,.cotonari) .contact-decor--green{width:80px;right:90px;top:-75px;}
:is(body,.cotonari) .contact-decor--small{width:55px;right:-25px;top:110px;}
:is(body,.cotonari) .contact-decor--yellow{width:140px;left:-60px;bottom:30px;}
:is(body,.cotonari) .contact-decor--bottom{width:90px;left:-25px;bottom:-35px;}
:is(body,.cotonari) .contact-decor--star{width:35px;left:-5px;bottom:125px;}
:is(body,.cotonari) .contact-decor--sparkles{width:40%;right:-30px;top:-90px;z-index:0;}
/* 共通フッターはPCで3ブロック */
@media(min-width:1081px){:is(body,.cotonari) .footer-inner{grid-template-columns:180px 300px minmax(0,1fr);gap:40px;}:is(body,.cotonari) .footer-links{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:1080px){
:is(body,.cotonari) .contact-panel{padding:50px 40px;border-radius:70px;}
:is(body,.cotonari) .contact-cards{gap:20px;}
:is(body,.cotonari) .service-panel{padding:50px 40px;border-radius:70px;}
:is(body,.cotonari) .document-links{grid-template-columns:repeat(2,minmax(0,1fr));}
:is(body,.cotonari) .access-nav>a{min-width:0;flex:1;max-width:200px;padding-inline:15px;}
}
@media(max-width:900px){
:is(body,.cotonari){--wrap-space:80px;--wrap-side:40px;}
:is(body,.cotonari) .section-heading{margin-bottom:35px;}
:is(body,.cotonari) .service-intro{padding-top:60px;padding-bottom:30px;}
:is(body,.cotonari) .feature-row--service,:is(body,.cotonari) .portrait-row{grid-template-columns:minmax(0,1fr);gap:32px;max-width:600px;}
:is(body,.cotonari) .feature-row--service>.imgbox,:is(body,.cotonari) .portrait-row>.imgbox{grid-column:1;grid-row:1;}
:is(body,.cotonari) .feature-row--service>.txtbox,:is(body,.cotonari) .portrait-row>.txtbox{grid-column:1;grid-row:2;}
:is(body,.cotonari) .support-grid{grid-template-columns:minmax(0,1fr);max-width:600px;gap:40px;}
:is(body,.cotonari) .data-row{grid-template-columns:160px minmax(0,1fr);gap:20px;padding:18px 20px;}
:is(body,.cotonari) .service-panel{padding:40px 25px;border-radius:50px;}
:is(body,.cotonari) .image-cards{grid-template-columns:minmax(0,1fr);gap:35px;max-width:600px;}
:is(body,.cotonari) .staffbox .staff-list{grid-template-columns:minmax(0,1fr);max-width:480px;}
:is(body,.cotonari) .staffbox .staff-card>.imgbox{width:150px!important;}
:is(body,.cotonari) .contact-cards{grid-template-columns:minmax(0,1fr);max-width:500px;margin-inline:auto;gap:20px;}
:is(body,.cotonari) .contact-card{min-height:180px;}
:is(body,.cotonari) .profile-panel{padding:40px;border-radius:30px;}
:is(body,.cotonari) .access-panel{padding:40px;border-radius:60px;}
:is(body,.cotonari) .access-actions{flex-wrap:wrap;}
:is(body,.cotonari) .news-rows>.webgene-blog{padding:30px;border-radius:50px;}
:is(body,.cotonari) .news-rows .webgene-item>a{grid-template-columns:100px minmax(0,1fr);gap:12px;}
:is(body,.cotonari) .news-rows .news_ttl{grid-column:1/-1;}
:is(body,.cotonari) .menu-panel{padding:40px 25px;border-radius:60px;}
:is(body,.cotonari) .menu-panel>.imgbox{padding:20px;border-radius:35px;}
}
@media(max-width:576px){
:is(body,.cotonari){--wrap-space:60px;--wrap-side:20px;}
:is(body,.cotonari) .support-card{padding:35px 25px 25px;border-radius:40px;}
:is(body,.cotonari) .timeline-item{grid-template-columns:90px minmax(0,1fr);gap:25px;padding-block:18px;}
:is(body,.cotonari):has(.header.on) .timeline::before{left:100px;}
:is(body,.cotonari):has(.header.on) .timeline-item::before{left:97px;}
:is(body,.cotonari) .data-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:16px;}
:is(body,.cotonari) .document-links{grid-template-columns:minmax(0,1fr);}
:is(body,.cotonari) .contact-panel{padding:40px 20px;border-radius:50px;}
:is(body,.cotonari) .contact-decor--pink{width:75px;right:-10px;top:-35px;}
:is(body,.cotonari) .contact-decor--green{width:50px;right:60px;top:-45px;}
:is(body,.cotonari) .contact-decor--small{width:35px;right:-8px;top:85px;}
:is(body,.cotonari) .contact-decor--yellow{width:80px;left:-15px;bottom:20px;}
:is(body,.cotonari) .contact-decor--bottom{width:55px;left:10px;bottom:-20px;}
:is(body,.cotonari) .contact-decor--star{width:23px;left:0;bottom:85px;}
:is(body,.cotonari) .profile-panel{padding:30px 22px;}
:is(body,.cotonari) .access-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-block:35px;}
:is(body,.cotonari) .access-nav>a{width:100%;padding:10px 12px;}
:is(body,.cotonari) .access-panel{padding:35px 20px;border-radius:40px;}
:is(body,.cotonari) .access-panel>.imgbox{aspect-ratio:4/3;border-radius:25px;}
:is(body,.cotonari) .news-rows>.webgene-blog{padding:20px;border-radius:30px;}
:is(body,.cotonari) .faq-item{padding:25px 20px;}
:is(body,.cotonari) .faq-row{grid-template-columns:24px minmax(0,1fr) 20px;gap:10px;}
:is(body,.cotonari) .faq-row+.faq-row{grid-template-columns:24px minmax(0,1fr);}
}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari):has(.header.on) .staffbox .staff-card>.imgbox,:is(body,.cotonari):has(.header.on) .staffbox .staff-card>.imgbox::after{animation:none!important;translate:none;rotate:none;}}
/* 写真の焦点と資料の表示 */
:is(body,.cotonari):has(.main-wrap.page-staff) .hero-inner>.imgbox>img,:is(body,.cotonari):has(.main-wrap.page-representative) .hero-inner>.imgbox>img{object-position:center 20%;}
:is(body,.cotonari) .signature{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:30px;}
:is(body,.cotonari) .signature>div,:is(body,.cotonari) .signature>a{width:24px;height:24px;flex:none;}
:is(body,.cotonari) .signature>div>div{width:100%;height:100%;}
:is(body,.cotonari) .signature img{display:block;width:100%;height:100%;object-fit:contain;}
:is(body,.cotonari) .document-link>.txtbox{display:flex;flex-direction:column;flex:1;min-width:0;width:auto;height:auto;gap:4px;}
:is(body,.cotonari) .document-link>.document-icon{flex:none;width:20px;height:20px;}
:is(body,.cotonari) .document-link p{color:#fff;line-height:1.5;overflow-wrap:anywhere;}
:is(body,.cotonari) .content-section:has(>.more_btn){display:flex;flex-direction:column;align-items:center;}
:is(body,.cotonari) .content-section:has(>.more_btn)>.section-heading{width:100%;}
:is(body,.cotonari) .news-rows.news_list .webgene-blog .webgene-item>a{grid-template-columns:120px 110px minmax(0,1fr);gap:20px;padding:0;}
:is(body,.cotonari) .news-rows.news_list .webgene-item .news_cate{border:1px solid #9a9189;border-radius:999px;background:#fff;padding:5px 14px;}
:is(body,.cotonari) .footer-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:70px;}
:is(body,.cotonari) .footer-brand .footer-copy{grid-column:auto;margin:0;padding:0;border:0;text-align:left;}
:is(body,.cotonari) .footer-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
:is(body,.cotonari) .footer-link-column{display:flex;flex-direction:column;gap:18px;min-width:0;}
:is(body,.cotonari) .footer-link-column>a{display:flex;align-items:flex-start;gap:8px;}
:is(body,.cotonari):has(.header.on) .image-card>.imgbox{/* 通常写真の動きを停止。元に戻す場合はこのコメントを解除：animation:cnPhotoFloat 7s ease-in-out infinite; */;}
:is(body,.cotonari):has(.header.on) .image-card:nth-child(even)>.imgbox{animation-delay:-3.5s;}
@media(max-width:1080px){:is(body,.cotonari) .footer-brand{gap:35px;}:is(body,.cotonari) .footer-inner{align-items:start;}}
@media(max-width:900px){
:is(body,.cotonari) .news-rows.news_list .webgene-blog .webgene-item>a{grid-template-columns:100px minmax(0,1fr);gap:12px;}
:is(body,.cotonari) .news-rows.news_list .webgene-item .news_ttl{grid-column:1/-1;grid-row:2;}
}
@media(max-width:576px){
:is(body,.cotonari) .footer-brand{align-items:center;gap:25px;}
:is(body,.cotonari) .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));}
:is(body,.cotonari) .footer-link-column{display:contents;}
:is(body,.cotonari) .signature{flex-wrap:wrap;}
}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari):has(.header.on) .image-card>.imgbox{animation:none!important;translate:none;rotate:none;}}
/* フォームの見出しと必須表示 */
:is(body,.cotonari) .form-title>p{color:#6b5e56;}
:is(body,.cotonari):has(.header.on) .required-box>h3::after{background:#c00;border-radius:0;}
:is(body,.cotonari) .cotonari-news .cate_tabs{justify-content:center;}
:is(body,.cotonari) .cotonari-news .cate_tab.is-on a{background:#ffe057;border-color:#ffe057;color:#3d3732;}
:is(body,.cotonari) .cotonari-news .webgene-pagination .selected a{background:#ffe057;border-color:#ffe057;color:#3d3732;}
:is(body,.cotonari) .news-rows{max-width:1200px;}
:is(body,.cotonari) .data-table:not(.data-table--lines):not(:has(>.table-title))>.data-row:nth-child(odd){background:#fff;}
:is(body,.cotonari) .data-table:not(.data-table--lines):not(:has(>.table-title))>.data-row:nth-child(even){background:transparent;}
:is(body,.cotonari) .section-heading{width:100%;}
:is(body,.cotonari):has(.main-wrap.page-child-development) .content-section>.more_btn{--button-bg:#87ced6;}

@media(max-width:576px){
:is(body,.cotonari) .contact-panel>.contact-intro{text-align:left;}
}

:is(body,.cotonari) .info-card .card-head>.imgbox{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:auto!important;aspect-ratio:1;}

@media(max-width:900px){
:is(body,.cotonari) .support-grid>.support-card:nth-child(odd){background:#fee6e8;}
:is(body,.cotonari) .support-grid>.support-card:nth-child(even){background:#ffefe3;}
}

/* 子育て応援：サービス名のリボン見出し */
:is(body,.cotonari):has(.main-wrap.page-parenting) .panel-heading>p{color:#6b5e56;font-size:clamp(12px,1.12vw,16px);font-weight:700;letter-spacing:.08em;line-height:1.6;margin-bottom:6px;}
:is(body,.cotonari):has(.main-wrap.page-parenting) .ribbon-heading{width:min(100%,420px);min-height:0;aspect-ratio:8/1;}
:is(body,.cotonari):has(.main-wrap.page-parenting) .ribbon-heading>h2{color:#6b5e56;font-family:var(--font-en);font-size:clamp(22px,2.23vw,32px);font-weight:600;letter-spacing:.16em;line-height:1.2;padding:0 24px;}

/* 共通：番号付きの画像カード（POINT） */
:is(body,.cotonari) .numbered-cards .imgbox{aspect-ratio:7/5;}
:is(body,.cotonari) .numbered-cards .imgbox>img{border-radius:46% 40% 43% 37% / 47% 43% 46% 40%;}
:is(body,.cotonari) .numbered-cards .number{left:0;top:0;width:60px;height:60px;}
:is(body,.cotonari) .numbered-cards .number p{font-family:var(--font-en);font-size:14px;line-height:1.1;letter-spacing:.08em;text-align:center;}
:is(body,.cotonari) .numbered-cards .txtbox{gap:20px;}
:is(body,.cotonari) .numbered-cards .txtbox>p{line-height:1.7;}
/* 共通：フォームとプライバシーポリシー */
:is(body,.cotonari) .privacy-bt{cursor:pointer;}
:is(body,.cotonari) .privacypolicy{display:block;position:fixed;inset:0;z-index:10000;background:rgba(61,55,50,.5);padding:clamp(20px,5vw,60px);margin:0;border:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s;overflow-y:auto;overscroll-behavior:contain;}
:is(body,.cotonari) .privacypolicy.is-open{display:block;opacity:1;visibility:visible;pointer-events:auto;}
:is(body,.cotonari) .privacypolicy .contents{max-width:900px;margin:40px auto;padding:clamp(24px,5vw,60px);background:#fbf9f7;border-radius:20px;}
:is(body,.cotonari) .privacypolicy .contents>p{line-height:1.9;}
:is(body,.cotonari) .privacypolicy .close-bt{display:block;width:fit-content;margin-left:auto;color:#fff;}
html:has(:is(body,.cotonari):has(.header.privacy-open)){overflow:hidden;}
@media(max-width:576px){:is(body,.cotonari) .numbered-cards .number{width:48px;height:48px;}:is(body,.cotonari) .numbered-cards .number p{font-size:12px;}}

/* 共通：画像ライトボックス */
:is(body,.cotonari) .menu-lightbox-link{display:block;cursor:zoom-in;}
:is(body,.cotonari) .menu-hint{text-align:center;margin-top:16px;}
:is(body,.cotonari) .image-lightbox{position:fixed;inset:0;z-index:11000;background:rgba(40,36,33,.9);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s,visibility .3s;}
:is(body,.cotonari) .image-lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;}
:is(body,.cotonari) .lightbox-tools{position:absolute;inset:16px 20px auto;display:flex;justify-content:flex-end;gap:12px;z-index:1;}
:is(body,.cotonari) .lightbox-tools>a{display:block;padding:10px 18px;background:#fff;color:#3d3732;border-radius:24px;}
:is(body,.cotonari) .lightbox-view{position:absolute;inset:80px 20px 20px;overflow:auto;overscroll-behavior:contain;display:flex;align-items:safe center;justify-content:safe center;}
:is(body,.cotonari) .lightbox-view>img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;flex-shrink:0;}
:is(body,.cotonari) .image-lightbox.is-zoomed .lightbox-view{display:block;}
:is(body,.cotonari) .image-lightbox.is-zoomed .lightbox-view>img{width:max(100%,1000px);max-width:none;max-height:none;height:auto;cursor:zoom-out;}
html:has(:is(body,.cotonari):has(.header.image-lightbox-open)){overflow:hidden;}
@media(max-width:576px){:is(body,.cotonari) .menu-hint{text-align:left;}:is(body,.cotonari) .lightbox-view{inset:76px 12px 20px;}:is(body,.cotonari) .lightbox-tools{inset:12px 12px auto;}}

/* お知らせ一覧：CMSの出力構造をそのまま使用 */
:is(body,.cotonari) .cotonari-news>.inner{max-width:1200px;width:100%;margin-inline:auto;}
:is(body,.cotonari) .cotonari-news .cate_tabs{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:80px;}
:is(body,.cotonari) .cotonari-news .cate_tabs>.webgene-blog{display:flex;flex-wrap:wrap;gap:10px;width:auto;margin:0;padding:0;background:none;}
:is(body,.cotonari) .cotonari-news .cate_tabs .webgene-item{width:auto;margin:0;padding:0;}
:is(body,.cotonari) .cotonari-news .cate_tabs a{display:block;background:#fff;border:0;border-radius:999px;padding:6px 20px;}
:is(body,.cotonari) .cotonari-news .cate_tabs p{line-height:1.5;}
:is(body,.cotonari) .cotonari-news .cate_tab.is-on a{background:#ffe057;}
:is(body,.cotonari) .cotonari-news .news-rows>.webgene-blog{padding:40px 100px 80px;border-radius:100px;}
:is(body,.cotonari) .cotonari-news .news-rows .webgene-item{margin:0;padding:40px 0;border-bottom:1px solid #e4e1de;}
:is(body,.cotonari) .cotonari-news .news-rows.news_list .webgene-item>a{display:grid;grid-template-columns:120px 100px minmax(0,1fr);gap:20px;align-items:center;}
:is(body,.cotonari) .cotonari-news .news-rows .news_date{font-family:var(--font-en);white-space:nowrap;}
:is(body,.cotonari) .cotonari-news .news-rows.news_list .news_cate{padding:3px 12px;line-height:1.5;}
:is(body,.cotonari) .cotonari-news .news-rows.news_list .news_ttl{grid-column:auto;grid-row:auto;line-height:1.7;overflow-wrap:anywhere;}
:is(body,.cotonari) .cotonari-news .webgene-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin-top:80px;}
:is(body,.cotonari) .cotonari-news .webgene-pagination:empty{display:none;}
:is(body,.cotonari) .cotonari-news .webgene-pagination a,:is(body,.cotonari) .cotonari-news .webgene-pagination span{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px;border:1px solid #e1dcd6;border-radius:50%;color:#3d3732;}
:is(body,.cotonari) .cotonari-news .webgene-pagination .selected a,:is(body,.cotonari) .cotonari-news .webgene-pagination .current,:is(body,.cotonari) .cotonari-news .webgene-pagination a.active{background:#ffe057;border-color:#ffe057;}
@media(max-width:900px){
:is(body,.cotonari) .cotonari-news .cate_tabs{margin-bottom:40px;}
:is(body,.cotonari) .cotonari-news .news-rows>.webgene-blog{padding:20px 40px 40px;border-radius:60px;}
:is(body,.cotonari) .cotonari-news .news-rows .webgene-item{padding:28px 0;}
:is(body,.cotonari) .cotonari-news .news-rows.news_list .webgene-item>a{grid-template-columns:100px 100px minmax(0,1fr);gap:16px;}
:is(body,.cotonari) .cotonari-news .webgene-pagination{margin-top:40px;}
}
@media(max-width:576px){
:is(body,.cotonari) .cotonari-news .cate_tabs{gap:8px;}
:is(body,.cotonari) .cotonari-news .cate_tabs a{padding:6px 14px;}
:is(body,.cotonari) .cotonari-news .news-rows>.webgene-blog{padding:8px 20px 28px;border-radius:32px;}
:is(body,.cotonari) .cotonari-news .news-rows.news_list .webgene-item>a{grid-template-columns:100px minmax(0,1fr);gap:12px;}
:is(body,.cotonari) .cotonari-news .news-rows.news_list .news_cate{justify-self:start;}
:is(body,.cotonari) .cotonari-news .news-rows.news_list .news_ttl{grid-column:1/-1;grid-row:2;}
}

/* カテゴリ・ページャー：選択中は黄色、通常は白地 */
:is(body,.cotonari) .cotonari-news .cate_tabs .cate_tab:not(.is-on) a,:is(body,.cotonari) .cotonari-news .cate_tabs .webgene-item:not(.selected):not(.is-on) a{background:#fff;color:#3d3732;}
:is(body,.cotonari) .cotonari-news .cate_tabs .cate_tab.is-on a,:is(body,.cotonari) .cotonari-news .cate_tabs .webgene-item.selected a,:is(body,.cotonari) .cotonari-news .cate_tabs .webgene-item.is-on a{background:#ffe057;color:#3d3732;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>.pagination-list{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;list-style:none;margin:0;padding:0;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>.pagination-list>.number{display:block;list-style:none;margin:0;padding:0;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>.pagination-list>.number>a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #e1dcd6;border-radius:50%;background:transparent;color:#3d3732;font-family:var(--font-en);transition:background .3s,border-color .3s;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>.pagination-list>.number.selected>a{background:#ffe057;border-color:#ffe057;}
@media(hover:hover){:is(body,.cotonari) .cotonari-news .webgene-pagination>.pagination-list>.number:not(.selected)>a:hover{background:#fff2ae;border-color:#ffe057;}}

/* 共通ボタン：自然な色変化と矢印の動き */
:is(body,.cotonari) .more_btn>div{transition:background .35s ease;}
:is(body,.cotonari) .more_btn>div>img{transition:translate .35s ease;}
@media(hover:hover){
:is(body,.cotonari) .more_btn:hover{background:color-mix(in srgb,var(--button-bg,#f29d5f) 90%,#7b4931);box-shadow:0 5px 14px rgba(107,94,86,.12);}
:is(body,.cotonari) .more_btn:hover>div:not(.header_mail){background:var(--button-circle,#ffffff66);}
:is(body,.cotonari) .more_btn:hover>div:not(.header_mail)>img{translate:3px 0;}
}
:is(body,.cotonari) .more_btn:focus-visible{outline:2px solid #6b5e56;outline-offset:4px;}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari) .more_btn,:is(body,.cotonari) .more_btn>div,:is(body,.cotonari) .more_btn>div>img{transition:none;}:is(body,.cotonari) .more_btn:hover>div>img{translate:none;}}

/* プロフィール：項目ごとの開閉 */
:is(body,.cotonari) .profile-title{position:relative;cursor:pointer;color:inherit;transition:margin-bottom .35s ease;}
:is(body,.cotonari) .profile-title:focus-visible{outline:2px solid #6b5e56;outline-offset:5px;}
:is(body,.cotonari) .profile-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s ease,opacity .35s ease;opacity:1;}
:is(body,.cotonari) .profile-body>.prose{min-height:0;overflow:hidden;}
:is(body,.cotonari) .profile-item.is-closed>.profile-body{grid-template-rows:0fr;opacity:0;}
:is(body,.cotonari) .profile-item.is-closed>.profile-title{margin-bottom:0;}
:is(body,.cotonari):has(.header.on) .profile-title::after{content:"";position:absolute;right:14px;top:9px;width:2px;height:12px;background:#fff;scale:1 0;transition:scale .35s ease;pointer-events:none;}
:is(body,.cotonari):has(.header.on) .profile-item.is-closed>.profile-title::after{scale:1 1;}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari) .profile-body,:is(body,.cotonari) .profile-title,:is(body,.cotonari):has(.header.on) .profile-title::after{transition:none;}}

/* 共通：沿革の年表 */
:is(body,.cotonari) .timeline--history .date>p{font-family:var(--font-en),var(--font-ja);font-size:clamp(16px,1.4vw,20px);font-weight:600;line-height:1.6;white-space:nowrap;}
:is(body,.cotonari) .timeline--history .txtbox>.default_title4{font-size:inherit;font-weight:700;}
:is(body,.cotonari) .timeline--history .txtbox>p{margin:0;}
:is(body,.cotonari) .timeline--history .timeline-item{padding-block:28px;}
@media(max-width:576px){
:is(body,.cotonari) .timeline--history .timeline-item{grid-template-columns:100px minmax(0,1fr);gap:24px;padding-block:22px;}
:is(body,.cotonari):has(.header.on) .timeline--history::before{left:110px;}
:is(body,.cotonari):has(.header.on) .timeline--history .timeline-item::before{left:107px;}
}

/* フォームの選択肢：丸と本文を同じ行に配置 */
:is(body,.cotonari) .contact-form .check-wrap{display:flex;flex-direction:column;gap:14px;}
:is(body,.cotonari) .contact-form .check-box{display:flex;align-items:flex-start;gap:10px;min-width:0;}
:is(body,.cotonari) .contact-form .check-box>input[type=radio]{flex:0 0 18px;width:18px;height:18px;margin:4px 0 0;accent-color:#f29d5f;}
:is(body,.cotonari) .contact-form .check-box>p{flex:1;min-width:0;margin:0;line-height:1.7;cursor:pointer;}
:is(body,.cotonari) .privacypolicy .contents>h2{margin-bottom:28px;}
:is(body,.cotonari) .privacypolicy .box-wrap>.box{margin-top:30px;}
:is(body,.cotonari) .privacypolicy .box-wrap>.box>h3{font-weight:700;margin-bottom:12px;}
:is(body,.cotonari) .privacypolicy .contents p{line-height:1.9;overflow-wrap:anywhere;}
:is(body,.cotonari) .privacypolicy .contents a{color:#ad5f32;overflow-wrap:anywhere;}
:is(body,.cotonari) .privacypolicy .close-bt{position:sticky;top:0;z-index:1;background:#6b5e56;border-radius:24px;padding:8px 20px;}

/* 沿革：見出しの中央にドットと縦線を揃える */
:is(body,.cotonari) .timeline--history{--history-dot-top:calc(28px + .9em);}
:is(body,.cotonari):has(.header.on) .timeline--history::before{display:none;}
:is(body,.cotonari):has(.header.on) .timeline--history .timeline-item::before{top:var(--history-dot-top);transform:translateY(-50%);}
:is(body,.cotonari):has(.header.on) .timeline--history .timeline-item::after{content:"";position:absolute;left:185px;top:var(--history-dot-top);bottom:calc(-1 * var(--history-dot-top));border-left:1px dashed #e6ded6;pointer-events:none;}
:is(body,.cotonari):has(.header.on) .timeline--history .timeline-item:last-child::after{display:none;}
@media(max-width:576px){
:is(body,.cotonari) .timeline--history{--history-dot-top:calc(22px + .9em);}
:is(body,.cotonari):has(.header.on) .timeline--history .timeline-item::after{left:110px;}
}

/* 英語表記の共通フォント */
:is(body,.cotonari) .font-en,:is(body,.cotonari) .inline-label>p{font-family:var(--font-en);}

/* フッター：電話番号 */
:is(body,.cotonari) .footer-tel>p:first-child{font-family:var(--font-en);font-size:clamp(20px,1.6vw,24px);font-weight:700;letter-spacing:.08em;margin-bottom:20px;}
:is(body,.cotonari) .footer-tel>p:nth-child(2){color:#6b5e56;font-weight:700;}
:is(body,.cotonari) .footer-tel-list{margin-top:22px;}
:is(body,.cotonari) .footer-tel-list>a{grid-template-columns:clamp(64px,7vw,100px) 28px max-content;justify-content:start;gap:10px;min-height:46px;}
:is(body,.cotonari) .footer-tel-list>a>p:first-child{font-family:var(--font-en);color:#6b5e56;font-weight:600;letter-spacing:.03em;}
:is(body,.cotonari) .footer-tel-list>a>p:last-child{font-family:var(--font-en);font-size:clamp(16px,1.4vw,20px);font-weight:700;letter-spacing:.06em;color:#f29d5f;}
:is(body,.cotonari) .footer-tel-list>a>div,:is(body,.cotonari) .footer-tel-list img{width:28px;height:28px;}
@media(max-width:576px){:is(body,.cotonari) .footer-tel-list>a{gap:8px;}}

/* SP：ヘッダーと装飾の横はみ出しを防ぐ */
html:has(:is(body,.cotonari)),body{overflow-x:hidden;}
@media(max-width:576px){
:is(body,.cotonari) .header{width:auto;max-width:100%;box-sizing:border-box;padding:8px 10px;}
:is(body,.cotonari) .header_inner{width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:64px;padding:6px 16px;gap:12px;justify-content:space-between;}
:is(body,.cotonari) .header .logo{flex:0 1 100px;width:100px;min-width:0;max-width:100px;}
:is(body,.cotonari) .header .logo>img{display:block;width:100%;max-width:100%;height:auto;}
:is(body,.cotonari) .header .menu-bt{flex:0 0 44px;width:44px;height:44px;margin-left:auto;}
:is(body,.cotonari) .header .head_menu,:is(body,.cotonari) .header .header_contact{display:none!important;}
}

:is(body,.cotonari) .timeline-item>.date>p{font-family:var(--font-en);font-variant-numeric:tabular-nums;}

/* FAQ：最初は閉じた状態で項目ごとに開閉 */
:is(body,.cotonari) .faq-question{position:relative;color:inherit;cursor:pointer;}
:is(body,.cotonari) .faq-question:focus-visible{outline:2px solid #6b5e56;outline-offset:5px;}
:is(body,.cotonari) .faq-body{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .35s ease,opacity .35s ease;}
:is(body,.cotonari) .faq-body>.faq-row{min-height:0;overflow:hidden;grid-template-columns:30px minmax(0,1fr);padding-top:24px;transition:padding-top .35s ease;}
:is(body,.cotonari) .faq-body .faq-mark{color:#87ced6;}
:is(body,.cotonari) .faq-item.is-closed>.faq-body{grid-template-rows:0fr;opacity:0;}
:is(body,.cotonari) .faq-item.is-closed>.faq-body>.faq-row{padding-top:0;}
:is(body,.cotonari) .faq-question>img{transition:rotate .35s ease;}
:is(body,.cotonari) .faq-item:not(.is-closed)>.faq-question>img{rotate:45deg;}
@media(max-width:576px){:is(body,.cotonari) .faq-body>.faq-row{grid-template-columns:24px minmax(0,1fr);}}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari) .faq-body,:is(body,.cotonari) .faq-body>.faq-row,:is(body,.cotonari) .faq-question>img{transition:none;}}

/* FAQ：見本に合わせたQ・Aと開閉マーク */
:is(body,.cotonari) .faq-item{padding:clamp(22px,3vw,34px);border-radius:22px;}
:is(body,.cotonari) .faq-question{grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:14px;border:0;outline:none;box-shadow:none;text-decoration:none;}
:is(body,.cotonari) .faq-question:focus{outline:none;}
:is(body,.cotonari) .faq-question:focus-visible{outline:none;box-shadow:0 0 0 2px #ffe057;border-radius:6px;}
:is(body,.cotonari) .faq-mark{font-family:var(--font-en);font-size:clamp(28px,2.5vw,36px);font-weight:500;line-height:1.2;}
:is(body,.cotonari) .faq-question>h3{font-size:inherit;font-weight:500;line-height:1.8;}
:is(body,.cotonari) .faq-question>img,:is(body,.cotonari) .faq-item:not(.is-closed)>.faq-question>img{display:block;width:28px;height:28px;rotate:90deg;}
:is(body,.cotonari):has(.header.on) .faq-question::after{content:"";position:absolute;right:13px;top:50%;width:2px;height:12px;background:#6b5e56;translate:0 -50%;scale:1 0;transition:scale .35s ease;pointer-events:none;}
:is(body,.cotonari):has(.header.on) .faq-item.is-closed>.faq-question::after{scale:1 1;}
:is(body,.cotonari) .faq-body{margin-top:20px;transition:grid-template-rows .35s ease,opacity .35s ease,margin-top .35s ease;}
:is(body,.cotonari) .faq-body>.faq-row{grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding-top:22px;border-top:1px solid #e7e4e1;}
:is(body,.cotonari) .faq-body>.faq-row>p:last-child{padding-top:3px;line-height:1.8;}
:is(body,.cotonari) .faq-item.is-closed>.faq-body{margin-top:0;}
:is(body,.cotonari) .faq-item.is-closed>.faq-body>.faq-row{border-top:0;padding-top:0;}
@media(max-width:576px){:is(body,.cotonari) .faq-question{grid-template-columns:28px minmax(0,1fr) 28px;gap:10px;}:is(body,.cotonari) .faq-body>.faq-row{grid-template-columns:28px minmax(0,1fr);gap:10px;}}

/* html・bodyにクラスを付けず、内側のサイト要素へ集約 */
body{font-family:var(--font-ja);color:#3d3732;background:#fbf9f7;line-height:1.8;overflow-x:hidden;}

/* 送信完了 */
:is(body,.cotonari) .thanksbox{max-width:1100px;margin-inline:auto;text-align:center;padding-block:clamp(70px,9vw,130px);}
:is(body,.cotonari) .thanksbox .section-heading>h1{font-family:var(--font-en);font-size:clamp(30px,3.47vw,50px);font-weight:600;letter-spacing:.08em;line-height:1.2;}
:is(body,.cotonari) .thanksbox .prose{color:#6b5e56;line-height:1.9;margin-bottom:36px;}
:is(body,.cotonari) .thanksbox .prose>p+p{margin-top:20px;}
:is(body,.cotonari) .thanksbox>.more_btn{align-self:center;}
@media(max-width:576px){:is(body,.cotonari) .thanksbox .prose{text-align:left;}}

/* 本文とフッター：タブレット幅での折り返しを調整 */
@media(max-width:1080px){:is(body,.cotonari) .message-panel>.prose{text-align:left;}}
:is(body,.cotonari) .footer-tel-list>a{grid-template-columns:max-content 28px max-content;column-gap:12px;}
:is(body,.cotonari) .footer-tel-list>a>p:first-child{min-width:88px;white-space:nowrap;}
:is(body,.cotonari) .footer-links a>p,:is(body,.cotonari) .footer-copy{white-space:nowrap;}
:is(body,.cotonari) .footer-link-column>a{min-width:0;}
@media(min-width:1381px){:is(body,.cotonari) .footer-inner{grid-template-columns:170px 320px minmax(0,1fr);gap:32px;}:is(body,.cotonari) .footer-links{grid-template-columns:repeat(3,max-content);justify-content:space-between;gap:20px;}}
@media(min-width:577px) and (max-width:1380px){
:is(body,.cotonari) .footer-inner{grid-template-columns:180px minmax(0,1fr);gap:40px;}
:is(body,.cotonari) .footer-menu{grid-column:1/-1;}
:is(body,.cotonari) .footer-links{grid-template-columns:repeat(3,max-content);justify-content:space-between;gap:24px;}
}
@media(max-width:576px){
:is(body,.cotonari) .footer-inner{grid-template-columns:minmax(0,1fr);}
:is(body,.cotonari) .footer-menu{grid-column:1;}
:is(body,.cotonari) .footer-links{grid-template-columns:minmax(0,1fr);gap:18px;}
:is(body,.cotonari) .footer-tel-list>a{grid-template-columns:80px 28px max-content;column-gap:8px;}
:is(body,.cotonari) .footer-tel-list>a>p:first-child{min-width:0;}
}
@media(max-width:360px){:is(body,.cotonari) .footer-tel-list>a{grid-template-columns:72px 24px max-content;column-gap:6px;}:is(body,.cotonari) .footer-tel-list>a>p{font-size:14px;}:is(body,.cotonari) .footer-tel-list>a>p:last-child{font-size:14px;}:is(body,.cotonari) .footer-tel-list>a>div,:is(body,.cotonari) .footer-tel-list img{width:24px;height:24px;}}

@media(min-width:577px){
:is(body,.cotonari) .footer-links{justify-content:start;column-gap:clamp(28px,4vw,56px);}
}

@media(max-width:576px){
:is(body,.cotonari) .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;}
:is(body,.cotonari) .footer-links a{gap:6px;}
:is(body,.cotonari) .footer-links a>p{white-space:normal;overflow-wrap:anywhere;}
:is(body,.cotonari) .footer-links a>div{flex-shrink:0;}
}

:is(body,.cotonari) .title-wrap>span{display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:break-word;}

:is(body,.cotonari) .portrait-row>.imgbox{justify-self:center;align-self:center;}

/* Firefox：画像と画像を含むブロックの動きを停止。開閉・メニューには影響しない。 */
@supports (-moz-appearance:none){
:is(body,.cotonari) img,:is(body,.cotonari) .sc-anime:has(img),:is(body,.cotonari) .decoration,:is(body,.cotonari) .photo-circle,:is(body,.cotonari) .attached-circle,:is(body,.cotonari) .recruit-circle,:is(body,.cotonari) .fv-inner>.imgbox,:is(body,.cotonari) .recruit-photo-image,:is(body,.cotonari) .insta_img,:is(body,.cotonari) .staff-card>.imgbox,:is(body,.cotonari) .staff-card>.imgbox::after{animation:none!important;translate:none!important;rotate:none!important;filter:none!important;opacity:1!important;}
}

/* 記事詳細：共通の絶対配置を解除し、画像の高さを本文の流れに含める */
:is(body,.cotonari) .article-content{width:100%;min-width:0;}
:is(body,.cotonari) .article-content>.imgbox{position:relative;flex:none;width:100%;max-width:100%;height:auto!important;}
:is(body,.cotonari) .article-content>.imgbox>img{position:static!important;inset:auto!important;display:block;width:100%;max-width:100%;height:auto!important;object-fit:contain;}
@media(max-width:900px){
:is(body,.cotonari) .article-content{gap:24px;}
:is(body,.cotonari) .article-content>.prose{width:100%;min-width:0;overflow-wrap:anywhere;}
:is(body,.cotonari) .article-content>.more_btn{align-self:center;}
}

/* ENTRY・お問い合わせ：同じフォームのレスポンシブを使用 */
:is(body,.cotonari) .form-inner,:is(body,.cotonari) .contact-form,:is(body,.cotonari) .contact-form form,:is(body,.cotonari) .contact-form .box,:is(body,.cotonari) .contact-form .inputbox{min-width:0;max-width:100%;}
:is(body,.cotonari) .contact-form .inputbox input[type=file]{display:block;width:100%;max-width:100%;min-width:0;font:inherit;}
@media(max-width:900px){
:is(body,.cotonari) .form-inner{width:100%;}
:is(body,.cotonari) .contact-form .box{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:28px;}
:is(body,.cotonari) .contact-form .box>h3{justify-content:flex-start;gap:16px;padding-top:0;}
:is(body,.cotonari) .form-intro{text-align:left;margin-bottom:32px;}
:is(body,.cotonari) .contact-form .check-area{justify-content:flex-start;gap:6px 8px;margin-block:30px;}
:is(body,.cotonari) .contact-form .send{text-align:center;}
}

/* 差し替え画像にも適用する写真の角丸。装飾の外側は切らない。 */
:is(body,.cotonari) .image-card>.imgbox>img{border-radius:30px;object-fit:cover;}
:is(body,.cotonari) .feature-row>.imgbox>img{border-radius:40px;object-fit:cover;}
/* フォーム幅はENTRY・お問い合わせ共通で最大900px。 */
:is(body,.cotonari) .form-section>.form-inner{width:100%;max-width:900px;margin-inline:auto;}
/* 画面内へ80px入ったところで一度だけ表示。JSが無効な場合は非表示にしない。 */
:is(body,.cotonari):has(.header.on) .sc-anime.blurin2:not(.active){opacity:0;}
@media(prefers-reduced-motion:reduce){:is(body,.cotonari):has(.header.on) .sc-anime.blurin2:not(.active){opacity:1;}}
/* CMS標準出力：webgene-pagination > ul > li > a */
:is(body,.cotonari) .cotonari-news .webgene-pagination>ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;list-style:none;margin:0;padding:0;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>ul>li{display:block;list-style:none;margin:0;padding:0;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>ul>li>a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #e1dcd6;border-radius:50%;background:transparent;color:#3d3732;font-family:var(--font-en);transition:background .3s,border-color .3s;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>ul>li>a>p{font:inherit;color:inherit;margin:0;}
:is(body,.cotonari) .cotonari-news .webgene-pagination>ul>li.selected>a{background:#ffe057;border-color:#ffe057;}

/* FV・トップの写真も画像データに依存せずCSSで形を維持 */

/* 私たちについて：写真の配置基準とレスポンシブ */
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.imgbox{position:relative;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.imgbox>img{border-radius:24px;object-fit:cover;}
@media(max-width:900px){
:is(body,.cotonari):has(.main-wrap.page-about) .feature-list{max-width:600px;gap:36px;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item{position:relative;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start;padding-bottom:32px;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.number{grid-column:1;grid-row:1;justify-self:start;z-index:1;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.imgbox{grid-column:1;grid-row:1;width:calc(100% - 48px);max-width:360px;justify-self:center;margin-inline:auto;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.txtbox{grid-column:1;grid-row:2;gap:12px;padding:0;text-align:left;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-row{gap:28px;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-row>.imgbox{max-width:460px;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-row>.txtbox{width:100%;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-row .heading{gap:10px;margin-bottom:20px;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-row .prose{text-align:left;}
}
@media(max-width:576px){
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.number,:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.number>img:first-child{width:46px;height:46px;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item>.imgbox{width:calc(100% - 32px);max-width:300px;}
:is(body,.cotonari):has(.main-wrap.page-about) .feature-item{gap:20px;padding-bottom:28px;}
}

:is(body,.cotonari) .contact-card--guide .contact-icon>img{position:relative;left:2px;}

/* 角ありJPGの表示形状はCSSで指定。画像差し替え後も同じ形を保持。 */


/* ご利用の流れ：差し替え画像にも共通で丸みを適用 */
:is(body,.cotonari) .flow-item>.imgbox{border-radius:45% 40% 43% 38% / 46% 44% 42% 40%;}
:is(body,.cotonari) .flow-item>.imgbox>img{border-radius:inherit;object-fit:cover;}

/* レンタルスペース：角あり写真にCSSで角丸と外枠を付ける */
:is(body,.cotonari) .image-card>.rental-photo>img{box-sizing:border-box;border:clamp(3px,.7vw,5px) solid #f4f2e9;border-radius:clamp(24px,4vw,40px);object-fit:cover;}

:is(body,.cotonari):has(.main-wrap.page-parenting) .image-card>.imgbox>img{box-sizing:border-box;border:clamp(3px,.7vw,5px) solid #f4f2e9;border-radius:clamp(24px,4vw,40px);object-fit:cover;}

/* 差し替え用の共通写真枠：画像名・拡張子に依存しない */
:is(body,.cotonari) .image-card>.imgbox{border-radius:30px;}
:is(body,.cotonari):has(.main-wrap.page-parenting) .image-card>.imgbox{border-radius:clamp(24px,4vw,40px);}
:is(body,.cotonari) .image-card>.imgbox>img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;}
:is(body,.cotonari) .flow-item>.imgbox>img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;}

/* 採用POINT：差し替え写真にも見本と同じ丸い写真枠を適用 */
:is(body,.cotonari):has(.main-wrap.page-recruit) .numbered-cards .image-card>.imgbox{border-radius:38% / 48%;}
:is(body,.cotonari):has(.main-wrap.page-recruit) .numbered-cards .image-card>.imgbox>img{border-radius:inherit;object-fit:cover;}

/* プライバシーポリシー：閉じる操作を見やすい×印に */
:is(body,.cotonari) .privacypolicy .close-bt{display:block;position:sticky;top:0;z-index:3;width:48px;height:48px;box-sizing:border-box;margin-left:auto;padding:0;border:2px solid #fff;border-radius:50%;background:#6b5e56;box-shadow:0 2px 10px #0003;transition:background .2s;}
:is(body,.cotonari) .privacypolicy .close-bt::before,:is(body,.cotonari) .privacypolicy .close-bt::after{content:"";position:absolute;top:50%;left:50%;width:22px;height:3px;border-radius:2px;background:#fff;transform:translate(-50%,-50%) rotate(45deg);}
:is(body,.cotonari) .privacypolicy .close-bt::after{transform:translate(-50%,-50%) rotate(-45deg);}
:is(body,.cotonari) .privacypolicy .close-bt>p{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
:is(body,.cotonari) .privacypolicy .close-bt:hover{background:#493d36;}
:is(body,.cotonari) .privacypolicy .close-bt:focus-visible{outline:3px solid #ff9b57;outline-offset:3px;}

/* CMSのBootstrap .rowの負の余白で波の右端が欠けるのを防ぐ */
:is(body,.cotonari) .wave-edge.row{
  margin-left:0!important;
  margin-right:0!important;
}

/* 公開CMSのBootstrap .rowとの競合を解消し、ローカルと揃える */
:is(body,.cotonari) .row{
  margin-left:0;
  margin-right:0;
  flex-wrap:nowrap;
}
/* カテゴリ名を途中で改行させない */
:is(body, .cotonari) .cotonari-news .news_list .news_cate {
  white-space: nowrap;
  width: max-content;
  justify-self: start;
}

/* PCではカテゴリ列を文字数に合わせる */
@media (min-width: 769px) {
  :is(body, .cotonari) .cotonari-news .news_list .webgene-item > a {
    grid-template-columns: 140px max-content minmax(0, 1fr);
  }
}
/* 記事詳細 */
.webgene-blog.news-detail {
  --detail-text: #3d3732;
  --detail-accent: #f29d5f;
  --detail-border: #e6ddd1;

  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 64px) clamp(18px, 5vw, 64px);
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--detail-border);
  border-radius: clamp(24px, 4vw, 48px);
  color: var(--detail-text);
}

.news-detail > .webgene-item {
  min-width: 0;
}

/* タイトル */
.news-detail > .webgene-item > h1 {
  margin: 0;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.65;
  text-align: center;
  overflow-wrap: anywhere;
}

/* 日付・カテゴリ */
.news-detail > .webgene-item > .meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 20px;
  margin: 24px 0 36px;
}

.news-detail .meta > p {
  margin: 0;
}

.news-detail .meta > .date {
  font-size: 14px;
  color: #756b61;
  font-variant-numeric: tabular-nums;
}

.news-detail .meta > .cate {
  flex: 0 0 auto;
  width: auto;
  padding: 6px 16px;
  border: 1px solid #f4cfb1;
  border-radius: 999px;
  background: #ffefe3;
  font-size: 13px;
  line-height: 1.5;
  white-space: nowrap;
}

/* メイン画像 */
.news-detail > .webgene-item > .imgbox {
  margin: 0 auto 36px;
  text-align: center;
}

.news-detail > .webgene-item > .imgbox:empty {
  display: none;
}

.news-detail .imgbox img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 16px;
}

/* 本文：記事内に指定された文字色は保持 */
.news-detail > .webgene-item > .txt {
  max-width: 760px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 2;
  overflow-wrap: anywhere;
}

.news-detail .txt p {
  margin: 0 0 1.5em;
}

.news-detail .txt h2,
.news-detail .txt h3,
.news-detail .txt h4 {
  margin: 2em 0 1em;
  font-weight: 700;
  line-height: 1.65;
}

.news-detail .txt h2 {
  padding-bottom: 12px;
  border-bottom: 2px solid #f4cfb1;
  font-size: 23px;
}

.news-detail .txt h3 {
  padding-left: 14px;
  border-left: 4px solid var(--detail-accent);
  font-size: 20px;
}

.news-detail .txt h4 {
  font-size: 18px;
}

.news-detail .txt img {
  max-width: 100%;
  height: auto;
}

.news-detail .txt a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.news-detail .txt ul,
.news-detail .txt ol {
  padding-left: 1.5em;
  margin: 1.5em 0;
}

/* 一覧へ戻る */
.news-detail > .webgene-item > .more {
  display: flex;
  justify-content: center;
  margin-top: 48px;
  padding-top: 32px;
  border-top: 1px solid var(--detail-border);
}

.news-detail .more > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 240px;
  max-width: 100%;
  min-height: 56px;
  box-sizing: border-box;
  padding: 12px 24px;
  border: 1px solid var(--detail-accent);
  border-radius: 999px;
  background: #fff;
  color: var(--detail-text);
  text-decoration: none;
  transition: background .2s, color .2s;
}

.news-detail .more > a::before {
  content: "←";
}

.news-detail .more > a p {
  margin: 0;
}

@media (hover: hover) {
  .news-detail .more > a:hover {
    background: var(--detail-accent);
    color: #fff;
  }
}

.news-detail .more > a:focus-visible {
  outline: 2px solid var(--detail-accent);
  outline-offset: 4px;
}
/* 記事詳細 */
#wgc-1792374381046 {
  display: block;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: clamp(28px, 5vw, 64px) clamp(20px, 5vw, 64px);
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #e6ddd1;
  border-radius: 32px;
  color: #3d3732;
}

#wgc-1792374381046 > .webgene-item {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* タイトル */
#wgc-1792374381046 > .webgene-item > h1 {
  position: static;
  width: auto;
  margin: 0 0 24px;
  padding: 0;
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  overflow-wrap: anywhere;
}

/* 日付・カテゴリ */
#wgc-1792374381046 .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 20px;
  margin: 0 0 36px;
}

#wgc-1792374381046 .meta > p {
  width: auto;
  margin: 0;
}

#wgc-1792374381046 .date {
  font-size: 14px;
  color: #756b61;
  white-space: nowrap;
}

#wgc-1792374381046 .cate {
  flex: 0 0 auto;
  padding: 6px 16px;
  border: 1px solid #f4cfb1;
  border-radius: 999px;
  background: #ffefe3;
  font-size: 13px;
  line-height: 1.5;
  white-space: nowrap;
}

/* メイン画像：小さな元画像を無理に引き伸ばさない */
#wgc-1792374381046 .imgbox {
  position: static;
  width: 100%;
  height: auto;
  margin: 0 auto 36px;
  padding: 0;
  text-align: center;
}

#wgc-1792374381046 .imgbox:empty {
  display: none;
}

#wgc-1792374381046 .imgbox img {
  position: static;
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 16px;
  transform: none;
}

/* 本文：元記事の文字色を保持 */
#wgc-1792374381046 .txt {
  display: block;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 2;
  text-align: left;
  overflow-wrap: anywhere;
}

#wgc-1792374381046 .txt p {
  margin: 0 0 1.5em;
}

#wgc-1792374381046 .txt img {
  max-width: 100%;
  height: auto;
}

#wgc-1792374381046 .txt a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* 一覧へ戻る */
#wgc-1792374381046 .more {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 48px 0 0;
  padding: 32px 0 0;
  border-top: 1px solid #e6ddd1;
}

#wgc-1792374381046 .more > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  max-width: 100%;
  min-height: 56px;
  padding: 12px 24px;
  box-sizing: border-box;
  border: 1px solid #f29d5f;
  border-radius: 999px;
  background: #fff;
  color: #3d3732;
  text-decoration: none;
  transition: background .2s, color .2s;
}

#wgc-1792374381046 .more > a::before,
#wgc-1792374381046 .more > a::after {
  content: none;
}

#wgc-1792374381046 .more > a > p {
  margin: 0;
  padding: 0;
}

@media (hover: hover) {
  #wgc-1792374381046 .more > a:hover {
    background: #f29d5f;
    color: #fff;
  }
}

@media (max-width: 768px) {
  #wgc-1792374381046 {
    padding: 28px 20px;
    border-radius: 24px;
  }

  #wgc-1792374381046 .txt {
    font-size: 15px;
    line-height: 1.9;
  }

  #wgc-1792374381046 .meta,
  #wgc-1792374381046 .imgbox {
    margin-bottom: 28px;
  }
}

@media (max-width: 768px) {
  .news-detail > .webgene-item > .meta {
    margin: 20px 0 28px;
  }

  .news-detail > .webgene-item > .txt {
    font-size: 15px;
    line-height: 1.9;
  }

  .news-detail > .webgene-item > .more {
    margin-top: 36px;
    padding-top: 28px;
  }
}
/* メイン画像を最大600pxまで広げる */
#wgc-1792374381046 .imgbox img {
  width: 100%;
  max-width: 600px;
  height: auto;
}
/* プライバシーポリシー：本文・見出しの視認性を改善 */
body #privacy.privacypolicy .contents,
body #privacy.privacypolicy .contents * {
  color: #3d3732 !important;
  text-shadow: none !important;
}

/* 本文中のリンク */
body #privacy.privacypolicy .contents a,
body #privacy.privacypolicy .contents a * {
  color: #804622 !important;
}

body #privacy.privacypolicy .contents a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* フォーム内の「プライバシーポリシー」 */
body .privacy-bt {
  color: #3d3732 !important;
  border-bottom-color: #804622 !important;
}
/* 会社案内：JKAバナー */
body .company-jka {
  padding: 40px 20px;
  text-align: center;
}

body .company-jka > a {
  display: inline-block;
  max-width: 100%;
}

body .company-jka > a > img {
  display: block;
  width: 234px;
  max-width: 100%;
  height: auto;
}

body .company-jka > p {
  margin: 20px auto 0;
  max-width: 760px;
  color: #3d3732;
  font-size: 15px;
  line-height: 1.9;
  text-align: center;
}
/* 下層ヘッダー・TOPサービス写真のクリック制限を解除 */
:is(body, .cotonari) .component-about-image,
:is(body, .cotonari) .component-service-image {
  pointer-events: auto;
}

/* TOP・スタッフ紹介：中央に顔を配置した正方形画像に対応 */
:is(body, .cotonari) .staffbox .portrait > img {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  object-position: center;
  transform: none;
}

/* 代表挨拶：写真の上側を優先し、下側をトリミング */
:is(body, .cotonari) .page-representative .page-hero .hero-inner > .imgbox {
  overflow: hidden;
}

:is(body, .cotonari) .page-representative .page-hero .hero-inner > .imgbox > img {
  object-fit: cover;
  object-position: center top;
  transform: scale(1.12);
  transform-origin: center top;
}
:is(body, .cotonari) .servicebox .component-service-photo-tertiary,
:is(body, .cotonari) .servicebox .component-service-image-secondary {
  pointer-events: auto;
}
:is(body, .cotonari) .main-img .fv-inner > .imgbox > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
/* 児童発達支援：施設ごとの1日の過ごし方 */
:is(body, .cotonari) .page-child-development .day-schedule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 40px);
  max-width: 1200px;
  margin-inline: auto;
  align-items: start;
}

:is(body, .cotonari) .page-child-development .day-schedule-card {
  min-width: 0;
  padding: clamp(24px, 3vw, 40px);
  border-radius: clamp(24px, 3vw, 40px);
  background: #fff;
}

:is(body, .cotonari) .page-child-development .day-schedule-title {
  margin: 0 0 24px;
  color: #ed828b;
  font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

:is(body, .cotonari) .page-child-development .day-schedule-card--cohaku .day-schedule-title {
  color: #6b5e56;
}

:is(body, .cotonari) .page-child-development .day-schedule-card .timeline {
  width: 100%;
  max-width: none;
}

:is(body, .cotonari) .page-child-development .day-schedule-card .timeline-item {
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 28px;
  min-height: 80px;
  padding-block: 18px;
}

:is(body, .cotonari) .page-child-development .day-schedule-card .time-title {
  font-size: clamp(18px, 1.7vw, 22px);
}

:is(body, .cotonari):has(.header.on) .page-child-development .day-schedule-card .timeline::before {
  left: 93px;
  top: 28px;
  bottom: 28px;
}

:is(body, .cotonari):has(.header.on) .page-child-development .day-schedule-card .timeline-item::before {
  left: 90px;
  top: 28px;
}

:is(body, .cotonari) .page-child-development .day-schedule-guide {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 24px auto 0;
  color: #6b5e56;
  text-decoration: underline;
  text-underline-offset: 5px;
  transition: opacity .35s ease;
}

:is(body, .cotonari) .page-child-development .day-schedule-guide > p {
  color: inherit;
}

@media screen and (max-width: 1080px) {
  :is(body, .cotonari) .page-child-development .day-schedule-card {
    padding: 24px 20px;
  }

  :is(body, .cotonari) .page-child-development .day-schedule-card .timeline-item {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 24px;
  }

  :is(body, .cotonari):has(.header.on) .page-child-development .day-schedule-card .timeline::before {
    left: 81px;
  }

  :is(body, .cotonari):has(.header.on) .page-child-development .day-schedule-card .timeline-item::before {
    left: 78px;
  }
}

@media screen and (max-width: 768px) {
  :is(body, .cotonari) .page-child-development .day-schedule-grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: 600px;
    gap: 28px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1380px) {
  :is(body, .cotonari) .footer-inner {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 36px clamp(24px, 4vw, 56px);
    align-items: start;
  }

  :is(body, .cotonari) .footer-tel {
    width: 100%;
    max-width: 380px;
    justify-self: end;
  }

  :is(body, .cotonari) .footer-menu {
    grid-column: 1 / -1;
    width: 100%;
    padding-top: 28px;
    border-top: 1px solid #e9dfc8;
  }

  :is(body, .cotonari) .footer-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: stretch;
    column-gap: clamp(20px, 3vw, 40px);
    width: 100%;
  }

  :is(body, .cotonari) .footer-link-column {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
  }

  :is(body, .cotonari) .footer-links a > p {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }
}
@media screen and (max-width: 576px) {
  :is(body, .cotonari) .footer-brand {
    align-items: center;
  }

  :is(body, .cotonari) .footer-brand .footer-logo {
    align-self: center;
    margin-inline: auto;
  }
}
@media screen and (max-width: 576px) {
  :is(body, .cotonari) .page-hero .hero-inner > .heading > p {
    width: 100%;
    text-align: center;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    line-height: 1.5;
  }
}
@media screen and (max-width: 576px) {
  :is(body, .cotonari) .page-about .heading,
  :is(body, .cotonari) .page-about .section-heading {
    align-items: center;
    text-align: center;
  }

  :is(body, .cotonari) .page-about .heading > .title-wrap {
    align-items: center;
    text-align: center;
  }

  :is(body, .cotonari) .page-about .heading > p,
  :is(body, .cotonari) .page-about .section-heading > p {
    text-align: center;
  }
}
@media screen and (max-width: 576px) {
  :is(body, .cotonari) .page-about .feature-list .feature-item > .txtbox > p:first-child {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 576px) {
  :is(body, .cotonari) .page-child-development .heading,
  :is(body, .cotonari) .page-child-development .section-heading {
    align-items: center;
    text-align: center;
  }

  :is(body, .cotonari) .page-child-development .heading > .title-wrap {
    align-items: center;
    text-align: center;
  }

  :is(body, .cotonari) .page-child-development .heading > p,
  :is(body, .cotonari) .page-child-development .section-heading > p,
  :is(body, .cotonari) .page-child-development .support-card > .txtbox > .default_title4 {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 576px) {
  :is(body, .cotonari) .main-wrap .heading,
  :is(body, .cotonari) .main-wrap .section-heading {
    align-items: center;
    text-align: center;
  }

  :is(body, .cotonari) .main-wrap .heading > .title-wrap {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  :is(body, .cotonari) .main-wrap .heading > :is(h1, h2, h3, p),
  :is(body, .cotonari) .main-wrap .section-heading > :is(h1, h2, h3, p),
  :is(body, .cotonari) .main-wrap .txtbox > :is(
    .default_title1,
    .default_title2,
    .default_title3,
    .default_title4
  ),
  :is(body, .cotonari) .main-wrap .feature-list .feature-item > .txtbox > p:first-child {
    width: 100%;
    text-align: center;
  }
}
 .footer-copy {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: .03em;
  color: #8d8178;
  white-space: nowrap;
}

@media screen and (max-width: 576px) {
 .footer-copy {
    width: 100%;
    text-align: center;
  }
}