@charset "utf-8";
/*
Theme Name: 株式会社三丸製作所
Theme URI: https://sanmaru-seisaku.com
Description: 株式会社三丸製作所のテーマです
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video,input,select,textarea,button {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
	box-sizing: border-box;
	letter-spacing:2px;
	font-family: "Century Gothic", "Teko", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "Bebas Neue", sans-serif;
	font-weight:500;
}

@media (max-width: 980px){
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video,input,select,textarea,button {
	font-family: "Century Gothic", "Teko", "Avenir-Light", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "Bebas Neue", sans-serif;
	font-weight:500;
	letter-spacing:1px;
}
}

html {
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	scroll-behavior:smooth;
	scroll-padding-top:220px;
    font-size: 62.5%;
}

body {
	overflow:hidden;
	color:#333;
	font-family: "Century Gothic", "Teko", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "Bebas Neue", sans-serif;
	font-weight:400;
    font-size:1.6rem;/* 16px*/
    line-height: 2;
}

@media (max-width: 980px){
html {
	scroll-padding-top:160px;
}
}

/*全体フェードイン*/
@media (min-width: 980px){
body {
    animation: BgfadeIn 1s ease 0s 1 normal;
    -webkit-animation: BgfadeIn 1s ease 0s 1 normal;
}
}

@keyframes BgfadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes BgfadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@media (max-width: 980px){
body {
	font-family: "Century Gothic", "Avenir-Light", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "Bebas Neue", sans-serif;
}
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p, dl, li, span, small, strong, b, a, dt, dd {
    font-size: 1em;
}

h1, h2, h3, h4, h5, h6 {
}

p {
	line-height:2;
}

section {
}

blockquote, q {
	quotes: none;
	box-sizing: border-box;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
	box-sizing: border-box;
}

input, textarea, {
	margin: 0;
	padding: 0;
	box-sizing:border-box;
}

a:focus {
	outline: none;
}

header:after, footer:after {
	content : "";
	display : block;
	height : 0;
	clear : both;
}

br {
	letter-spacing: 0;
}

img {
	width: auto;
	height:auto;
	max-width:100%;
	border: 0;
	vertical-align: bottom;
	box-sizing: border-box;
	vertical-align: top;
}

.clear {
	clear: both;
}

/*リスト*/
ul {
	list-style: none;
	box-sizing: border-box;
}
ol {
	box-sizing: border-box;
}

/*テーブル*/
table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	box-sizing: border-box;
}

.wp-block-table td, 
.wp-block-table th {
	padding:2rem 3rem;
	font-size:clamp(15px, 1.5vw, 18px);
}

.wp-block-table.th-w20 th,
.wp-block-table.th-w20 td:nth-child(1) {
	width:20%;
	text-align:center;
	vertical-align:middle;
}

caption, th {
	text-align: left;
	box-sizing: border-box;
}

@media (max-width: 980px){
.wp-block-table td,
.wp-block-table th {
    padding: 1rem;
	vertical-align:middle;
}

.wp-block-table.th-w20 th,
.wp-block-table.th-w20 td:nth-child(1) {
	width:32%;
}
}

/*文字色のスタイル*/
a:link, a:visited {
	text-decoration: none;
	overflow: hidden;
	color:#111;
}

a:hover {
	text-decoration: none;
}

/*boxのスタイル*/
.box100 {
	display:block;
    clear: both;
    width: 100%;
    margin: 0 auto;
	padding-left:6rem;
	padding-right:6rem;
    position: relative;
}

.box1000 {
	display:block;
    clear: both;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}

.box1200 {
	display:block;
    clear: both;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}

.box1440 {
	display:block;
    clear: both;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
}

@media (max-width:1490px) {
.base {
	padding:0 3rem;
}
}

@media (max-width:1330px) {
.base {
	padding:0 3rem;
}
}

@media (max-width:980px) {
.base {
	padding:0 2rem;
}
}

/* 表示・非表示*/
.pc_none {
	display:none;
}

@media (max-width: 980px){
.pc_none {
	display:block;
}
.sp_none {
	display:none;
}
}

/*パン屑のスタイル*/
#breadcrumb {
	padding:2rem;
	background:#FAFAFA;
}

#breadcrumb ul {
	width:100%;
	margin:0 auto;
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	list-style:none;
}

#breadcrumb ul li {
	margin-right:0.5rem;
	letter-spacing:0;
	font-size:1.4rem;
}

#breadcrumb ul li:nth-child(1):before {
    content: "\f015";
    font-family: FontAwesome;
    margin-right:0.5rem;
}

#breadcrumb ul li a {
}

#breadcrumb ul li:after {
    content: "\f105";
    font-family: FontAwesome;
    margin-left:0.5rem;
}

#breadcrumb ul li:last-child:after {
	content:none;
}

@media (max-width: 980px){
#breadcrumb {
	width:100%;
	padding:1rem 10px 1rem 10px;
	font-size:0.55em;
	letter-spacing:0;
}

#breadcrumb ul li {
	margin-right:0.25rem;
	font-size:1rem;
}

#breadcrumb ul li:after {
    margin-left:0.25rem;
}
#breadcrumb ul li a {
}
}

/*改行消す*/
@media (max-width: 980px){
.br_none {
	display:none;
}
}

/*hoverのスタイル*/ 
.fade {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-ms-transition: 0s ease-in-out;
}

.fade:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
}

.big {
  transition-duration: .4s;
}
.big:hover {
  transform: scale(1.1);
}

.fadein {
	opacity: 0;
	-webkit-transform: translate(0, 50px);
	transform: translate(0, 50px);
	transition: all 0.5s;
}

.fadein-left {
	opacity: 0;
	-webkit-transform: translate(-50px, 0);
	transform: translate(-50px, 0);
	transition: all 0.5s;
}

.fadein-right {
	opacity: 0;
	-webkit-transform: translate(50px, 0);
	transform: translate(50px, 0);
	transition: all 0.5s;
}

.fadein.scrollin,
.fadein-left.scrollin,
.fadein-right.scrollin {
    opacity: 1;
  -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

@keyframes SlideUp {
0% {
    opacity: 0;
    transform: translateY(50px);
}
100% {
    opacity: 1;
    transform: translateY(0);
}
}

/*scaleのスタイル*/
.scale {
	overflow: hidden;
}
.scale img {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	-ms-transition: 0s ease-in-out;
}
.scale img:hover {
	webkit-transform: scale(1.08);
	-moz-transform: scale(1.08);
	-o-transform: scale(1.08);
	-ms-transform: scale(1.08);
	transform: scale(1.08);
}

/*ホバーマスク*/
.hover-mask {
  align-items: center; /* テキストの中央揃え */
  background: rgba(0, 0, 0, 0.7); /* マスクの色(黒の70%) */
  bottom: 0;
  color: #fff; /* テキストの色 */
  display: flex; /* テキストの中央揃え */
  height: auto;
  justify-content: center; /* テキストの中央揃え */
  left: 0;
  opacity: 0; /* 最初は透明(非表示) */
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity .6s ease; /* ゆっくりopacityのみへ変化させる */
  width: 100%;
}
.hover-mask:hover {
  opacity: 1; /* hoverしたら透過しない(表示させる) */
}

.hover-mask p {
  width: 90%; /* テキストを横幅いっぱいにならないようにする */
}

@media (max-width: 980px){
.hover-mask p {
  width: 90%; /* テキストを横幅いっぱいにならないようにする */
}
}

/*ボトムマージンと幅など*/
.bottom10 {	margin-bottom:1rem;}
.bottom15 {	margin-bottom:1.5rem;}
.bottom20 {	margin-bottom:2rem;}
.bottom30 {	margin-bottom:3rem;}
.bottom40 {	margin-bottom:4rem;}
.bottom45 {	margin-bottom:4.5rem;}
.bottom50 {	margin-bottom:5rem;}
.bottom60 {	margin-bottom:6rem;}
.bottom75 {	margin-bottom:7.5rem;}
.bottom90 {	margin-bottom:9rem;}
@media (max-width: 980px){
.display_block { display:block !important;}
.bottom0 { margin-bottom:0 !important;}
.bottom10 { margin-bottom:0.5rem;}
.bottom15 {	margin-bottom:1rem;}
.bottom20 {	margin-bottom:1rem;}
.bottom30 {	margin-bottom:1.5rem;}
.bottom40 {	margin-bottom:1.5rem;}
.bottom45 {	margin-bottom:2rem;}
.bottom50 {	margin-bottom:2.5rem;}
.bottom60 {	margin-bottom:3rem;}
.bottom75 {	margin-bottom:3.5rem;}
.bottom90 {	margin-bottom:4.5rem;}
}

.padding0 { padding-right:0 !important; padding-left:0 !important; }

.w14 {width:14%;}
.w15 {width:15%;}
.w16 {width:16.666%;}
.w18 {width:18%;}
.w19 {width:19%;}
.w20 {width:20%;}
.w23 {width:23%;}
.w24 {width:24%;}
.w25 {width:25%;}
.w27 {width:27%;}
.w28 {width:28%;}
.w30 {width:30%;}
.w31 {width:31%;}
.w32 {width:32%;}
.w33 {width:33.3333%;}
.w34 {width:34%;}
.w36 {width:36%;}
.w37 {width:37%;}
.w40 {width:40%;}
.w41 {width:41%;}
.w42 {width:42%;}
.w45 {width:45%;}
.w46 {width:46%;}
.w47 {width:47%;}
.w48 {width:48%;}
.w49 {width:49%;}
.w50 {width:50%;}
.w52 {width:52%;}
.w55 {width:55%;}
.w56 {width:56%;}
.w57 {width:57%;}
.w58 {width:58%;}
.w59 {width:59%;}
.w60 {width:60%;}
.w61 {width:61%;}
.w65 {width:65%;}
.w66 {width:66%;}
.w67 {width:67%;}
.w70 {width:70%;}
.w77 {width:77%;}
.w80 {width:77%;}
.w96 {width:96%; margin:0 auto;}
.w100 {width:100%;}

.textcenter { text-align:center; }
.textright { text-align:right; }
.textleft { text-align:left; }

.gmap iframe {
	width:100%;
}

/*共通*/

/*@media screen and (min-width:981px){
#header,
#main_slide_wrapper,
#wrapper,
#footer {
	width:calc(100% - 85px);
}
}*/

.js-loading {
	position: relative; /* アニメーションを動作させるために必要 */
}

.loading {
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	overflow:hidden;
	z-index:100;
	scrollbar-gutter:stable;
}

.loading img{
	width: 99px;
	position:relative;
	top:-2%;
}

#wrapper {
}

#main {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	box-sizing:border-box;
}

#main p,
#main dt,
#main dd,
#footer p,
#footer dt,
#footer dd {
	font-size: clamp(15px, 1.2vw, 16px);
}

#primary {
	width:100%;
}

#content_inner {
	position:relative;
}

#content_inner:before {
  content: "";
  width: 100%;
  height: 100%;
  background: #FAFAFA;
  position: fixed;
  right: 0;
  top: 0;
  clip-path: polygon(69% 1%, 100% 0%, 100% 100%, 30% 100%);
  z-index:-1;
}

@media (max-width: 980px){
.loading img{
	width:68px;
	top:-2%;
}

#wrapper {
}

#main {
	padding:0;
}

#primary {
	width:100%;
	margin-bottom:0;
}
}

/*フレックスボックス*/
.flex_wrapper {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
}

.flex_wrapper:after {
	content:none;
}

.jc-spc_btw {
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.jc-center {
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}

.ai-center {
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
}

.fd-row_r {
	flex-direction:row-reverse; /*逆順*/
}

/*順番に表示する*/
.chain01,
.chain02,
.chain03,
.chain04,
.chain05,
.chain06 {
  opacity : 0;
  transition : all 1s;
}
  
.chain01.fadein-chain,
.chain02.fadein-chain,
.chain03.fadein-chain,
.chain04.fadein-chain,
.chain05.fadein-chain,
.chain06.fadein-chain {
  opacity : 1;
}

/*pagenav*/
.pagenav {
	margin-top:6rem;
	text-align:center;
}

.pagenav ul {
	clear: both;
	padding: 3rem 0;
	text-align: center;
}
a.page-numbers, .pagenav .current {
	background: #fff;
	border: solid 1px #FFF;
	padding: 5px 10px;
	margin: 5px 2px;
	text-decoration: none;
}
.pagenav .current {
	background: #000;
	border: solid 1px #FFF;
	color: #fff;
}

@media (max-width: 980px) {
.pagenav {
	margin-top:3rem;
	clear: both;
	font-size:1.2rem;
}
}

.detail_btn01 a {
	display:inline-block;
	padding:1.5rem 6rem;
	text-align:center;
	color:#FFF;
	border:1px solid #FFF;
	font-size:clamp(16px, 1.6vw, 20px);
	position:relative;
	min-width:300px;
	font-weight:bold;
}

.detail_btn01 a:after {
	content: "";
	display: inline-block;
	width: 41px;
	height: 23px;
	margin: -0.3rem 0 0 1rem;
	background:url(../../images/arrow01.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
}



.detail_btn02 a {
	display:inline-block;
	padding:1.5rem 6rem;
	text-align:center;
	color:#FFF;
	font-size:clamp(16px, 1.6vw, 20px);
	position:relative;
	min-width:300px;
	font-weight:bold;
	background:#1043a1;
}

.detail_btn02 a:after {
	content: "";
	display: inline-block;
	width: 41px;
	height: 23px;
	margin: -0.3rem 0 0 1rem;
	background:url(../../images/arrow01.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
}


@media (max-width: 980px){
.detail_btn01 a {
	padding: 1.5rem 2rem;
}

.detail_btn02 a {
	padding: 1.5rem 2rem;
}

}

/*ページトップ
***************************************/
div.scroll-btn {
	position: fixed;
	right: 3rem;
	z-index: 10000;
}

@media (max-width: 980px){
div.scroll-btn {
	right: 2rem;
}
}

div.scroll-btn a {
	background: rgba( 204, 204, 204, 0.5);
	width: 50px;
	height: 50px;
	display: block;
	text-align: center;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out;
}

div.scroll-btn a:hover {
	background: #111;
}

div.scroll-btn a i {
	font-size: 45px;
	line-height: .8;
	color: #fff;
	opacity: .8;
    margin-left: 3px;
	line-height:1;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out
}

div.scroll-btn small {
	display:none;
}

div.scroll-btn a:hover i {
	color: #FFF;
	opacity: 1;
}

/*スマホ用コンタクトボタン
***************************************/
/*
@media screen and (min-width:981px){
#pc_contact {
	position:fixed;
	right:0;
	top:0;
	background:#15308f;
	width:85px;
	height:100%;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}

#pc_contact ul {
	width:100%;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
}

#pc_contact ul li {
	display:inline-block;
	text-align:center;
	width:100%;
}

#pc_contact ul li:nth-child(2) {
	background:#00B900;
}

#pc_contact ul li:nth-child(3) {
	background:#ea570f;
}

#pc_contact ul li a {
	color:#FFF;
	width:100%;
	padding:2rem 1rem;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	font-weight:700;
	font-size:1em;
	font-family:Arial, Helvetica, "Noto Sans JP", sans-serif;
	letter-spacing:0;
}

#pc_contact ul li a span {
	text-combine-upright: all;
	font-weight:bold;
}

#pc_contact ul li a img {
	margin-bottom:0.5rem;
}
}

@media (max-width:980px) {
#pc_contact {
    position: fixed !important;
    bottom: 0;
    right: 0;
	width: 100%;
	z-index:9999;
	border-top:1px solid #FFF;
}

#pc_contact ul {
	position:relative;
}

#pc_contact li a {
    background: #15308f;
    text-decoration: none;
    color: #fff;
    width: 33.333%;
    padding: 15px 0;
    text-align: center;
    display: block;
	float: left;
	font-size:0.9em;
	border-right: 1px solid #FFF;
}

#pc_contact li:nth-child(2) a {
	background:#ea570f;
}

#pc_contact li:nth-child(3) a {
	background:#00B900;
}

#pc_contact li:last-child a {
	border-right:none;
}
#pc_contact a:hover {
    text-decoration: none;
}

#pc_contact li a img {
	margin-right:0.5rem;
	max-width:24px;
}
}*/

/* インスタグラムパーツ*/
#sb_instagram {
	padding-top:4.5rem !important;
}

#sb_instagram .sb_instagram_header .sbi_header_text.sbi_no_bio h3 {
	border:none !important;
}

/*装飾*/

.box-border {
	border:1px solid #DDD !important;
}

.head-border {
    display: flex;
    align-items: center;
}

.head-border:before,
.head-border:after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #15308f;
}

.head-border:before {
    margin-right: 3rem;
}

.head-border:after {
    margin-left: 3rem;
}


.head-border-oneside {
    display: flex;
    align-items: center;
}

.head-border-oneside {
    display: flex;
    align-items: center;
}

.head-border-oneside:before {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #15308f;
}

.head-border-oneside:before {
    margin-right: 3rem;
}

.head-fuki01 {
    position: relative;
	padding-bottom:3rem;
    border-bottom: 3px solid #15308f;
    color: black;
    font-weight: bold;
    text-align: center;
}

.head-fuki01:before,
.head-fuki01:after {
    position: absolute;
    top: 100%;
    left: 50%;
    content: "";
    height: 0;
    width: 0;
}

.head-fuki01:before {
    border: 16px solid;
    border-color: transparent;
    border-top-color: #15308f;
    margin-left: -14px;
}

.head-fuki01:after {
    border: 12px solid;
    border-color: transparent;
    border-top-color: white;
    margin-left: -10px;
}

@media (max-width: 980px){
.head-fuki01 {
	padding-bottom:1.5rem;
}
.head-border-oneside:before {
    margin-right: 1.5rem;
}
}

/*もっと見る*/
.readmore {
  position: relative;
  padding: 0 0 12rem;
}

.readmore-content {
  position: relative;
  height: 500px;
  transition: all .4s;
  overflow: hidden;
}

.readmore-content::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 75px;
  transition: all .4s;
  background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100% );
  z-index:100;
 }

.readmore-content.is_open:before{
  display: none;
}

.readmore button{
	position: absolute;
	display: table;
	left: 50%;
	bottom: 0px;
	margin: 0 auto;
	width: 300px;
	padding: 1.5rem 3rem;
	color: #fff;
	text-align: center;
	border-radius: 6rem;
	background-color: #15308f;
	transform: translateX(-50%);
	cursor: pointer;
	z-index: 1;
	transition: all .4s;
	font-size: clamp(16px, 1.5vw, 18px);
}

/*タブ*/
.tab6 {
	width: 100%;
	margin: 0 auto;
}

.tab6 .tab-content {
	background:#F7F7F7;
}

.tab6 label {
	display: inline-block;
	margin: 0;
	padding: 1rem;
	width:50%;
	float:left;
	
	display: inline-block;
	cursor: pointer;
	background: #EEE;
	color:#000;
	text-align:center;
	box-sizing:border-box;
	letter-spacing:0;
	font-size:1.2em;
}

.tab6 label:hover {
  background: #FFF;
}
.tab6 input:checked + label {
	background: #15308f;
	color: white;
	position:relative;
}

.tab6 input {
  display: none;
}
.tab6 #tab6-b1,
.tab6 #tab6-b2,
.tab6 #tab6-b3,
.tab6 #tab6-b4,
.tab6 #tab6-b5,
.tab6 #tab6-b6,
.tab6 #tab6-b7 {
  display: none;
}
.tab6 #tab6-1:checked ~ #tab6-b1,
.tab6 #tab6-2:checked ~ #tab6-b2,
.tab6 #tab6-3:checked ~ #tab6-b3,
.tab6 #tab6-4:checked ~ #tab6-b4,
.tab6 #tab6-5:checked ~ #tab6-b5,
.tab6 #tab6-6:checked ~ #tab6-b6,
.tab6 #tab6-7:checked ~ #tab6-b7 {
	display: block;
	clear:both;
	padding:3rem;
	border-top:5px solid #15308f;
}

.tab6 .tab-content table th,
.tab6 .tab-content table td  {
	border:1px solid #DDD;
	background:#FFF;
	font-size:0.9em;
	padding:1rem;
	vertical-align:middle;
}

.tab6 .tab-content table th {
	text-align:center;
}

.tab6 .tab-content table td {
}

.tab6 .tab-content table th:nth-child(1) {width:15%;}
.tab6 .tab-content table th:nth-child(2) {width:15%;}
.tab6 .tab-content table th:nth-child(3) {width:50%;}
.tab6 .tab-content table th:nth-child(4) {width:20%;}

.tab6 .tab-content table td[colspan] {
	background:#FAFAFA;
}


@media (max-width:980px) {
.tab6 {
	border-top:0;
}

.tab6 label {
    font-size: 0.9em;
	margin:0;
	border-radius:0;
	width:50%;
	padding:0.6rem 0.5rem;
}

.tab6 #tab6-1:checked ~ #tab6-b1,
.tab6 #tab6-2:checked ~ #tab6-b2,
.tab6 #tab6-3:checked ~ #tab6-b3,
.tab6 #tab6-4:checked ~ #tab6-b4,
.tab6 #tab6-5:checked ~ #tab6-b5,
.tab6 #tab6-6:checked ~ #tab6-b6,
.tab6 #tab6-7:checked ~ #tab6-b7 {
	padding:0;
	border-left:1px solid #DDD;
	border-right:1px solid #DDD;
}

.tab6 .tab-content > div {
	overflow-x:scroll;
	position:relative;
	height:500px;
}

.tab6 .tab-content table {
	width:calc(100% - 1rem);
}

.tab6 .tab-content table th {
	word-break:keep-all;
	white-space: nowrap;
}

.tab6 .tab-content table td {
	word-break:keep-all;
	white-space: nowrap;
}
}

/*グーグルキャプチャ*/
.grecaptcha-badge {
	bottom:140px !important;
	
}


@media (max-width: 1500px){
}

@media (max-width: 1200px){
}

@media (max-width: 980px){
}

@media (max-width: 980px){
}


/* header */
#header {
	width:100%;
	position:fixed;
	z-index:10;
	padding:3rem 4.5rem;
	
	-moz-transition: all .5s;
	-o-transition: all .5s;
	-webkit-transition: all .5s;
	transition: all .5s;
	
	background:#FFF;
}

#home #header {
	background:none;
}

#header .header_left {
}

#header .header_left p {	
}

#header .header_left img {
	width:100%;
	max-width:220px;
}
#header .header_right {
	margin-left:auto;
	position:relative;
	z-index:10;
}
#header .header_right .box01 {
  -webkit-justify-content:flex-end;
  justify-content:flex-end;
  margin-bottom:1.5rem;
}
#header .header_right .box01 p {
	margin-right:1rem;
}

#header .header_right .box01 p img {
	line-height:0;
	vertical-align:bottom;
	max-width:50px;
	height:auto;
}

#header .header_right .box01 p a strong {
	font-family:Arial, Helvetica, sans-serif;
	font-weight:bold;
	font-size:clamp(20px, 2.4vw, 30px);
	letter-spacing:0;
	line-height:1;
	margin-left:0.5rem;
}

#header .header_right .box01 ul li:nth-child(1) {
	margin-right:1px;
}

#header .header_right .box01 ul li:nth-child(1) a,
#header .header_right .box01 ul li:nth-child(2) a {
	padding:0.9rem 2rem;
	font-size:clamp(16px, 1.5vw, 18px);
	background:#ebebeb;
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}

#header .header_right .box01 ul li:nth-child(1) a img,
#header .header_right .box01 ul li:nth-child(2) a img {
	margin-right:0.5rem;
}

#header .header_right .box01 ul li:nth-child(3) a {
	background:#06c755;
	display:block;
}

#home #header.fixedmenu,
#header.fixedmenu {
	background:rgba(255,255,255,0.9);
	padding-top:2rem;
	padding-bottom:2rem;
}

#header.fixedmenu .header_left img {
}

#header.fixedmenu .header_left p {
}

#header nav#nav #menu-sp_nav {
	display:none;
}

@media (max-width: 1280px) {
}

@media (max-width: 1120px) {
}

@media (max-width: 980px) {
#header {
	height:60px;
	padding:1.5rem 1rem;
}

#home #header.fixedmenu, #header.fixedmenu {
	padding:1.5rem 1rem;
}

#header .header_left {
	margin-left:0;
	width:55%;
}

#header .header_left img {
	width:100%;
	max-width:175px;
}

#header .header_right .box01 {
	display:none;
}

#header nav#nav #menu-global_nav {
	display:none;
}

#header nav#nav #menu-sp_nav {
	display:block;
}
}


.index_title01 {
	margin-bottom:7.5rem;
}

.index_title01 strong {
	font-size:clamp(18px, 1.8vw, 24px);
	font-weight:700;
}

.index_title01 span {
	font-size:clamp(40px, 6.4vw, 80px);
	display:block;
	font-family:Teko, sans-serif;
	line-height:1;
}

@media (max-width: 980px) {
.index_title01 {
	margin-bottom:4.5rem;
}
}

/*contact_box*/

#contact_box .index_title01 {
	margin-bottom:7.5rem;
}

#contact_box .index_title01 strong,
#contact_box .index_title01 small {
	color:#FFF;
	position:relative;
}

#contact_box .inner_box {
	background:url(../../images/contact_bg.jpg) no-repeat top center;
	background-size:cover;
	padding:12rem 0;
	text-align:center;
	position:relative;
}

#contact_box .inner_box:before {
    color:rgba(251,153,28,0.5);
    font-size: clamp(66px, 12.5vw, 240px);
    content: "CONTACT";
    position: absolute;
    top: 4.5rem;
    left: 4.5rem;
    z-index: 0;
    line-height: 1;
    font-family: Arial, Helvetica, sans-serif;
}

#contact_box .inner_box p {
	font-size:clamp(20px, 2vw, 30px);
	color:#FFF;
}

#contact_box dl {
	background:#FFF;
	padding:6rem;
	border-radius:1.5rem;
	margin-top:-9rem;
	z-index:1;
	position:relative;
}

#contact_box dl dt {
	text-align:center;
	font-size:clamp(16px, 1.6vw, 20px);
	margin-bottom:4.5rem;
}

#contact_box dl dd ul li {
	text-align:center;
	width:31%;
}

#contact_box dl dd ul li:nth-child(2) {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#contact_box dl dd ul li:nth-child(2):before {
	content:"";
	width:1px;
	height:86px;
	background:#dddddd;
	display:block;
    position: relative;
    left: -1rem;
}

#contact_box dl dd ul li:nth-child(2):after {
	content:"";
	width:1px;
	height:86px;
	background:#dddddd;
	display:block;
    position: relative;
    right: -2.5rem;
}

.main_tel_btn a,
#contact_box dl dd ul li:nth-child(1) a,
#contact_box dl dd ul li:nth-child(2) a,
#contact_box dl dd ul li:nth-child(3) a {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}

.main_tel_btn {
	margin-bottom:1.5rem;
	text-align:center;
}

.main_tel_btn a {
	text-decoration:none !important;
}

.main_tel_btn a img {
	width:8%;
	max-width:88px;
}

@media (max-width: 480px){
.main_tel_btn a img {
	width:15%;
}
}

#contact_box dl dd ul li:nth-child(2) a,
#contact_box dl dd ul li:nth-child(3) a {
	background:#1043a1;
	padding:1.5rem 0.5rem;
	color:#FFF;
	border-radius:6rem;
	width:90%;
    margin: 0 auto;
}

#contact_box dl dd ul li:nth-child(3) a {
	background:#06c755;
}

#contact_box dl dd ul li:nth-child(1) a img {
	width:18%;
}

#contact_box dl dd ul li:nth-child(1) a strong,
.main_tel_btn a strong {
	font-size:clamp(30px, 3.2vw, 48px);
	margin-left:0.5rem;
	font-family:Arial, Helvetica, sans-serif;
	font-weight:bold;
	letter-spacing:0;
    line-height: 1.6;
	color:#333;
}

#contact_box dl dd ul li:nth-child(1) span {
	display:block;
	font-size:clamp(14px, 1.4vw, 18px);
}

#contact_box dl dd ul li:nth-child(2) a span,
#contact_box dl dd ul li:nth-child(3) a span {
	font-size:clamp(16px, 1.5vw, 20px);
	letter-spacing:0;
	margin-left:0.5rem;
}


@media (max-width: 1280px){

#contact_box dl dd ul li:nth-child(2) a,
#contact_box dl dd ul li:nth-child(3) a {
	width:99%;
}

#contact_box dl dd ul li:nth-child(2):after {
    right: -1.5rem;
}

#contact_box dl dd ul li:nth-child(2) a span,
#contact_box dl dd ul li:nth-child(3) a span {
	letter-spacing:0;
}
}

@media (max-width: 980px){
#contact_box .inner_box {
	padding:7.5rem 2rem 7.5rem 2rem;
}

#contact_box .inner_box:before {
	font-weight:bold;
}

#contact_box .index_title01 {
	margin-bottom:4.5rem;
}

#contact_box dl {
	margin-top:-4.5rem;
	padding:2rem 2rem 4.5rem 2rem;
}

#contact_box dl dt {
	margin-bottom:2rem;
	line-height:1.6;
}

#contact_box dl dd ul li {
	width:100%;
	margin-bottom:2rem;
	text-align:center;
}

#contact_box dl dd ul li:nth-child(2) a,
#contact_box dl dd ul li:nth-child(3) a {
	padding:0.5rem 1rem;
}

#contact_box dl dd ul li:nth-child(2):before,
#contact_box dl dd ul li:nth-child(2):after {
	content:none;
}
}

/* footer */

#footer {
	background:url(../../images/footer_bg.jpg) no-repeat;
	background-size:cover;
	background-attachment:fixed;
    padding-top: 12rem;
	padding-bottom:12rem;
}

@media (max-width: 980px){
.cd-fixed-bg {
	background-size: cover;
	background-attachment: scroll;
}
#footer {
	background:url(../../images/footer_bg_sp.jpg) no-repeat;
}
}

#footer #footer_box {
    position: relative;
    z-index: 0;
}

#footer #footer_info dl {
	color:#FFF;
}

#footer #footer_info dl dt {
	margin-bottom:1.5rem;
}

#footer #footer_info dl dd {
	line-height:1.8;
}

#footer #footer_info dl dd a {
	color:#FFF;
}

#footer #footer_info dl dd:last-child a {
	display:inline-block;
	background:#FFF;
	padding:1rem 3rem;
	color:#1043a1;
	text-align:center;
	font-size:clamp(14px, 1.4vw, 18px);
	margin-top:1.5rem;
	font-weight:700;
}

#footer #footer_info dl dd:last-child a:before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 31px;
  margin: -0.6rem 1rem 0 0;
  background: url(../../images/icon_map.png) no-repeat;
    background-size: auto;
  background-size: contain;
  vertical-align: middle;
}

#footer #footer_info p {
	line-height:1.6;
}

#footer #footer_box #footer_nav {
}

#footer #footer_box #footer_nav ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: right;
	justify-content: right;
}


#footer #footer_box #footer_nav ul li {
	width:30%;
}

#footer #footer_box #footer_nav ul li a {
	font-size:clamp(14px, 1.2vw, 16px);
	color:#FFF;
}

#footer #footer_box #footer_nav ul li a:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right:0.5rem;
	color:#FFF;
	position:relative;
	top:-1px;
}

#copy {
	padding-top:4.5rem;
}

#copy .box1440 {
	border-top:1px solid #FFF;
	padding-top:4.5rem;
}

#copy small {
	color:#FFF;
	text-align:right;
}

@media (max-width: 1540px) {
}

@media (max-width: 980px) {
#footer {
	padding-top:6rem;
	padding-bottom:8rem;
}

#footer_info.w49 {
	width:100%;
	margin-bottom:2rem;
}

#footer_nav.w50 {
	width:100%;
}

#footer #footer_info dl dd {
	letter-spacing:1px;
}

#footer #footer_box #footer_nav ul {
	display:block;
}

#footer #footer_box #footer_nav ul li {
	width:auto;
	display:inline-block;
}

#copy .box1440 {
	padding-top:2.5rem;
	padding-left:2rem;
	text-align:left;
}

}

@media (max-width: 680px) {
}


/* スマホ用コンタクトボタン */
@media (max-width: 680px) {
#contact_btns {
	position: fixed !important;
	bottom: 0;
	right: 0;
	width: 100%;
	z-index: 99;
	border-top: 1px solid #fff;
}

#contact_btns ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#contact_btns ul li {
	background:#1043a1;
	border-right:1px solid #FFF;
	width:50%;
	text-align:center;
}

#contact_btns ul li:last-child {
	border:none;
}

#contact_btns ul li span {
	display:inline-block;
	color:#1043a1;
	background:#FFF;
	width:24px;
	height:24px;
	border-radius:50%;
	margin-right:0.75rem;
	font-weight:bold;
	line-height:2;
}

#contact_btns ul li a {
	display:block;
	color:#FFF;
	letter-spacing:0;
	font-size: 0.8em;
	padding:1.5rem 0;
	line-height:2;
}

#contact_btns ul li a img {
	margin-right: .75rem;
	max-width: 24px;    
	position: relative;
    top: 2px;
}

#contact_btns ul li a i {
	font-size:18px;
	margin-right:0.75rem;
	position: relative;
    top: 2px;
}

}

/*アニメーション*/

.anim-box.popup {
  opacity: 0; /* 初期状態は非表示 */
  transform: translateY(40px) scale(0.8); /* 初期位置 */
  transition: opacity 0.6s, transform 0.6s; /* アニメーションの設定 */
}

.anim-box.popup.is-animated {
  opacity: 1; /* アニメーション開始後に表示 */
  transform: translateY(0) scale(1); /* 元の位置に戻す */
}


.smooth {
  clip-path: inset(0 100% 0 0); /* 初期状態：右側を隠す */
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1); /* アニメーション設定 */
  transition-property: clip-path;
}

.smooth.is-animated {
  clip-path: inset(0); /* アニメーション後：隠れた部分が表示 */
}


/* 初期状態で非表示にする */
.anim-box.slide-skew {
  opacity: 0;
  transform: translate(180px, 30px); /* 初期位置 */
}

/* is-animatedクラスが追加された時にアニメーションが開始 */
.anim-box.slide-skew.is-animated {
  animation: slide-skew 0.6s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@keyframes slide-skew {
  0% {
    transform: translate(180px, 30px); /* 初期位置 */
    opacity: 0;
  }
  100% {
    transform: translate(0, 0); /* 最終位置 */
    opacity: 1;
  }
}

.anim-box.popup.is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
 
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

.img-wrap {
  overflow: hidden;
  position: relative;
}

.img-wrap::before {
  animation: none; /* 初期状態ではアニメーションを適用しない */
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
  transform: translateX(0); /* 最初は画面外に表示されないように */
  background:#fffcf8;
}

.img-wrap.is-animated::before {
  animation: img-wrap 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes img-wrap {
  100% {
    transform: translateX(100%); /* アニメーションが発火した時に右へスライド */
  }
}


.shine {
    position: relative;
    overflow: hidden
}

.shine a:before {
    position: absolute;
    content: "";
    width: 50%;
    height: 100%;
    top: 0;
    left: -100%;
    background: linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,.3) 100%);
    transform: skewX(-45deg)
}

.shine a:hover:before {
    animation: shine .7s
}


@keyframes shine {
    100% {
        left: 125%
    }
}

.shine_loop a {
    position: relative;
    display: inline-block; /* 必要に応じて */
    overflow: hidden; /* アニメーションがはみ出さないように */
}

.shine_loop a:before {
    position: absolute;
    content: "";
    width: 50%;
    height: 100%;
    top: 0;
    left: -100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 100%);
    transform: skewX(-45deg);
    animation: shine_loop 0.7s linear infinite; /* 無限ループ */
    animation-duration: 2.7s; /* 0.7秒動き + 2秒待機 */
}

@keyframes shine_loop {
    0% {
        left: -100%;
    }
    25% {
        left: 125%;
    }
    100% {
        left: 125%; /* そのまま止まる（残りの2秒間はこの状態） */
    }
}

/*各ページ共通タイトル*/
.entry-header_bg {
	position: relative;
	background:url(../../images/entry-header_bg.jpg) no-repeat top center;
	background-size: 100%;
	padding: 20rem 2rem;
	margin-top:107px;
	background-attachment:fixed;
}

.entry-header {
	position:relative;
	z-index:1;
}

.entry-header #page_title {
	max-width:1200px;
	margin:0 auto;
}

.entry-header h1 {
	text-align:left;
	position:relative;
}

.entry-header h1 span {
	font-size:clamp(24px, 2.4vw, 36px);
	font-weight:700;
	line-height:1.4;
	display:inline-block;
	position:absolute;
	top:-1.25em;
	padding:1rem 2rem;
	color:#FFF;
	border-right:3px solid #FFF;
	border-bottom:3px solid #FFF;
	background:#1043a1;
}

.entry-header h1 small {
	display:block;
	text-align:center;
	font-size:clamp(14px, 1.4vw, 18px);
	font-weight:700;
}

@media only screen and (max-width: 1330px) {
.entry-header h1 {
	padding:0 2rem;
}
}

@media only screen and (max-width: 980px) {
.entry-header_bg {
	padding: 4.5rem 2rem 9rem 2rem;
	margin-top:60px;
	background:url(../../images/entry-header_bg.jpg) no-repeat center center;
	background-size:100%;
}
.entry-header h1 span {
	padding:1rem 2rem;
	letter-spacing:0;
}

}

@media only screen and (max-width: 414px) {
.entry-header h1 span {
	padding:1rem;
}

.entry-header #page_title {
	max-width:1200px;
	margin:0 auto;
}

.entry-header h1 {
	letter-spacing:0;
}
}

/*entry-content*/
.entry-content {
	padding-top:12rem;
	padding-bottom:12rem;
}

.single .entry-content {
}

.entry-content .wp-block-media-text .wp-block-media-text__content {
	padding:0 0 0 7.5%;
}

.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding:0 7.5% 0 0;
}

.entry-content h2,
.archive-wrapper h2 {
	text-align: center;
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight: bold;
	color: #1043a1;
	position: relative;
	z-index: 1;
	margin-bottom:6rem;
}

.entry-content h3 {
	position: relative;
	font-size:clamp(18px, 1.6vw, 20px) !important;
	line-height:1.4;
    color: #1043a1;
	padding-bottom:1.5rem;
	margin-bottom:3rem;
	font-weight:bold;
}

.entry-content .wp-block-columns h3 {
	margin-bottom:1.5rem;
	padding-bottom:0;
	font-weight:bold;
}

.entry-content h3 {
}

.entry-content h3 span strong {
	font-weight:bold;
	letter-spacing:1px;
}

.entry-content h4 {
	font-size:clamp(16px, 1.4vw, 20px);
	margin:1.5rem 0 3rem 0;
	font-weight: 700;
}

.entry-content h4:before {
    content: "\f105";
    font-family: FontAwesome;
    margin-right:1rem;
    color: #1043a1;
	font-weight:normal;
	font-size:clamp(18px, 1.6vw, 20px) !important;
}


.entry-content h5 {
	font-size:clamp(16px, 1.4vw, 18px);
	margin-bottom:1.5rem;
	padding:0.5rem 1rem;
	border-bottom:2px solid #F5F5F5;
	font-weight: 500;
}

.entry-content h4:before {
}

.entry-content p {
	word-wrap: break-word;
	margin: 0 0 2rem;
	line-break: strict;
	line-height:2;
}

.entry-content p strong,
.entry-content strong mark,
.entry-content ul li strong {
	font-weight:700;
}

.entry-content .more-link {
	transition: color 110ms ease-in-out;
	display: inline;
	color: inherit;
}
.entry-content .more-link:after {
	content: "\02192";
	display: inline-block;
	margin-left: 0.5em;
}
.entry-content .more-link:hover {
	color: #0073aa;
	text-decoration: none;
}
.entry-content a {
	text-decoration: underline;
	color:#1043a1;
}
.entry-content a.button, .entry-content a:hover {
	text-decoration: none;
}
.entry-content a.button {
	display: inline-block;
}
.entry-content a.button:hover {
	background: #111;
	color: #fff;
	cursor: pointer;
}
.entry-content > iframe[style] {
	margin: 32px 0 !important;
	max-width: 100% !important;
}

.entry-content ol,
.entry-content ul {
}

.entry-content ul {
	list-style:disc;
	padding-left:3rem;
}

.entry-content ol {
	padding-left:3rem;
}

.entry-content ol li,
.entry-content ul li {
	margin-bottom:1rem;
	padding-bottom:1rem;
    font-size: clamp(15px, 1.4vw, 18px);
}

.entry-content ul li {
}

.entry-content ol li:last-child,
.entry-content ul li:last-child {
	margin-bottom:0;
}


#team-philosophy,
#coaching-policy {
	margin-bottom:6rem;
}

#team-philosophy ol li {
	list-style-position: inside;
	margin-bottom:2rem;
	padding:2rem 2rem 3rem 2rem;
	letter-spacing:0;
	background:url(../../images/rinen_bg.png) no-repeat center center #FAFAFA;
	background-size:contain;
	border-radius:0 2rem 0 2rem;
	border:1px solid #EEE;
}

#team-philosophy ol li strong:after {
	content:"";
	display:block;
	margin-bottom:-1em;
}

#coaching-policy ul li {
	list-style-position: inside;
	margin-bottom:2rem;
}


#team-philosophy ol li::marker,
#coaching-policy ul li::marker {
	font-weight:bold;
	font-size:1.6em;
	font-style:italic;
}

#team-philosophy ol li strong {
    font-size: clamp(18px, 1.8vw, 20px);
	font-weight:bold;
    letter-spacing: 0;
}

 @media only screen and (max-width: 980px) {
.entry-content {
	padding-top:7.5rem;
	padding-bottom:3rem;
}

.single-achievements .entry-content {
	padding-top:1.5rem;
}

.entry-content h2,
.archive-wrapper h2 {
    margin-top: 1.5rem;
    margin-bottom: 3.5rem;
    letter-spacing: 0;
	line-height:1.6
}

.entry-content h2 strong {
    display: block;
    width: 100%;
    position: absolute;
    top: 1em;
}


.entry-content h2::before {
    left: -3000px;
    top: 45%;
}

.entry-content h3 {
	margin:0 0 2rem;
    padding: 1.5rem 0;
	letter-spacing:0;
}

.entry-content h4 {
	margin-bottom:1.5rem;
}

.wp-block-media-text {
	margin-bottom:1rem;
}

.has-medium-font-size {
	font-size:1.6rem;
}

.has-large-font-size {
	font-size:2rem !important;
}

.entry-content p {
	line-height:1.8;
	font-size:0.9em;
}

.entry-content ol,
.entry-content ul {
	padding-left:2rem;
}

.entry-content ol li,
.entry-content ul li {
	margin-bottom:1rem;
}

#team-philosophy,
#coaching-policy {
	margin-bottom:2rem;
}

#team-philosophy ol li {
	width:100%;
}

#team-philosophy ol li strong:after {
	margin-bottom:-1.5em;
}

}
 
 @media only screen and (min-width: 980px) {
.entry-content > iframe[style] {
 max-width: calc(8 * (100vw / 12) - 28px) !important;
}
}
 @media only screen and (min-width: 1168px) {
.entry-content > iframe[style] {
 max-width: calc(6 * (100vw / 12) - 28px) !important;
}
}
.entry-content .page-links a {
 margin: calc(0.5 * 1rem);
	text-decoration: none;
}
.entry-content .wp-audio-shortcode {
 max-width: calc(100vw - (2 * 1rem));
}
 @media only screen and (min-width: 980px) {
.entry-content .wp-audio-shortcode {
 max-width: calc(8 * (100vw / 12) - 28px);
}
}
 @media only screen and (min-width: 1168px) {
.entry-content .wp-audio-shortcode {
 max-width: calc(6 * (100vw / 12) - 28px);
}
}

@media (max-width: 600px){
.entry-content .wp-block-media-text .wp-block-media-text__content {
}

.wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
	padding:1.5rem 0;
}

.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
	padding:1.5rem 0;
}
}




/*カテゴリ―リスト
***************************************/
.category-list_wrapper {
	margin-bottom:7.5rem;
}

.category-list_wrapper ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
	list-style:none !important;
	padding-left: 0 !important;
}

.category-list_wrapper ul li {
	font-size:clamp(16px, 1.8vw, 22px);
	line-height:1.2;
}

.category-list_wrapper ul li:after {
	content:" / ";
	margin:0 1.5rem 0 0.5rem;
}

.category-list_wrapper ul li:last-child:after {
	content:none;
}

.category-list_wrapper ul li a {
	text-decoration:none;
	font-weight:100;
	white-space: nowrap;
	position:relative;
	font-weight:bold;
}

.category-list_wrapper ul li a:after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: -10px;
    left: 35%;
    width: 30%;
    height: 2px;
    background:#FFF;
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center top;/*上部中央基点*/
}

.category-list_wrapper ul li a:hover:after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}

@media (max-width: 980px){
.category-list_wrapper {
	margin-bottom:3rem;
}

.category-list_wrapper ul li {
	line-height:1;
	letter-spacing:0;
}

.category-list_wrapper ul li:after {
	content:" / ";
	margin:0 0.5rem;
}

}

/*ブログ記事一覧ページ*/

.blog_list_wrapper {
    padding-top: 15rem;
    padding-bottom: 15rem;
}

.blog_list {
}

.blog_list ul {
    list-style: none;
    padding: 0;
    margin: 0;
	overflow:auto;
}

.blog_list ul li {
    display: flex;
    align-items: center;
    gap: 30px;
	padding:2rem;
	background:#FFF;
	margin-bottom:3rem;
	border:1px solid #DDD;
}

.blog_list ul li:last-child {
}

.blog_list ul li:first-child {
}

.blog_list .img-box {
    flex: 0 0 160px; /* 画像の固定幅 */
    height: 160px;
    overflow: hidden;
}

.blog_list .img-box img {
    width: 100%;
    object-fit: cover;
    display: block;
}

.blog_list .text-box {
    flex: 1;
}

.blog_list .text-box .date {
    display: inline-block;
	font-size:clamp(14px, 1.4vw, 18px);
    color: #888;
}

.blog_list .text-box small {
    display: inline-block;
	font-size:clamp(12px, 1vw, 12px);
    color: #555;
	position:relative;
	top:5px;
}

.blog_list .text-box small a {
    display: inline-block;
	padding:0.15rem 0.5rem;
	color:#FFF;
	letter-spacing:0;
	background:#1043a1;
}

.blog_list .text-box h3 {
	margin-top:0.5rem;
	line-height:1.4;
}

.blog_list .text-box h3 a {
    text-decoration: none;
	font-size:clamp(15px, 1.4vw, 18px);
}

.blog_list .text-box h3 a:hover {
    text-decoration: underline;
}


@media (max-width: 980px){
.blog_list_wrapper {
	padding-top:7.5rem;
	padding-bottom:6rem;
}

.blog_list ul li.w48 {
	width:100%;
	padding: 0;
}

.blog_list .img-box {
	flex: 0 0 160px;
	height: 160px;
}
}


@media (max-width: 680px){
.blog_list ul li.w48 {
  gap: 20px;
  margin-bottom:2rem;
}

.blog_list .img-box {
  flex: 0 0 100px;
  height: 94px;
  overflow: hidden;
  border: 1px solid #EEE;
}
}




/*よくある質問*/
.qa_wrapper {
	margin-top:6rem;
}

dl.faq {
	width:100%;
	margin:0 auto 4.5rem auto !important;
	padding:3rem;
	background:#fffcf8;
}

dl.faq:last-child,
dl.faq:first-child {
}

dl.faq dt {
	font-size:clamp(15px, 1.5vw, 18px);
	font-weight:700;
	text-indent:-3.2rem;
	padding-left:3.2rem;
}

dl.faq dt:before {
    content: "Q.";
    margin-right:0.65rem;
	font-size:1.25em;
	font-weight:900;
	color:#1043a1;
}

dl.faq dd {
	margin-top:1.5rem;
	padding-left:3.5rem;
	position:relative;
}

dl.faq dd p {
    font-size: clamp(15px, 1.5vw, 18px) !important;
}

dl.faq dd:before {
	position:absolute;
	top:-0.4rem;
	left:0.15rem;
    content: "A.";
    margin-right:0.5rem;
	font-size:1.5em;
	font-weight:900;
	color:#1043a1;
}

dl.faq dd p {
	margin-bottom:0 !important;
}

@media screen and (max-width: 980px) {
.qa_wrapper {
	margin-top:1.5rem;
}

dl.faq {
	margin-bottom:3rem !important;
}

dl.faq dd {
	padding-left:3.2rem;
}

dl.faq dd:before {
	font-size:1.25em;
}
}


/*装飾*/
.deco {
  position: fixed;
  inset: 0;
  overflow: clip;
  pointer-events: none;
  z-index:-1;
}

.slash {
  position: absolute;
  top: 0;
  width: 25vw;
  height: 300vw;
}

.slash-1 {
  rotate: 45deg;
  transform-origin: right top;
  left: 15%;
  top:-10%;
}

.slash-2 {
  rotate: -45deg;
  transform-origin: left top;
  right: 15%;
  top:-10%;
}

.bg-white01 {
	background:#fffaf3;
}

.bg-white02 {
	background:rgba(255,255,255,1);
}

ul.has-background {
    padding-inline-start: 4em !important;
}

@media (max-width: 768px){
ul.has-background {
    padding-inline-start: 3em !important;
}

:root :where(.wp-block-list.has-background) {
	padding-right:2rem;
}

}


/*VKカスタム*/

.fa-regular,
.fa-solid {
	font-size:clamp(16px, 1.6vw, 20px);
	position:relative;
	top:2px;
	margin-right:1rem !important;
}

ul.is-style-vk-numbered-circle-mark li,
ol.is-style-vk-numbered-circle-mark li {
	margin-bottom:1.5rem;
	line-height:1.6 !important;
}

ul.is-style-vk-numbered-circle-mark li:before,
ol.is-style-vk-numbered-circle-mark li:before {
    font-size: 1em !important;
    line-height: 1.6 !important;
}

.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder>.vk_borderBox_title_container {
	padding-left:1.5rem !important;
	padding-right:1.5rem !important;
    top: -1.4em !important;
}

.vk_borderBox_body ul {
	margin-bottom:1rem !important;
}

.vk_borderBox_body ul li {
	margin-bottom:0.5rem !important;
	padding-bottom:0 !important;
}

.vk_borderBox_body ul li:last-child {
	margin-bottom:0 !important;
}

.vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-inner, .vk_borderBox.is-style-vk_borderBox-style-solid-kado-tit-onborder, .vk_borderBox.is-style-vk_borderBox-style-solid-kado-iconFeature {
	border-width:1px !important;
}

.vk_button .vk_button_link.btn, .editor-styles-wrapper .vk_button .vk_button_link.btn {
	padding-top:1.5rem !important;
	padding-bottom:1.5rem !important;
}

.vk_button_link_txt {
	font-size:clamp(16px, 1.4vw, 18px);
}






/* ================= fade 系 ================= */

/* 1. fade-in */
.anim-fade-in {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
.anim-fade-in.show {
  opacity: 1;
}

/* 2. fade-out */
.anim-fade-out {
  opacity: 1;
  transition: opacity 0.5s ease-out;
}
.anim-fade-out.show {
  opacity: 0;
}

/* 3. fade-up */
.anim-fade-up {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* 4. fade-down */
.anim-fade-down {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-down.show {
  opacity: 1;
  transform: translateY(0);
}

/* 5. fade-left */
.anim-fade-left {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}
.anim-fade-left.show {
  opacity: 1;
  transform: translateX(0);
}

/* 6. fade-right */
.anim-fade-right {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-right.show {
  opacity: 1;
  transform: translateX(0);
}

/* 7. fade-scale-up */
.anim-fade-scale-up {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-scale-up.show {
  opacity: 1;
  transform: scale(1);
}

/* 8. fade-scale-down */
.anim-fade-scale-down {
  opacity: 0;
  transform: scale(1.2);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-scale-down.show {
  opacity: 1;
  transform: scale(1);
}

/* 9. fade-rotate-in */
.anim-fade-rotate-in {
  opacity: 0;
  transform: rotate(-15deg);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-rotate-in.show {
  opacity: 1;
  transform: rotate(0);
}

/* 10. fade-blur-in */
.anim-fade-blur-in {
  opacity: 0;
  filter: blur(5px);
  transition: opacity 0.5s ease-out, filter 0.5s ease-out;
}
.anim-fade-blur-in.show {
  opacity: 1;
  filter: blur(0);
}

/* ================= slide 系 ================= */

/* 11. slide-up */
.anim-slide-up {
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-up.show {
  transform: translateY(0);
  opacity: 1;
}

/* 12. slide-down */
.anim-slide-down {
  transform: translateY(-20px);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-down.show {
  transform: translateY(0);
  opacity: 1;
}

/* 13. slide-left */
.anim-slide-left {
  transform: translateX(20px);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-left.show {
  transform: translateX(0);
  opacity: 1;
}

/* 14. slide-right */
.anim-slide-right {
  transform: translateX(-20px);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-right.show {
  transform: translateX(0);
  opacity: 1;
}

/* 15. slide-scale-up */
.anim-slide-scale-up {
  transform: translateY(20px) scale(0.8);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-scale-up.show {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* 16. slide-scale-down */
.anim-slide-scale-down {
  transform: translateY(-20px) scale(1.2);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-scale-down.show {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* 17. slide-rotate-in */
.anim-slide-rotate-in {
  transform: translateY(20px) rotate(-15deg);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-rotate-in.show {
  transform: translateY(0) rotate(0);
  opacity: 1;
}

/* 18. slide-blur-in */
.anim-slide-blur-in {
  filter: blur(5px);
  opacity: 0;
  transition: filter 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-blur-in.show {
  filter: blur(0);
  opacity: 1;
}

/* ================= zoom/scale 系 ================= */


/* 19. zoom-in */
.anim-zoom-in {
  transform: scale(0.8);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-in.show {
  transform: scale(1);
  opacity: 1;
}

/* 20. zoom-out */
.anim-zoom-out {
  transform: scale(1.2);
  opacity: 1;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-out.show {
  transform: scale(1);
  opacity: 0;
}

/* 21. zoom-up */
.anim-zoom-up {
  transform: translateY(20px) scale(0.8);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-up.show {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* 22. zoom-down */
.anim-zoom-down {
  transform: translateY(-20px) scale(0.8);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-down.show {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* 23. zoom-left */
.anim-zoom-left {
  transform: translateX(20px) scale(0.8);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-left.show {
  transform: translateX(0) scale(1);
  opacity: 1;
}

/* 24. zoom-right */
.anim-zoom-right {
  transform: translateX(-20px) scale(0.8);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-right.show {
  transform: translateX(0) scale(1);
  opacity: 1;
}

/* 25. zoom-rotate-in */
.anim-zoom-rotate-in {
  transform: rotate(-15deg) scale(0.8);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-rotate-in.show {
  transform: rotate(0) scale(1);
  opacity: 1;
}

/* 26. zoom-blur-in */
.anim-zoom-blur-in {
  filter: blur(5px);
  opacity: 0;
  transition: filter 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-zoom-blur-in.show {
  filter: blur(0);
  opacity: 1;
}

/* ================= flip/rotate 系 ================= */

/* 27. flip-x */
.anim-flip-x {
  transform: rotateX(90deg);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}
.anim-flip-x.show {
  transform: rotateX(0);
  opacity: 1;
}

/* 28. flip-y */
.anim-flip-y {
  transform: rotateY(90deg);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transform-style: preserve-3d;
  backface-visibility: hidden;
}
.anim-flip-y.show {
  transform: rotateY(0);
  opacity: 1;
}

/* 29. rotate-in */
.anim-rotate-in {
  transform: rotate(-180deg);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transform-origin: center;
}
.anim-rotate-in.show {
  transform: rotate(0);
  opacity: 1;
}

/* 30. rotate-out */
.anim-rotate-out {
  transform: rotate(0);
  opacity: 1;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
  transform-origin: center;
}
.anim-rotate-out.show {
  transform: rotate(180deg);
  opacity: 0;
}

/* ================= attention 系 ================= */

/* 31. shake */
.anim-shake {
  transform: translateX(0);
  transition: none;
}
.anim-shake.show {
  animation: shake-anim 0.5s ease-in-out 3;
}
@keyframes shake-anim {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-5px); }
}

/* 32. pulse */
.anim-pulse {
  transform: scale(1);
  transition: none;
}
.anim-pulse.show {
  animation: pulse-anim 0.5s ease-in-out infinite;
}
@keyframes pulse-anim {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

/* 33. bounce */
.anim-bounce {
  transform: translateY(0);
  transition: none;
}
.anim-bounce.show {
  animation: bounce-anim 0.5s ease-in-out infinite;
}
@keyframes bounce-anim {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* 34. wiggle */
.anim-wiggle {
  transform: rotate(0);
  transition: none;
}
.anim-wiggle.show {
  animation: wiggle-anim 0.5s ease-in-out 3;
}
@keyframes wiggle-anim {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-5deg); }
  75% { transform: rotate(5deg); }
}

/* 35. swing */
.anim-swing {
  transform-origin: top center;
  transition: none;
}
.anim-swing.show {
  animation: swing-anim 0.5s ease-in-out 1;
}
@keyframes swing-anim {
  0% { transform: rotate(0); }
  20% { transform: rotate(15deg); }
  40% { transform: rotate(-10deg); }
  60% { transform: rotate(5deg); }
  80% { transform: rotate(-5deg); }
  100% { transform: rotate(0); }
}

/* ================= entrance 系 ================= */

/* 36. slide-in-left */
.anim-slide-in-left {
  transform: translateX(-100%);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-in-left.show {
  transform: translateX(0);
  opacity: 1;
}

/* 37. slide-in-right */
.anim-slide-in-right {
  transform: translateX(100%);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-in-right.show {
  transform: translateX(0);
  opacity: 1;
}

/* 38. slide-in-up */
.anim-slide-in-up {
  transform: translateY(10%);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-in-up.show {
  transform: translateY(0);
  opacity: 1;
}

/* 39. slide-in-down */
.anim-slide-in-down {
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 0.5s ease-out, opacity 0.5s ease-out;
}
.anim-slide-in-down.show {
  transform: translateY(0);
  opacity: 1;
}

/* 40. fade-in-scale */
.anim-fade-in-scale {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-in-scale.show {
  opacity: 1;
  transform: scale(1);
}

/* ================= decorative/loop 系 ================= */

/* 41. spin */
.anim-spin {
  animation: spin-anim 2s linear infinite;
}
@keyframes spin-anim {
  0% { transform: rotate(0); }
  100% { transform: rotate(360deg); }
}

/* 42. spin-reverse */
.anim-spin-reverse {
  animation: spin-reverse-anim 2s linear infinite;
}
@keyframes spin-reverse-anim {
  0% { transform: rotate(0); }
  100% { transform: rotate(-360deg); }
}

/* 43. pulse-loop */
.anim-pulse-loop {
  animation: pulse-anim 2s ease-in-out infinite;
}

/* 44. bounce-loop */
.anim-bounce-loop {
  animation: bounce-anim 2s ease-in-out infinite;
}

/* 45. wiggle-loop */
.anim-wiggle-loop {
  animation: wiggle-anim 0.5s ease-in-out infinite;
}

/* 46. swing-loop */
.anim-swing-loop {
  animation: swing-anim 2s ease-in-out infinite;
}

/* 47. float */
.anim-float {
  animation: float-anim 3s ease-in-out infinite;
}
@keyframes float-anim {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* 48. heartbeat */
.anim-heartbeat {
  animation: heartbeat-anim 1.5s ease-in-out infinite;
}
@keyframes heartbeat-anim {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.2); }
}

/* 49. wiggle-small */
.anim-wiggle-small {
  animation: wiggle-small-anim 0.5s ease-in-out infinite;
}
@keyframes wiggle-small-anim {
  0%, 100% { transform: rotate(0); }
  50% { transform: rotate(3deg); }
}

/* 50. shake-small */
.anim-shake-small {
  animation: shake-small-anim 0.3s ease-in-out infinite;
}
@keyframes shake-small-anim {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2px); }
}


/* ================= fade 系 続き ================= */

/* 51. fade-slide-up */
.anim-fade-slide-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-slide-up.show {
  opacity: 1;
  transform: translateY(0);
}

/* 52. fade-slide-down */
.anim-fade-slide-down {
  opacity: 0;
  transform: translateY(-30px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-slide-down.show {
  opacity: 1;
  transform: translateY(0);
}

/* ================= slide 系 続き ================= */

/* 53. slide-in-top-left */
.anim-slide-in-top-left {
  opacity: 0;
  transform: translate(-100%, -100%);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.anim-slide-in-top-left.show {
  opacity: 1;
  transform: translate(0, 0);
}

/* 54. slide-in-top-right */
.anim-slide-in-top-right {
  opacity: 0;
  transform: translate(100%, -100%);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.anim-slide-in-top-right.show {
  opacity: 1;
  transform: translate(0, 0);
}

/* ================= zoom/scale 系 続き ================= */

/* 55. zoom-in-big */
.anim-zoom-in-big {
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-zoom-in-big.show {
  opacity: 1;
  transform: scale(1);
}

/* 56. zoom-out-big */
.anim-zoom-out-big {
  opacity: 1;
  transform: scale(2);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-zoom-out-big.show {
  opacity: 0;
  transform: scale(1);
}

/* ================= flip/rotate 系 続き ================= */

/* 57. rotate-x-in */
.anim-rotate-x-in {
  opacity: 0;
  transform: rotateX(-90deg);
  transform-style: preserve-3d;
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-rotate-x-in.show {
  opacity: 1;
  transform: rotateX(0);
}

/* 58. rotate-y-in */
.anim-rotate-y-in {
  opacity: 0;
  transform: rotateY(-90deg);
  transform-style: preserve-3d;
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-rotate-y-in.show {
  opacity: 1;
  transform: rotateY(0);
}

/* ================= attention 系 続き ================= */

/* 59. pulse-slow */
.anim-pulse-slow {
  transform: scale(1);
  transition: none;
}
.anim-pulse-slow.show {
  animation: pulse-anim 3s ease-in-out infinite;
}

/* 60. shake-slow */
.anim-shake-slow {
  transform: translateX(0);
  transition: none;
}
.anim-shake-slow.show {
  animation: shake-anim 0.5s ease-in-out 3;
}

/* ================= entrance 系 続き ================= */

/* 61. drop-in */
.anim-drop-in {
  opacity: 0;
  transform: translateY(-200%);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.anim-drop-in.show {
  opacity: 1;
  transform: translateY(0);
}

/* 62. fade-in-left-big */
.anim-fade-in-left-big {
  opacity: 0;
  transform: translateX(-200%);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.anim-fade-in-left-big.show {
  opacity: 1;
  transform: translateX(0);
}

/* ================= decorative/loop 系 続き ================= */

/* 63. slow-spin */
.anim-slow-spin {
  animation: spin-anim 10s linear infinite;
}

/* 64. fast-spin */
.anim-fast-spin {
  animation: spin-anim 0.5s linear infinite;
}

/* 65. float-small */
.anim-float-small {
  animation: float-anim 1.5s ease-in-out infinite;
}

/* 66. heartbeat-fast */
.anim-heartbeat-fast {
  animation: heartbeat-anim 0.7s ease-in-out infinite;
}

/* 67. wiggle-tiny */
.anim-wiggle-tiny {
  animation: wiggle-small-anim 0.3s ease-in-out infinite;
}

/* 68. shake-tiny */
.anim-shake-tiny {
  animation: shake-small-anim 0.2s ease-in-out infinite;
}

/* ================= その他 ================= */

/* 69. bounce-small */
.anim-bounce-small {
  animation: bounce-anim 0.5s ease-in-out infinite;
}

/* 70. swing-slow */
.anim-swing-slow {
  animation: swing-anim 3s ease-in-out infinite;
}

.smooth {
  clip-path: inset(0 100% 0 0); /* 初期状態：右側を隠す */
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1); /* アニメーション設定 */
  transition-property: clip-path;
}

.smooth.show {
  clip-path: inset(0); /* アニメーション後：隠れた部分が表示 */
}