@charset "utf-8";
:root {
  --header-height-pc:140px;
  --header-height-sp:78px;
  --site-max-width:1920px;
  --footer-menu-sp-height:60px;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height-sp);
}
@media (min-width: 641px) {
  html {
    scroll-padding-top: var(--header-height-pc);
  }
}

@media (min-width: 641px) {
  body{
      min-width:1200px;
  }
}

/* headline */
/*
.heading-001{
  display: inline-block;
  padding: 0 5px 15px;
  border-bottom: solid 3px #FD94A7;
}
@media (min-width: 641px) {
  .heading-001{
    padding: 0 5px 20px;
  }
}
*/

/* color */
/*
.c-pink{
  color: #FD94A8;
}
.c-red{
  color: #FF1414;
}
.c-blue{
  color: #3FA4D3;
}
*/

/* background */
.bg-White{
  background: #FFF;
}

/* font-size */
.fs-001 {
  font-size: 24px;
}
.fs-002 {
  font-size: 20px;
}
.fs-003 {
  font-size: 18px;
}
.fs-004 {
  font-size: 20px;
}
.fs-005 {
  font-size: 18px;
}
@media (min-width: 641px) {
  .fs-001 {
    font-size: 36px;
  }
  .fs-002 {
    font-size: 26px;
  }
  .fs-003 {
    font-size: 24px;
  }
  .fs-004 {
    font-size: 21px;
  }
}

/* button --------------------------------- */
/*
.button-001 {
  background: #FD94A8;
  color: #fff;
  padding:6px 35px;
  text-decoration: none;
  border-radius: 24px;
  border: solid 1px #FD94A8;
  font-weight: 600;
  display: inline-block;
  text-align: center;
  font-size: 17px;
}

.button-001:hover {
  border: solid 1px #FD94A8;
  background: #fff;
  color: #FD94A8;
}
*/



/* header-sp-001 ------------------------ */
.header-sp-001 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 78px;
  background-color: #F9F8F2;
  z-index: 7;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.header-sp-001-space {
  height: 100px;
}
.header-sp-001-logo {
  padding-left: 10px;
}
.header-sp-001-logo img {
  height: 46px;
}
.header-sp-001-icon {
  width: 50px;
  height: 50px;
  margin: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.header-sp-001-button {
  position: relative;
  background: #FD94A8;
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 5px;
}
.header-sp-001-button span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 2px;
  border-radius: 5px;
  background: #fff;
  width: 45%;
}
.header-sp-001-button span:nth-of-type(1) {
  top: 24px;
}
.header-sp-001-button span:nth-of-type(2) {
  top: 32px;
}
.header-sp-001-button span:nth-of-type(3) {
  top: 40px;
}
.header-sp-001-button span:nth-of-type(1)::before {
  content: "Menu";
  position: absolute;
  top: -19px;
  left: -2px;
  color: #fff;
  font-size: 0.6rem;
  text-transform: uppercase;
}
.header-sp-001-button.active span:nth-of-type(1) {
  top: 24px;
  left: 14px;
  transform: translateY(8px) rotate(-45deg);
  width: 45%;
}
.header-sp-001-button.active span:nth-of-type(1)::before {
  content: none;
}
.header-sp-001-button.active span:nth-of-type(2) {
  opacity: 0;
}
.header-sp-001-button.active span:nth-of-type(3) {
  top: 40px;
  left: 14px;
  transform: translateY(-8px) rotate(45deg);
  width: 45%;
}
.header-sp-001-button.active span:nth-of-type(3)::after {
  content: "Close";
  position: absolute;
  top: -22px;
  left: -18px;
  color: #fff;
  font-size: 0.6rem;
  text-transform: uppercase;
  transform: rotate(-45deg) translateY(0) !important;
  z-index: 1;
  white-space: nowrap;
}
.header-sp-001-right {
  height: 100%;
  display: flex;
  align-items: center;
}
.header-sp-001-right .h-tel {
  width: 34px;
  height: 34px;
}

/* header-sp-001 end */

/* header-nav-sp-001 */
.header-nav-sp-001 {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: calc(100vmin * 60 / var(--sp-vw));
  left: 0;
  z-index: 7;
  background-color: rgba(253, 148, 168, 0.9);

}
.header-nav-sp-001 > ul {
  height: calc(100% - 78px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.header-nav-sp-001 ul {
  border-top: 1px solid #ccc;
  width: 100%;
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.header-nav-sp-001 li {
  width: 100%;
  border-bottom: 1px solid #ccc;
}
.header-nav-sp-001 a {
  display: block;
  padding: 10px;
  color: #FFF;
  text-decoration: none;
  width: 100%;
}
.header-nav-sp-001 ul.sub-menu > li:last-child {
  border-bottom: none;
}
.header-nav-sp-001 .menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 7px;
  background-image: url(../img/arrow-down.png);
  background-size: 12px 7px;
  background-repeat: no-repeat;
  margin-left: 15px;
}
.header-nav-sp-001 .sub-menu {
  display: none;
  padding: 0;
  width: 100%;
}
.header-nav-sp-001 .sub-menu li {
  display: block;
  padding-left: 15px;
}
/* header-nav-sp-001 end */
/* header-pc-001 */
.header-pc-001 {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 7;
}
.header-pc-001-inner {
  width: 100%;
  min-width: 1200px;
  height:var(--header-height-pc);
  max-width: var(--site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
}
.header-pc-001 {
  width: 100%;
}
.header-pc-001-logo {
  text-decoration: none;
  width: 150px;
  line-height: 1;
}
.header-pc-001-logo:hover {
  opacity: 0.7;
}
.nav-pc-001 ul {
  margin: 0;
  padding-left: 0;
}
.nav-pc-001 li {
  list-style: none;
  padding: 0 15px;
  text-align: center;
  line-height: 1.2;
  position: relative;
}
.nav-pc-001 a {
  text-decoration: none;
}
.nav-pc-001 li a {
  font-size: 16px;
  font-weight: 600;
  color: #482707;
  padding-bottom: 10px;
  transition: all 0.5s;
}
.nav-pc-001 .sub-menu {
  display: none;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 224px;
  z-index: 3;
  border-top: 1px solid #eee;
  border-right: 1px solid #eee;
  border-left: 1px solid #eee;
}
.nav-pc-001 .sub-menu li::before {
  content: "";
}
.nav-pc-001 .sub-menu li {
  padding: 0;
}
.nav-pc-001 .sub-menu a {
  padding: 10px;
  display: block;
  background-color: #fff;
  border-bottom: 1px solid #ebebeb;
}
.nav-pc-001 .sub-menu li::after {
  display: none;
}
.nav-pc-001 .sub-menu a {
  display: inline-block;
  width: 100%;
}

/* footer */
.footer-menu-sp-space {
  height: var(--footer-menu-sp-height);
}

.footer-menu-sp {
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 100;
  font-size: 16px;
}

@media (min-width: 641px) {
  .footer-menu-sp-space,
  .footer-menu-sp {
      display: none;
  }
}
.footer-menu-sp-bg {
  background-color: #FD94A8;
  height: var(--footer-menu-sp-height);
  padding:10px 0;
  border-top:1px solid #FFF;
}
.footer-menu-sp-inner {
  list-style: none;
  margin: 0;
  padding-left: 0;
  gap:1px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.footer-menu-sp li {
  width: 33.333333%;
  height: 100%;
  background-color: #FD94A8;
}
.footer-menu-sp-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #FFF;
  text-align: center;
  text-decoration: none;
}
.footer-menu-sp-img {
  width: 13px;
  height: auto;
  margin-right: 10px;
}
.pagetop-btn {
  position: fixed;
  z-index: 4;
  background: #FD94A8;
  text-decoration: none;
  width: 60px;
  height: 60px;
  bottom: 80px;
  right: 15px;
  text-align: center;
  border-radius: 11%;
  border: solid 1px #FD94A8;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagetop-btn:hover {
  opacity: 0.5;
}

/* layout */
.container-001 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}


/* single */
.headline-post {
	line-height: 1.2;
	margin: 0 0 30px;
	color: #482707;
	border-bottom: dotted 2px #FD94A7;
  padding-bottom:10px;
	font-size: 25px;
}
.headline-post .time {
	font-weight: 600;
	font-size: 14px;
    color: #3B4043;
}
.single-content{
	overflow: hidden;
}
@media (min-width: 641px) {
	.single-content{
		min-height:350px;
	}
}
.single-content .article-info{
	margin-bottom: 15px;
	display: flex;
	flex-wrap: wrap;
}

/*
.single-content h1,
.single-content h2,
.single-content h3,
.single-content h4,
.single-content h5,
.single-content h6 {
	font-weight: 600;
	margin-bottom: 15px;
	color:#FD94A7;
}
*/

.single-content .article-img{
	margin-bottom: 15px;
}

/*
.single-content h2{
	background:#FD94A7;
	color: #FFF;
	border-radius: 12px;
	padding: 5px 20px 7px;
	font-size: 18px;
}
.single-content h3 {
	padding: 0 5px;
	margin-bottom: 0;
	font-size: 20px;
	border-bottom: solid 3px #FD94A7;
}
.single-content h4{
  margin-bottom: 5px;
}
.single-content h4,
.single-content h5 {
	font-size: 18px;
}
.single-content h6 {
	font-size: 16px;
}
*/

.single-content blockquote {
	position: relative;
	margin: 5px 0 15px 0;
	padding: 40px 15px 8px 15px;
	box-sizing: border-box;
	font-style: italic;
	font-size: 18px;
	background:#fff1f5;
}

.single-content blockquote:before {
	display: inline-block;
	position: absolute;
	top: 0px;
	left: 3px;
	content: "";
	color: #FD94A7;
	font-size: 90px;
	line-height: 1;
}

.single-content blockquote p {
	padding: 0;
	margin: 10px 0;
	line-height: 1.7;
}

.single-content blockquote cite {
	display: block;
	text-align: right;
	color:#717171;
	font-size:1em;
}
/*
.single-content table{
	border:solid 1px #717171;
	border-collapse: collapse;
}
.single-content table thead th{
	background:#fff1f5;
	padding: 5px;
	border: solid 1px #CCC;
}
.single-content table tbody th{
	background:#fff1f5;
}
.single-content table tbody th,
.single-content table tbody td {
	padding:15px;
	border: solid 1px #CCC;
}
*/
/*
.single-content ul,
.single-content ol{
	margin: 5px 0 15px 15px;
}
.single-content ul {
	list-style: disc;
}
.single-content ol {
	list-style: decimal;
}
.single-content img{
	margin-bottom: 15px;
}
.single-content .wp-caption .wp-caption-text{
	font-size: 14px;
	margin-top: -15px;
}
*/
.single-content .aligncenter{
	margin-top: 15px;
}





/* -------- 以下、カスタマイズ -------- */
/* 
 * MEMO: common.cssベースのheading-001は直接コメントアウト
 * MEMO: common.cssベースのbutton-001は直接コメントアウト
 * MEMO: common.cssベースのsingle-contentの見出しは直接コメントアウト
 * MEMO: common.cssベースのcolorは直接コメントアウト
 */


:root {
	/*
    --header-height-sp: 78px;
    --site-max-width: 1920px;
    --footer-menu-sp-height: 60px;
	*/
    --header-height-pc: 105px;
	--font-main: "Noto Sans JP", sans-serif;
	--font-sub: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	--font-en: "Figtree", sans-serif;
	--font-en02: "Roboto", sans-serif;
	--color-font: #333333;
	--color-font-dark: #1C1B1F;
	--color-font-dark02: #000;
	--color-font-r: #fff;
	--color-gray: #B9BEC2;
	--color-gray02: #d5dadd;
	--color-gray03: #6e7377;
	--color-bg: #fff;
    --color-header-bg-sp: #00013B;
    --color-header-hover-text-sp: #A1A1B7;
	--color-main: #000165;
	--color-main-light: #D8E6F4;
	--color-main-light02: #EFF5FB;
	--color-main-light03: #DDEBF8;
	--color-main-dark: #151635;
	--color-accent: #FFEA00;
	--color-accent02: #ffef67;
	--color-accent-light: #fbf6d2;
	--color-pickup: #186ffc;
	--color-red: #E32832;
	--color-blue: #1BB8ED;
	--color-pink: #F16276;
	--color-violet: #7266AE;
	--color-green: #40B872;
	--color-orange: #F48835;
	--color-attention: #ff0000;
	--color-brand-line: #06C755;
	--color-el-table-border: #C1D8FF;
	--color-el-table-head-bg: #e5ecf6;
	--color-el-table-head-text: #003366;
	--color-el-archive-current: #186ffc;
	--color-el-contents-tag: #186ffc;
	--color-page-title: #2A2070;
	--color-page-title-en: #9A91D0;
	--color-page-oc-form-button: #ff5150;
	--color-archive-title: #2A2070;
	--color-archive-title-en: #9A91D0;
	--color-lp-oc-accent-light: #FEFAEB;
	--color-lp-oc-blue: #1D80D8;
	--color-lp-oc-blue02: #177BFA;
	--color-lp-oc-blue-light: #EFF6FD;
	--color-lp-oc-blue-light02: #9AC1E2;
	--color-lp-oc-green-light: #EAF6EE;
	--color-lp-oc-pink: #F16276;
	--color-lp-oc-header-border: #707070;
	--grad-logo: linear-gradient(90deg, #FFF000 10.03%, #FCEF0F 13.03%, #F4ED36 19.02%, #E8EB75 27.02%, #D6E7CB 37.02%, #D4E6D7 38.02%, #8BD6DF 43.02%, #50C9E5 48.02%, #24BFE9 52.01%, #0AB9EC 55.01%, #00B7ED 57.01%, #03B7EC 61.01%, #0BB5EB 64.01%, #1AB3E8 66.01%, #2FB0E4 68.01%, #4AACDE 70.01%, #6BA7D8 72.01%, #91A1D0 73.01%, #B49CC9 75.01%, #BB94C3 76.01%, #CF7FB3 81.01%, #DE6FA7 86%, #E666A0 92%, #E9639E 100%);
	--grad-top-course-type-red: linear-gradient(180deg, rgba(241, 91, 78, 0) 19.49%, #F15B4E 60.13%, #E32832 100%);
	--grad-top-course-type-blue: linear-gradient(179.6deg, rgba(27, 184, 237, 0) 16.14%, #1BB8ED 48.04%, #6A8BC7 81.4%);
	--grad-top-course-type-violet: linear-gradient(179.6deg, rgba(154, 124, 184, 0) 16.14%, #9A7CB8 48.04%, #7266AE 81.4%);
	--grad-top-course-type-green: linear-gradient(183deg, rgba(147, 201, 100, 0) 32.46%, rgba(147, 201, 100, 0.744373) 47.45%, #40B872 75.22%);
	--grad-top-course-type-orange: linear-gradient(180deg, rgba(251, 167, 74, 0) 26.03%, rgba(251, 167, 74, 0.744373) 43.05%, #F48835 74.57%);
	--grad-top-course-type-pink: linear-gradient(180.86deg, rgba(243, 128, 142, 0) 26.71%, rgba(243, 128, 142, 0.744373) 46.86%, #F16276 84.19%);
	--grad-course-card-red:    linear-gradient(180deg, #F15B4E 0%, #E32832 100%);
	--grad-course-card-blue:   linear-gradient(180deg, #1BB8ED 0%, #6A8BC7 100%);
	--grad-course-card-violet: linear-gradient(180deg, #9A7CB8 0%, #7266AE 100%);
	--grad-course-card-green:  linear-gradient(180deg, #93C964 0%, #40B872 100%);
	--grad-course-card-orange: linear-gradient(180deg, #FBA74A 0%, #F48835 100%);
	--grad-course-card-pink:   linear-gradient(180deg, #F3808E 0%, #F16276 100%);
	--grad-page-oc-form-footer: linear-gradient(90deg, #30a8f5 0%, #0b6ffc 100%);
	--grad-lp-oc-main: linear-gradient(90deg, #eff155 0, #c6ebdb 24.2%, #61b9dd 47.8%, #949bd0 72.4%, #ce91b6 100%);
	--grad-lp-oc-date-fixed: linear-gradient(180deg, #ffe45e 0%, #ffc44f 78%, #ffb347 100% );
	--content-width: 1100px;
	--content-width-lg: 1240px;
	--content-width-md: 960px;
	--content-width-sm: 840px;
	--content-single-width: 800px;
	--content-top-mv-width: 1380px;
	--content-top-topics-width: 1480px;
	--content-page-title-width: 2000px;
	--content-lp-oc-mv-width: 1380px;
	--content-lp-oc-width-lg: 1520px;
	--content-lp-oc-width: 1200px;
	--content-lp-oc-width-md: 1000px;
	--content-margin: 30px;
	--sp-vw: 375;
}
@media (max-width: 640px) {
	:root {
		--content-margin: 10px;
	}
}
body:not(.home) {
    --header-height-pc: 130px;
}

body {
	color: var(--color-font);
	overflow-x: hidden;
	font-family: var(--font-main);
	font-weight: 400;
	background-color: var(--color-bg);
	font-size: 16px;
}
html [lang="en"] {
	font-family: var(--font-en);
	line-height: 1.2;
}
a {
	color: inherit;
}
b,
dt,
strong {
	font-weight: 700;
}
:where(h1,h2,h3,h4,h5,h6,dt) {
	letter-spacing: .07em;
	line-height: 1.4;
	font-weight: 700;
}
:where(h1,h2,h3)[lang="en"] {
	line-height: 1;
}
:where(dd,li,p) {
	letter-spacing: .05em;
	line-height: 1.6;
}
:where(th,td) {
	line-height: 1.4;
}
figcaption {
	letter-spacing: .05em;
	line-height: 1.4;
}
body main p,
body main :where(h1,h2,h3,h4,h5,h6),
body main picture,
body main figure,
body main dd,
body main li,
body main table {
	margin: 0;
}
body main picture,
body main img,
body main figure {
	line-height: 0;
}
body main figure figcaption {
	line-height: 1.2;
}

body main dl,
body main ol,
body main ul {
	margin: 0;
	padding: 0;
}

/* swiperの最初の表示対策 */
.swiper {
	opacity: 0;
}
.swiper.swiper-initialized {
	opacity: 1;
}


/*------------------------------------
 * パーツ
 ------------------------------------*/
/* color */
.c-pickup {
	color: var(--color-pickup) !important;
}
.c-red {
	color: var(--color-red) !important;
}
.c-blue {
	color: var(--color-blue) !important;
}
.c-pink {
	color: var(--color-pink) !important;
}
.c-violet {
	color: var(--color-violet) !important;
}
.c-green {
	color: var(--color-green) !important;
}
.c-orange {
	color: var(--color-orange) !important;
}
.c-attention {
	color: var(--color-attention) !important;
}

.va-middle {
	vertical-align: middle;
}
.va-top {
	vertical-align: top;
}
.va-bottom {
	vertical-align: bottom;
}
.va-sub {
	vertical-align: sub;
}

/* list-slash ※ulには一緒にdata属性「data-style-reset」を付けること */
.list-slash {
	list-style: none;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0;
	padding: 0;
}
.list-slash:not([class*="mt-"]) {
	margin-top: -10px;
}
.list-slash li {
	display: inline-block;
	margin-top: 10px;
	font-weight: 500;
}
.list-slash li:not(:last-of-type) {
	margin-right: 4px;
}
.list-slash li::after {
	content: '/';
	font-weight: 400;
	font-size: 140%;
	opacity: .8;
	margin-left: 4px;
}
.list-slash li:last-of-type::after {
	content: '';
	width: 1px;
	overflow: hidden;
	margin-left: 0;
}
@media (max-width: 640px) {
	.list-slash li:not(:last-of-type) {
		margin-right: 2px;
	}
	.list-slash li:not(:last-of-type)::after {
		margin-left: 2px;
	}
}

/* list-tag ※ulには一緒にdata属性「data-style-reset」を付けること */
.list-tag {
	list-style: none;
	margin-right: 0;
	margin-left: 0;
	margin-bottom: 0;
	padding: 0;
}
.list-tag:not([class*="mt-"]) {
	margin-top: 10px;
}
.list-tag li {
	display: inline-block;
	margin-right: 2px;
	margin-bottom: 5px;
	border: solid 1px var(--color-main);
	padding: 2px 4px 2px 6px;
}
.list-tag[data-color="red"] li {
	color: var(--color-red);
	border-color: var(--color-red);
}
.list-tag[data-color="blue"] li {
	color: var(--color-blue);
	border-color: var(--color-blue);
}
.list-tag[data-color="violet"] li {
	color: var(--color-violet);
	border-color: var(--color-violet);
}
.list-tag[data-color="green"] li {
	color: var(--color-green);
	border-color: var(--color-green);
}
.list-tag[data-color="orange"] li {
	color: var(--color-orange);
	border-color: var(--color-orange);
}
.list-tag[data-color="pink"] li {
	color: var(--color-pink);
	border-color: var(--color-pink);
}

/* textbox */
[class*="textbox-"],
.textbox {
	padding: 20px 20px;
	font-size: 14px;
	border: solid 2px;
	position: relative;
	box-sizing: border-box;
}
[class*="textbox-"]:not([class*="mt-"]),
.textbox:not([class*="mt-"]) {
	margin-top: 30px;
}
[class*="textbox-"][data-title],
.textbox[data-title] {
	padding-top: 25px;
}
[class*="textbox-"][data-title]::before ,
.textbox[data-title]::before {
	content: attr(data-title);
	position: absolute;
	left: 10px;
	top: calc(-.5em - 5px * 2);
	max-width: calc(100% - 10px * 2);
	padding: 5px 10px;
	color: var(--color-font-r);
	font-weight: 700;
}
.textbox {
	border-color: var(--color-main);
}
.textbox[data-title]::before {
	background-color: var(--color-main);
}

/* textbox-accent */
.textbox-accent {
	border-color: var(--color-accent);
}
.textbox-accent[data-title]::before {
	background-color: var(--color-accent);
	color: var(--color-font-dark02);
}

/* textbox-gray */
.textbox-gray {
	border-color: var(--color-gray);
}
.textbox-gray[data-title]::before {
	background-color: var(--color-gray);
	color: var(--color-font-dark02);
}

/* textbox-attention */
.textbox-attention {
	border-color: var(--color-attention);
}
.textbox-attention[data-title]::before {
	background-color: var(--color-attention);
}

/* bgbox */
[class*="bgbox-"],
.bgbox {
	position: relative;
	z-index: 1;
	padding: 20px 30px;
	box-sizing: border-box;
}
[class*="bgbox-"]:not([class*="mt-"]),
.bgbox:not([class*="mt-"]) {
	margin-top: 30px;
}
[class*="bgbox-"]::before,
.bgbox::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	opacity: .07;
}
.bgbox::before {
	background-color: var(--color-main);
}
.bgbox[data-color="red"]::before {
	background-color: var(--color-red);
}
.bgbox[data-color="blue"]::before {
	background-color: var(--color-blue);
}
.bgbox[data-color="violet"]::before {
	background-color: var(--color-violet);
}
.bgbox[data-color="green"]::before {
	background-color: var(--color-green);
}
.bgbox[data-color="orange"]::before {
	background-color: var(--color-orange);
}
.bgbox[data-color="pink"]::before {
	background-color: var(--color-pink);
}

/* bgbox-accent */
.bgbox-accent::before {
	background-color: var(--color-accent);
}

/* bgbox-gray */
.bgbox-gray::before {
	background-color: var(--color-gray);
	opacity: .15;
}

/* bgbox-attention */
.bgbox-attention::before {
	background-color: var(--color-attention);
}
@media (max-width: 640px) {
	[class*="bgbox-"],
	.bgbox {
		padding: 20px;
	}
}


/* heading-001 */
.heading-001 {
	font-size: 25px;
	font-weight: 500;
	color: var(--color-main);
    border-left: solid 6px;
    padding: 2px 0 2px 20px;
}
.heading-001:not([class*="mt-"]) {
	margin-top: 80px;
}
.heading-001:not([class*="mb-"]) {
	margin-bottom: 30px;
}
.heading-001-s {
	font-size: 20px;
	font-weight: 700;
	color: var(--color-main);
    border-left: solid 4px;
    padding: 2px 0 2px 10px;
}
.heading-001-s:not([class*="mt-"]) {
	margin-top: 60px;
}
.heading-001-s:not([class*="mb-"]) {
	margin-bottom: 20px;
}
.heading-001-l {
	font-size: 36px;
	font-weight: 500;
	color: var(--color-main);
	border-left: solid 6px;
	padding: 2px 0 4px 20px;
}
.heading-001-l:not([class*="mt-"]) {
	margin-top: 80px;
}
.heading-001-l:not([class*="mb-"]) {
	margin-bottom: 30px;
}
[class*="heading-001-"][data-color="red"],
.heading-001[data-color="red"] {
	color: var(--color-red);
}
[class*="heading-001-"][data-color="blue"],
.heading-001[data-color="blue"] {
	color: var(--color-blue);
}
[class*="heading-001-"][data-color="pink"],
.heading-001[data-color="pink"] {
	color: var(--color-pink);
}
[class*="heading-001-"][data-color="violet"],
.heading-001[data-color="violet"] {
	color: var(--color-violet);
}
[class*="heading-001-"][data-color="green"],
.heading-001[data-color="green"] {
	color: var(--color-green);
}
[class*="heading-001-"][data-color="orange"],
.heading-001[data-color="orange"] {
	color: var(--color-orange);
}
@media (max-width: 640px) {
	.heading-001 {
		font-size: 24px;
		padding-left: 12px;
	}
	.heading-001-l {
		font-size: 30px;
		padding-left: 12px;
	}
}

/* heading-002 */
[class*="heading-002-"],
.heading-002 {
	font-size: 28px;
	font-weight: 500;
	color: var(--color-font-r);
	background-color: var(--color-main);
	padding: 10px 20px;
}
[class*="heading-002-"]:not([class*="mt-"]),
.heading-002:not([class*="mt-"]) {
	margin-top: 80px;
}
[class*="heading-002-"]:not([class*="mb-"]),
.heading-002:not([class*="mb-"]) {
	margin-bottom: 30px;
}
.heading-002-light {
	background-color: var(--color-main-light);
	color: var(--color-main);
}
.heading-002-accent {
	background-color: var(--color-accent);
	color: var(--color-main);
}
[class*="heading-002-"][data-color="red"],
.heading-002[data-color="red"] {
	background-color: var(--color-red);
}
[class*="heading-002-"][data-color="blue"],
.heading-002[data-color="blue"] {
	background-color: var(--color-blue);
}
[class*="heading-002-"][data-color="violet"],
.heading-002[data-color="violet"] {
	background-color: var(--color-violet);
}
[class*="heading-002-"][data-color="green"],
.heading-002[data-color="green"] {
	background-color: var(--color-green);
}
[class*="heading-002-"][data-color="orange"],
.heading-002[data-color="orange"] {
	background-color: var(--color-orange);
}
[class*="heading-002-"][data-color="pink"],
.heading-002[data-color="pink"] {
	background-color: var(--color-pink);
}
@media (max-width: 640px) {
	.heading-002 {
		font-size: 24px;
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* heading-003 */
.heading-003 {
	font-size: 28px;
    font-weight: 500;
	color: var(--color-main);
	position: relative;
	padding: 0 20px 10px;
}
.heading-003:not([class*="mt-"]) {
	margin-top: 80px;
}
.heading-003:not([class*="mb-"]) {
	margin-bottom: 30px;
}
.heading-003::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: solid 3px var(--color-main);
}
.heading-003::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	border-bottom: solid 3px var(--color-accent);
	z-index: 1;
}
[class*="heading-003-"][data-color="red"],
.heading-003[data-color="red"] {
	color: var(--color-font-dark02);
}
[class*="heading-003-"][data-color="red"]::before,
.heading-003[data-color="red"]::before {
	border-color: var(--color-red);
}
[class*="heading-003-"][data-color="red"]::after,
.heading-003[data-color="red"]::after {
	border-color: var(--color-font-r);
	opacity: .7;
	left: auto;
	right: 0;
	width: calc(100% - 80px);
}
[class*="heading-003-"][data-color="blue"],
.heading-003[data-color="blue"] {
	color: var(--color-font-dark02);
}
[class*="heading-003-"][data-color="blue"]::before,
.heading-003[data-color="blue"]::before {
	border-color: var(--color-blue);
}
[class*="heading-003-"][data-color="blue"]::after,
.heading-003[data-color="blue"]::after {
	border-color: var(--color-font-r);
	opacity: .7;
	left: auto;
	right: 0;
	width: calc(100% - 80px);
}
[class*="heading-003-"][data-color="violet"],
.heading-003[data-color="violet"] {
	color: var(--color-font-dark02);
}
[class*="heading-003-"][data-color="violet"]::before,
.heading-003[data-color="violet"]::before {
	border-color: var(--color-violet);
}
[class*="heading-003-"][data-color="violet"]::after,
.heading-003[data-color="violet"]::after {
	border-color: var(--color-font-r);
	opacity: .7;
	left: auto;
	right: 0;
	width: calc(100% - 80px);
}
[class*="heading-003-"][data-color="green"],
.heading-003[data-color="green"] {
	color: var(--color-font-dark02);
}
[class*="heading-003-"][data-color="green"]::before,
.heading-003[data-color="green"]::before {
	border-color: var(--color-green);
}
[class*="heading-003-"][data-color="green"]::after,
.heading-003[data-color="green"]::after {
	border-color: var(--color-font-r);
	opacity: .7;
	left: auto;
	right: 0;
	width: calc(100% - 80px);
}
[class*="heading-003-"][data-color="orange"],
.heading-003[data-color="orange"] {
	color: var(--color-font-dark02);
}
[class*="heading-003-"][data-color="orange"]::before,
.heading-003[data-color="orange"]::before {
	border-color: var(--color-orange);
}
[class*="heading-003-"][data-color="orange"]::after,
.heading-003[data-color="orange"]::after {
	border-color: var(--color-font-r);
	opacity: .7;
	left: auto;
	right: 0;
	width: calc(100% - 80px);
}
[class*="heading-003-"][data-color="pink"],
.heading-003[data-color="pink"] {
	color: var(--color-font-dark02);
}
[class*="heading-003-"][data-color="pink"]::before,
.heading-003[data-color="pink"]::before {
	border-color: var(--color-pink);
}
[class*="heading-003-"][data-color="pink"]::after,
.heading-003[data-color="pink"]::after {
	border-color: var(--color-font-r);
	opacity: .7;
	left: auto;
	right: 0;
	width: calc(100% - 80px);
}
@media (max-width: 640px) {
	.heading-003 {
		font-size: 24px;
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* heading-004 */
.heading-004 {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-main);
	position: relative;
	padding-left: 20px;
}
.heading-004:not([class*="mt-"]) {
	margin-top: 60px;
}
.heading-004:not([class*="mb-"]) {
	margin-bottom: 20px;
}
.heading-004::before {
	content: '';
	position: absolute;
	left: 0;
	top: .5em;
	width: 10px;
	height: 10px;
    background-color: var(--color-accent);
	transform: rotate(45deg);
}
[class*="heading-004-"][data-color="red"],
.heading-004[data-color="red"] {
	color: var(--color-font-dark02);
}
[class*="heading-004-"][data-color="red"]::before,
.heading-004[data-color="red"]::before {
	background-color: var(--color-red);
}
[class*="heading-004-"][data-color="blue"],
.heading-004[data-color="blue"] {
	color: var(--color-font-dark02);
}
[class*="heading-004-"][data-color="blue"]::before,
.heading-004[data-color="blue"]::before {
	background-color: var(--color-blue);
}
[class*="heading-004-"][data-color="violet"],
.heading-004[data-color="violet"] {
	color: var(--color-font-dark02);
}
[class*="heading-004-"][data-color="violet"]::before,
.heading-004[data-color="violet"]::before {
	background-color: var(--color-violet);
}
[class*="heading-004-"][data-color="green"],
.heading-004[data-color="green"] {
	color: var(--color-font-dark02);
}
[class*="heading-004-"][data-color="green"]::before,
.heading-004[data-color="green"]::before {
	background-color: var(--color-green);
}
[class*="heading-004-"][data-color="orange"],
.heading-004[data-color="orange"] {
	color: var(--color-font-dark02);
}
[class*="heading-004-"][data-color="orange"]::before,
.heading-004[data-color="orange"]::before {
	background-color: var(--color-orange);
}
[class*="heading-004-"][data-color="pink"],
.heading-004[data-color="pink"] {
	color: var(--color-font-dark02);
}
[class*="heading-004-"][data-color="pink"]::before,
.heading-004[data-color="pink"]::before {
	background-color: var(--color-pink);
}

/* heading-005 */
.heading-005 {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-main);
	border-left: solid 4px var(--color-main);
	padding: 10px 20px;
	position: relative;
	z-index: 1;
}
.heading-005:not([class*="mt-"]) {
	margin-top: 60px;
}
.heading-005:not([class*="mb-"]) {
	margin-bottom: 20px;
}
.heading-005::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main-light02);
}
[class*="heading-005-"][data-color="red"],
.heading-005[data-color="red"] {
	color: var(--color-font-dark02);
	border-color: var(--color-red);
}
[class*="heading-005-"][data-color="red"]::before,
.heading-005[data-color="red"]::before {
	background-color: var(--color-red);
	opacity: .1;
}
[class*="heading-005-"][data-color="blue"],
.heading-005[data-color="blue"] {
	color: var(--color-font-dark02);
	border-color: var(--color-blue);
}
[class*="heading-005-"][data-color="blue"]::before,
.heading-005[data-color="blue"]::before {
	background-color: var(--color-blue);
	opacity: .1;
}
[class*="heading-005-"][data-color="violet"],
.heading-005[data-color="violet"] {
	color: var(--color-font-dark02);
	border-color: var(--color-violet);
}
[class*="heading-005-"][data-color="violet"]::before,
.heading-005[data-color="violet"]::before {
	background-color: var(--color-violet);
	opacity: .1;
}
[class*="heading-005-"][data-color="green"],
.heading-005[data-color="green"] {
	color: var(--color-font-dark02);
	border-color: var(--color-green);
}
[class*="heading-005-"][data-color="green"]::before,
.heading-005[data-color="green"]::before {
	background-color: var(--color-green);
	opacity: .1;
}
[class*="heading-005-"][data-color="orange"],
.heading-005[data-color="orange"] {
	color: var(--color-font-dark02);
	border-color: var(--color-orange);
}
[class*="heading-005-"][data-color="orange"]::before,
.heading-005[data-color="orange"]::before {
	background-color: var(--color-orange);
	opacity: .1;
}
[class*="heading-005-"][data-color="pink"],
.heading-005[data-color="pink"] {
	color: var(--color-font-dark02);
	border-color: var(--color-pink);
}
[class*="heading-005-"][data-color="pink"]::before,
.heading-005[data-color="pink"]::before {
	background-color: var(--color-pink);
	opacity: .1;
}
@media (max-width: 640px) {
	.heading-005 {
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* heading-006 */
.heading-006 {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-main);
	padding: 10px 0;
	border-top: solid 2px var(--color-main);
    border-bottom: solid .5px var(--color-gray);
}
.heading-006:not([class*="mt-"]) {
	margin-top: 60px;
}
.heading-006:not([class*="mb-"]) {
	margin-bottom: 20px;
}
.heading-006-l {
	font-size: 32px;
	font-weight: 500;
	color: var(--color-main);
	padding: 15px 0;
	border-top: solid 4px var(--color-main);
    border-bottom: solid 1px var(--color-gray);
}
.heading-006-l:not([class*="mt-"]) {
	margin-top: 80px;
}
.heading-006-l:not([class*="mb-"]) {
	margin-bottom: 30px;
}
[class*="heading-006-"][data-color="red"],
.heading-006[data-color="red"] {
	color: var(--color-font-dark02);
	border-top-color: var(--color-red);
}
[class*="heading-006-"][data-color="blue"],
.heading-006[data-color="blue"] {
	color: var(--color-font-dark02);
	border-top-color: var(--color-blue);
}
[class*="heading-006-"][data-color="violet"],
.heading-006[data-color="violet"] {
	color: var(--color-font-dark02);
	border-top-color: var(--color-violet);
}
[class*="heading-006-"][data-color="green"],
.heading-006[data-color="green"] {
	color: var(--color-font-dark02);
	border-top-color: var(--color-green);
}
[class*="heading-006-"][data-color="orange"],
.heading-006[data-color="orange"] {
	color: var(--color-font-dark02);
	border-top-color: var(--color-orange);
}
[class*="heading-006-"][data-color="pink"],
.heading-006[data-color="pink"] {
	color: var(--color-font-dark02);
	border-top-color: var(--color-pink);
}
@media (max-width: 640px) {
	.heading-006-l {
		font-size: 28px;
	}
}

/* heading-007 */
.heading-007 {
	font-size: 18px;
	font-weight: 700;
	color: var(--color-font-dark02);
	position: relative;
	padding-left: 20px;
}
.heading-007:not([class*="mt-"]) {
	margin-top: 40px;
}
.heading-007:not([class*="mb-"]) {
	margin-bottom: 20px;
}
.heading-007::before {
	content: '';
	position: absolute;
	left: 0;
	top: calc(.5em + 3px);
	width: 13px;
	border-top: solid 3px var(--color-main);
}
[class*="heading-007-"][data-color="red"]::before,
.heading-007[data-color="red"]::before {
	border-color: var(--color-red);
}
[class*="heading-007-"][data-color="blue"]::before,
.heading-007[data-color="blue"]::before {
	border-color: var(--color-blue);
}
[class*="heading-007-"][data-color="violet"]::before,
.heading-007[data-color="violet"]::before {
	border-color: var(--color-violet);
}
[class*="heading-007-"][data-color="green"]::before,
.heading-007[data-color="green"]::before {
	border-color: var(--color-green);
}
[class*="heading-007-"][data-color="orange"]::before,
.heading-007[data-color="orange"]::before {
	border-color: var(--color-orange);
}
[class*="heading-007-"][data-color="pink"]::before,
.heading-007[data-color="pink"]::before {
	border-color: var(--color-pink);
}

/* heading-008 */
.heading-008 {
	font-size: 28px;
    font-weight: 500;
	position: relative;
	padding: 0 0 15px;
	text-align: center;
}
.heading-008:not([class*="mt-"]) {
	margin-top: 80px;
}
.heading-008:not([class*="mb-"]) {
	margin-bottom: 60px;
}
.heading-008::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	border-bottom: solid 4px var(--color-main);
}
[class*="heading-008-"][data-color="red"]::before,
.heading-008[data-color="red"]::before {
	border-color: var(--color-red);
}
[class*="heading-008-"][data-color="blue"]::before,
.heading-008[data-color="blue"]::before {
	border-color: var(--color-blue);
}
[class*="heading-008-"][data-color="violet"]::before,
.heading-008[data-color="violet"]::before {
	border-color: var(--color-violet);
}
[class*="heading-008-"][data-color="green"]::before,
.heading-008[data-color="green"]::before {
	border-color: var(--color-green);
}
[class*="heading-008-"][data-color="orange"]::before,
.heading-008[data-color="orange"]::before {
	border-color: var(--color-orange);
}
[class*="heading-008-"][data-color="pink"]::before,
.heading-008[data-color="pink"]::before {
	border-color: var(--color-pink);
}
@media (max-width: 640px) {
	.heading-008 {
		font-size: 24px;
	}
	.heading-008:not([class*="mb-"]) {
		margin-bottom: 30px;
	}
}

/* heading-009 */
.heading-009-white,
.heading-009 {
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  font-family: var(--font-en02);
  line-height: 1;
  letter-spacing: 0.2em;
  position: relative;
  padding-bottom: 20px;
}
.heading-009-white:not([class*="mt-"]),
.heading-009:not([class*="mt-"]) {
	margin-top: 80px;
}
.heading-009-white:not([class*="mb-"]),
.heading-009:not([class*="mb-"]) {
	margin-bottom: 60px;
}
.heading-009 {
	color: var(--color-font-dark02);
}
.heading-009-white {
	color: var(--color-font-r);
}
.heading-009-white::before,
.heading-009::before {
  position: absolute;
  border-bottom: 7px solid;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 35px;
  content: "";
}
.heading-009::before {
	border-color: var(--color-font-dark02);
}
.heading-009-white::before {
	border-color: var(--color-font-r);
}
hgroup .heading-009-white + p,
hgroup .heading-009 + p {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  font-family: var(--font-sub);
  line-height: 1;
  letter-spacing: 0;
  margin-top: 40px;
}
hgroup .heading-009 + p {
	color: var(--color-font-dark02);
}
hgroup .heading-009-white + p {
	color: var(--color-font-r);
}
@media (max-width: 640px) {
	.heading-009-white,
	.heading-009 {
		font-size: 30px;
		letter-spacing: 0.2em;
		padding-bottom: 15px;
	}
	.heading-009-white::before,
	.heading-009::before {
		border-bottom-width: 4px;
		width: 21px;
	}
	hgroup .heading-009-white + p,
	hgroup .heading-009 + p {
		font-size: 16px;
		letter-spacing: 0.05em;
		margin-top: 30px;
	}
}


/* button-001 */
[class*="button-001-"],
.button-001 {
	border-radius: 100vmin;
	min-height: 70px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-width: 260px;
	max-width: 100%;
	width: max-content;
	padding: 10px 65px 10px 28px;
	text-decoration: none;
	background-color: var(--color-main);
	color: var(--color-font-r);
	font-weight: 700;
	font-size: 20px;
	position: relative;
	border: solid 2px var(--color-main);
	text-align: left;
}
.center [class*="button-001-"],
.center .button-001,
.center[class*="button-001-"],
.center.button-001 {
	margin-left: auto;
	margin-right: auto;
}
[class*="button-001-"]:hover,
.button-001:hover {
	background-color: var(--color-font-r);
	color: var(--color-main);
}
.button-001-l {
	min-width: 500px;
}
.button-001-max {
	min-width: 0;
	width: 100%;
}
[class*="button-001-"][data-color="white"],
.button-001[data-color="white"] {
	background-color: var(--color-font-r);
	color: var(--color-main);
	border-color: var(--color-font-r);
}
[class*="button-001-"][data-color="white"]:hover,
.button-001[data-color="white"]:hover {
	color: var(--color-font-r);
	background-color: var(--color-main);
}
[class*="button-001-"][data-color="red"],
.button-001[data-color="red"] {
	background-color: var(--color-red);
	border-color: var(--color-red);
}
[class*="button-001-"][data-color="red"]:hover,
.button-001[data-color="red"]:hover {
	color: var(--color-red);
	background-color: var(--color-font-r);
}
[class*="button-001-"][data-color="blue"],
.button-001[data-color="blue"] {
	background-color: var(--color-blue);
	border-color: var(--color-blue);
}
[class*="button-001-"][data-color="blue"]:hover,
.button-001[data-color="blue"]:hover {
	color: var(--color-blue);
	background-color: var(--color-font-r);
}
[class*="button-001-"][data-color="violet"],
.button-001[data-color="violet"] {
	background-color: var(--color-violet);
	border-color: var(--color-violet);
}
[class*="button-001-"][data-color="violet"]:hover,
.button-001[data-color="violet"]:hover {
	color: var(--color-violet);
	background-color: var(--color-font-r);
}
[class*="button-001-"][data-color="green"],
.button-001[data-color="green"] {
	background-color: var(--color-green);
	border-color: var(--color-green);
}
[class*="button-001-"][data-color="green"]:hover,
.button-001[data-color="green"]:hover {
	color: var(--color-green);
	background-color: var(--color-font-r);
}
[class*="button-001-"][data-color="orange"],
.button-001[data-color="orange"] {
	background-color: var(--color-orange);
	border-color: var(--color-orange);
}
[class*="button-001-"][data-color="orange"]:hover,
.button-001[data-color="orange"]:hover {
	color: var(--color-orange);
	background-color: var(--color-font-r);
}
[class*="button-001-"][data-color="pink"],
.button-001[data-color="pink"] {
	background-color: var(--color-pink);
	border-color: var(--color-pink);
}
[class*="button-001-"][data-color="pink"]:hover,
.button-001[data-color="pink"]:hover {
	color: var(--color-pink);
	background-color: var(--color-font-r);
}
[class*="button-001-"] i,
.button-001 i {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	border-radius: 100vmin;
	border: solid 2px var(--color-font-r);
}
[class*="button-001-"] i::before,
.button-001 i::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-font-r);
	border-left: solid 2px var(--color-font-r);
	transform: translate(-50%,-50%) rotate(135deg);
}
[class*="button-001-"] i::after,
.button-001 i::after {
	content: '';
	position: absolute;
	left: calc(50% - 2px);
	top: 50%;
	width: 12px;
	border-top: solid 2px var(--color-font-r);
	transform: translate(-50%,-50%);
}
[class*="button-001-"][data-color="white"] i,
[class*="button-001-"][data-color="white"] i::after,
[class*="button-001-"][data-color="white"] i::before,
.button-001[data-color="white"] i,
.button-001[data-color="white"] i::after,
.button-001[data-color="white"] i::before {
	border-color: var(--color-main);
}
[class*="button-001-"]:hover i,
.button-001:hover i,
[class*="button-001-"]:hover i::after,
.button-001:hover i:after,
[class*="button-001-"]:hover i::before,
.button-001:hover i::before {
	border-color: var(--color-main);
}
[class*="button-001-"][data-color="white"]:hover i,
[class*="button-001-"][data-color="white"]:hover i::after,
[class*="button-001-"][data-color="white"]:hover i::before,
.button-001[data-color="white"]:hover i,
.button-001[data-color="white"]:hover i::after,
.button-001[data-color="white"]:hover i::before {
	border-color: var(--color-font-r);
}
[class*="button-001-"][data-color="red"]:hover i,
[class*="button-001-"][data-color="red"]:hover i::after,
[class*="button-001-"][data-color="red"]:hover i::before,
.button-001[data-color="red"]:hover i,
.button-001[data-color="red"]:hover i::after,
.button-001[data-color="red"]:hover i::before {
	border-color: var(--color-red);
}
[class*="button-001-"][data-color="blue"]:hover i,
[class*="button-001-"][data-color="blue"]:hover i::after,
[class*="button-001-"][data-color="blue"]:hover i::before,
.button-001[data-color="blue"]:hover i,
.button-001[data-color="blue"]:hover i::after,
.button-001[data-color="blue"]:hover i::before {
	border-color: var(--color-blue);
}
[class*="button-001-"][data-color="violet"]:hover i,
[class*="button-001-"][data-color="violet"]:hover i::after,
[class*="button-001-"][data-color="violet"]:hover i::before,
.button-001[data-color="violet"]:hover i,
.button-001[data-color="violet"]:hover i::after,
.button-001[data-color="violet"]:hover i::before {
	border-color: var(--color-violet);
}
[class*="button-001-"][data-color="green"]:hover i,
[class*="button-001-"][data-color="green"]:hover i::after,
[class*="button-001-"][data-color="green"]:hover i::before,
.button-001[data-color="green"]:hover i,
.button-001[data-color="green"]:hover i::after,
.button-001[data-color="green"]:hover i::before {
	border-color: var(--color-green);
}
[class*="button-001-"][data-color="orange"]:hover i,
[class*="button-001-"][data-color="orange"]:hover i::after,
[class*="button-001-"][data-color="orange"]:hover i::before,
.button-001[data-color="orange"]:hover i,
.button-001[data-color="orange"]:hover i::after,
.button-001[data-color="orange"]:hover i::before {
	border-color: var(--color-orange);
}
[class*="button-001-"][data-color="pink"]:hover i,
[class*="button-001-"][data-color="pink"]:hover i::after,
[class*="button-001-"][data-color="pink"]:hover i::before,
.button-001[data-color="pink"]:hover i,
.button-001[data-color="pink"]:hover i::after,
.button-001[data-color="pink"]:hover i::before {
	border-color: var(--color-pink);
}

/* button-001-accent */
[class*="button-001-"].button-001-accent,
.button-001-accent {
	background-color: var(--color-font-r);
	color: var(--color-font-dark02);
	border-color: var(--color-accent);
}
[class*="button-001-"].button-001-accent:hover,
.button-001-accent:hover {
	background-color: var(--color-accent);
	color: var(--color-font-dark02);
}
.button-001-accent i,
.button-001-accent i::after,
.button-001-accent i::before {
	border-color: var(--color-gray03);
}
.button-001-accent:hover i,
.button-001-accent:hover i::after,
.button-001-accent:hover i::before {
	border-color: var(--color-font-dark02);
}


/* button-001-pickup */
[class*="button-001-"].button-001-pickup,
.button-001-pickup {
	background-color: var(--color-pickup);
	color: var(--color-font-r);
	border-color: var(--color-pickup);
}
[class*="button-001-"].button-001-pickup:hover,
.button-001-pickup:hover {
	background-color: var(--color-font-r);
	color: var(--color-pickup);
}
.button-001-pickup i,
.button-001-pickup i::after,
.button-001-pickup i::before {
	border-color: var(--color-font-r);
}
.button-001-pickup:hover i,
.button-001-pickup:hover i::after,
.button-001-pickup:hover i::before {
	border-color: var(--color-pickup);
}

@media (max-width: 640px) {
	[class*="button-001-"],
	.button-001 {
		font-size: calc(100vmin * 16 / var(--sp-vw));
		min-height: 0 !important;
		min-width: 70%;
		padding: calc(100vmin * 15 / var(--sp-vw)) calc(100vmin * 60 / var(--sp-vw)) calc(100vmin * 15 / var(--sp-vw)) calc(100vmin * 20 / var(--sp-vw));
	}
	.button-001-max,
	.button-001-l {
		min-width: 0;
		width: 100%;
	}
	[class*="button-001-"] i,
	.button-001 i {
		position: absolute;
		right: calc(100vmin * 10 / var(--sp-vw));
		width: calc(100vmin * 36 / var(--sp-vw));
		height: calc(100vmin * 36 / var(--sp-vw));
		border-radius: 100vmin;
	}
	[class*="button-001-"] i::before,
	.button-001 i::before {
		width: calc(100vmin * 10 / var(--sp-vw));
		height: calc(100vmin * 10 / var(--sp-vw));
	}
	[class*="button-001-"] i::after,
	.button-001 i::after {
		left: calc(50% - (100vmin * 1 / var(--sp-vw)));
		width: calc(100vmin * 12 / var(--sp-vw));
	}
}

/* section-divider(<hr>) */
.section-divider {
  border: none;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    #1a3c6e 20%,
    #1a3c6e 80%,
    transparent
  );
  margin: 40px 0;
}

/* indent */
/* 1）2）など */
.indent-label-001 {
  padding-left: 2.1em;
  text-indent: -1.8em;
}
/* 全角1文字余白 */
.indent-label-002 {
	text-indent: 1em;
	padding-left: -1em;
}
/* 全角1文字分左にずらす。※など */
.indent-label-003 {
	text-indent: -1em;
	padding-left: 1em;
}

/* image-border */
/* 画像用の線 */
.image-border {
	box-sizing: border-box;
	border: solid 1px var(--color-gray02);
}

/* youtube-full */
.youtube-full iframe {
	object-fit: cover;
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
}

/* responsive-video */
.responsive-video {
  width: 100%;
  max-width: 800px;
  display: block;
  margin: 0 auto;
}

/* color */
.color-red {
	color: var(--color-red);
}
.color-blue {
	color: var(--color-blue);
}
.color-pink {
	color: var(--color-pink);
}
.color-violet {
	color: var(--color-violet);
}
.color-green {
	color: var(--color-green);
}
.color-orange {
	color: var(--color-orange);
}
.color-orange {
	color: var(--color-orange);
}



/*------------------------------------
 * TOP
 ------------------------------------*/

/* MV */
.top-mv__inner {
	position: relative;
}
.top-mv__header {
	position: absolute;
	max-width: calc(var(--content-top-mv-width) + var(--content-margin) * 2);
	width: 100%;
	height: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	z-index: 2;
}
.top-mv__headline {
	position: absolute;
	left: 4vw;
	top: 18.5vw;
	font-size: 70px;
	font-style: italic;
	line-height: 1.2;
	letter-spacing: 0;
}
.top-mv__headline span {
	background-color: var(--color-font-r);
	display: inline-block;
	padding: 5px 15px;
	color: var(--color-main);
}
.top-mv__headline span:first-of-type {
	padding-top: 10px;
}
.top-mv__headline span:last-of-type {
	padding-bottom: 10px;
}
.top-mv__catch {
	position: absolute;
	right: 12vw;
	bottom: 10vw;
}
.top-mv__catch p {
	color: var(--color-main);
	line-height: 1.4;
	letter-spacing: 0;
	font-size: 14px;
	font-weight: 600;
}
.top-mv__catch p strong {
	font-size: 30px;
	font-weight: 900;
}
.top-mv__catch p span {
	background-color: var(--color-font-r);
	display: inline-block;
	padding: 10px 15px;
}
.top-mv__catch p:not([lang="en"]) span:last-of-type {
	padding-top: 0;
	padding-bottom: 0;
}
.top-mv__main {
	position: relative;
}
.top-mv__slider .swiper-pagination,
.top-mv__slider .swiper-button-prev,
.top-mv__slider .swiper-button-next,
.top-mv__slider .swiper-scrollbar {
	display: none !important;
}
.top-mv__slide-image {
	line-height: 0;
}
.top-mv__slide-image img {
	user-select: none;
	max-width: 100%;
	width: 100%;
}
@media (max-width: 1080px) {
	.top-mv__headline {
		font-size: 60px;
		top: 26vw;
		left: 10vw;
	}
	.top-mv__catch {
		position: absolute;
		right: 2vw;
		bottom: 2vw;
	}
	.top-mv__catch p strong {
		font-size: 20px;
	}
	.top-mv__catch p {
		font-size: 12px;
	}
}
@media (max-width: 640px) {
	.top-mv__headline {
		font-size: calc(100vmin * 32 / var(--sp-vw));
		top: 18vw;
		left: 4vw;
	}
	.top-mv__headline span {
		padding: calc(100vmin * 6 / var(--sp-vw)) calc(100vmin * 12 / var(--sp-vw));
	}
	.top-mv__catch {
		right: 8vw;
		bottom: 40vw;
	}
	.top-mv__catch p span {
		padding: calc(100vmin * 5 / var(--sp-vw)) calc(100vmin * 10 / var(--sp-vw));
	}
	.top-mv__catch p strong {
		font-size: calc(100vmin * 16 / var(--sp-vw));
	}
	.top-mv__catch p {
		font-size: calc(100vmin * 10 / var(--sp-vw));
	}
	.top-mv__slide-image img {
		aspect-ratio: 4 / 5;
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
}



/* トピックス */
.top-topics {
	background-color: var(--color-main-light);
}
.top-topics__inner {
	max-width: calc(var(--content-top-topics-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	padding-top: 70px;
	padding-bottom: 80px;
}
.top-topics__slider-group {
	padding-left: 60px;
	padding-right: 60px;
	position: relative;
}
.top-topics__slider {
	overflow: hidden;
	position: static;
	padding-top: 10px;
}
.top-topics__slider .swiper-wrapper {
	overflow: visible;
}
.top-topics__slider .swiper-pagination {
	display: none !important;
}
.top-topics__slider .swiper-scrollbar {
	position: static;
	margin-top: 20px;
	width: 100%;
	max-width: 720px;
	margin-inline: auto;
	height: 5px;
	background-color: var(--color-font-r);
}
.top-topics__slider .swiper-scrollbar-drag {
	background-color: var(--color-main);
}
.top-topics__slider .swiper-button-prev {
	left: 0;
}
.top-topics__slider .swiper-button-next {
	right: 0;
}
.top-topics__slider .swiper-button-next:after,
.top-topics__slider .swiper-button-prev:after {
	color: var(--color-main);
}
.top-topics__slide-image a {
	display: block;
}
.top-topics__slide-image a img {
	transition: transform .3s ease;
    aspect-ratio: 9 / 5.05;
    object-fit: cover;
    user-select: none;
    width: 100%;
    height: 100%;
	max-width: 425px;
}
.top-topics__slide-image a:hover img {
	transform: translateY(-10px);
}
@media (min-width: 641px) {
	.top-topics__slider[data-post-count="1"] .swiper-slide,
	.top-topics__slider[data-post-count="2"] .swiper-slide,
	.top-topics__slider[data-post-count="3"] .swiper-slide {
		width: 368px !important;
		margin-right: 8px !important;
	}
	.top-topics__slider[data-post-count="3"] .swiper-slide:last-of-type {
		margin-right: 0 !important;
	}
	.top-topics__slider[data-post-count="1"] .swiper-slide .top-topics__slide-image a img,
	.top-topics__slider[data-post-count="2"] .swiper-slide .top-topics__slide-image a img,
	.top-topics__slider[data-post-count="3"] .swiper-slide .top-topics__slide-image a img {
		width: 100% !important;
	}
}
@media (max-width: 640px) {
	.top-topics__slider[data-post-count="1"] .swiper-slide,
	.top-topics__slider[data-post-count="2"] .swiper-slide {
		width: calc(50% - 2.5px) !important;
	}
	.top-topics__slider[data-post-count="2"] .swiper-slide:last-of-type {
		margin-right: 0 !important;
	}
	.top-topics__inner {
		padding-top: 20px;
		padding-bottom: 30px;
	}
	.top-topics__slider-group {
		padding-left: 0;
		padding-right: 0;
	}
	.top-topics__slider .swiper-button-next,
	.top-topics__slider .swiper-button-prev {
		display: none !important;
	}
	.top-topics__slide-image a img {
		/*
		aspect-ratio: 3 / 4;
		*/
		max-width: none;
	}
}



/* お知らせ */
.top-news {
	margin-top: 130px;
}
.top-news__inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.top-news__header {
	display: flex;
	align-items: center;
}
.top-news__headline-group {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.top-news__headline {
	color: var(--color-main);
	font-size: 15px;
	font-weight: 900;
	letter-spacing: .05em;
	position: relative;
	padding-left: 10px;
}
.top-news__headline::before {
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 100vmin;
	background-color: var(--color-main);
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.top-news__headline-group p {
	font-weight: 900;
	font-size: 100px;
	color: var(--color-main);
	line-height: 1;
	width: max-content;
	position: relative;
}
.top-news__button-group {
	flex-shrink: 0;
}
.top-news__main {
	margin-top: 35px;
	position: relative;
}
.top-news__posts {
	position: relative;
}
.top-news__posts::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	border-bottom: solid 1px var(--color-main);
	width: 100%;
	opacity: .2;
}
.top-news__posts a {
	text-decoration: none;
}
.top-news__posts .p__post {
	display: flex;
	align-items: flex-start;
	font-size: 16px;
	position: relative;
}
.top-news__posts .p__post::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	border-bottom: solid 1px var(--color-main);
	width: 100%;
	opacity: .2;
}
.top-news__posts .p__post::after {
	content: '';
	position: absolute;
	right: 32px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 16px;
	height: 16px;
	border-top: solid 2px var(--color-font-dark);
	border-right: solid 2px var(--color-font-dark);
	box-sizing: border-box;
}
.top-news__posts .p__date {
	width: 110px;
	flex-shrink: 0;
	margin-top: 20px;
}
.top-news__posts .p__cat-list {
	list-style: none;
	font-size: 14px;
	display: flex;
	align-items: flex-start;
	gap: 5px;
	margin-right: 10px;
	margin-top: 17px;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	flex-wrap: wrap;
}
.top-news__posts .p__cat-list li a {
	padding: 5px 9px;
	border-radius: 5px;
	color: var(--color-main);
	display: block;
	position: relative;
	overflow: hidden;
}
.top-news__posts .p__cat-list li[class*="cat-maintenance-"] a,
.top-news__posts .p__cat-list li.cat-maintenance a {
	color: var(--color-font-r);
}
.top-news__posts .p__cat-list li[class*="cat-soft-"] a,
.top-news__posts .p__cat-list li.cat-soft a {
	color: var(--color-font-r);
}
.top-news__posts .p__cat-list li[class*="cat-visualsound-"] a,
.top-news__posts .p__cat-list li.cat-visualsound a {
	color: var(--color-font-r);
}
.top-news__posts .p__cat-list li[class*="cat-energie-"] a,
.top-news__posts .p__cat-list li.cat-energie a {
	color: var(--color-font-r);
}
.top-news__posts .p__cat-list li[class*="cat-architecture-"] a,
.top-news__posts .p__cat-list li.cat-architecture a {
	color: var(--color-font-r);
}
.top-news__posts .p__cat-list li[class*="cat-furniture-"] a,
.top-news__posts .p__cat-list li.cat-furniture a {
	color: var(--color-font-r);
}
.top-news__posts .p__cat-list li a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main-light);
	z-index: -1;
	border-radius: 5px;
}
.top-news__posts .p__cat-list li[class*="cat-maintenance-"] a::before,
.top-news__posts .p__cat-list li.cat-maintenance a::before {
	background-color: var(--color-red);
}
.top-news__posts .p__cat-list li[class*="cat-soft-"] a::before,
.top-news__posts .p__cat-list li.cat-soft a::before {
	background-color: var(--color-blue);
}
.top-news__posts .p__cat-list li[class*="cat-visualsound-"] a::before,
.top-news__posts .p__cat-list li.cat-visualsound a::before {
	background-color: var(--color-violet);
}
.top-news__posts .p__cat-list li[class*="cat-energie-"] a::before,
.top-news__posts .p__cat-list li.cat-energie a::before {
	background-color: var(--color-green);
}
.top-news__posts .p__cat-list li[class*="cat-architecture-"] a::before,
.top-news__posts .p__cat-list li.cat-architecture a::before {
	background-color: var(--color-orange);
}
.top-news__posts .p__cat-list li[class*="cat-furniture-"] a::before,
.top-news__posts .p__cat-list li.cat-furniture a::before {
	background-color: var(--color-pink);
}
.top-news__posts .p__title {
	flex-grow: 1;
}
.top-news__posts .p__title a {
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-right: 50px;
}
.top-news__posts .p__title a::before {
	content: '';
	position: absolute;
	background-color: var(--color-main-light);
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transition-property: opacity;
	transition-duration: .2s;
	z-index: -1;
	opacity: 0;
}
.top-news__posts .p__title a:hover {
	/*
	text-decoration: underline;
	*/
}
.top-news__posts .p__title a:hover::before {
	opacity: .25;
}
.top-news__cankey-01 {
	font-style: normal;
	position: absolute;
	right: -10px;
	top: 50%;
	transform: translate(100%,-50%);
}
.top-news__cankey-02 {
	font-style: normal;
	position: absolute;
	right: -150px;
	bottom: -90px;
}
@media (max-width: 1480px) {
	.top-news__cankey-02 {
		right: 0;
		bottom: -170px;
	}
}
@media (max-width: 640px) {
	.top-news {
		/*
		margin-top: 80px;
		*/
		margin-top: calc(100vmin * 140 / var(--sp-vw));
	}
	.top-news__header {
		align-items: flex-end;
		position: relative;
	}
	.top-news__headline-group p {
		font-size: calc(100vmin * 50 / var(--sp-vw));
		width: 100%;
		position: static;
	}
	.top-news__button {
		min-width: 0 !important;
	}
	.top-news__posts .p__post {
		display: block;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.top-news__posts .p__cat-list {
		margin-top: 10px;
	}
	.top-news__posts .p__title a {
		padding-bottom: 0;
		padding-top: 20px;
	}
	.top-news__posts .p__post::after {
		display: none !important;
	}
	.top-news__cankey-01 {
		right: auto;
		left: calc(100vmin * 10 / var(--sp-vw));
		top: calc(100vmin * -10 / var(--sp-vw));
		transform: translateY(-100%);
	}
	.top-news__cankey-01 img {
		width: calc(100vmin * 62 / var(--sp-vw));
	}
	.top-news__cankey-02 {
		font-style: normal;
		position: absolute;
		right: 0;
		bottom: calc(100vmin * -110 / var(--sp-vw));
	}
	.top-news__cankey-02 img {
		width: calc(100vmin * 80 / var(--sp-vw));
	}
}



/* STATEMENT */
.top-statement {
	margin-top: 210px;
	padding-top: 210px;
	padding-bottom: 180px;
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.top-statement__inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	display: grid;
	grid-template-areas: "footer main";
	grid-auto-columns: minmax(50%, 420px) 1fr;
	gap: 0;
	align-items: center;
}
.top-statement__main {
	grid-area: main;
	margin-left: 35px;
}
.top-statement__headline-group {
	display: flex;
	flex-direction: column;
	gap: 35px;
}
.top-statement__headline {
	font-size: 40px;
	font-weight: 400;
	background-image: var(--grad-logo);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
	line-height: 1.6;
}
.top-statement__headline span {
	border-bottom: solid 2px red;
	border-image: var(--grad-logo);
	border-image-slice: 1;
	padding-bottom: 6px;
}
.top-statement__headline-group p {
	order: -1;
	font-weight: 700;
}
.top-statement__desc {
	margin-top: 65px;
}
.top-statement__desc p + p {
	margin-top: 20px;
}
.top-statement__desc p strong {
	font-size: 20px;
	font-weight: inherit;
}
.top-statement__button-group {
	margin-top: 65px;
}
.top-statement__footer {
	grid-area: footer;
	padding-right: 35px;
}
.top-statement__image-group {
	position: relative;
	min-height: 700px;
}
.top-statement__image {
	opacity: 0;
	transition-property: opacity;
	transition-duration: .3s;
	position: absolute;
}
.top-statement__image img {
	user-select: none;
	border-radius: 10px;
	box-shadow: 0 0 4px rgba(0,0,0,.25);
}
.top-statement__image-group .top-statement__image:nth-of-type(1) {
	transition-delay: .3s;
	right: 0;
	bottom: 92px;
	z-index: 2;
}
.top-statement__image-group .top-statement__image:nth-of-type(2) {
	right: 164px;
	bottom: 212px;
	z-index: 1;
}
.top-statement__image-group .top-statement__image:nth-of-type(3) {
	transition-delay: .6s;
	left: 0;
	transform: translateX(-90px);
	bottom: 0;
	z-index: 2;
}
[data-scroll-action="true"].top-statement__image-group .top-statement__image {
	opacity: 1;
}
@media (max-width: 640px) {
	.top-statement {
		margin-top: calc(100vmin * 140 / var(--sp-vw));
		padding-top: 80px;
		padding-bottom: 80px;
		overflow: hidden;
	}
	.top-statement__inner {
		display: block;
	}
	.top-statement__footer {
		padding-right: 0;
	}
	.top-statement__main {
		margin-left: 0;
	}
	.top-statement__headline-group {
		gap: 10px;
	}
	.top-statement__headline {
		font-size: calc(100vmin * 45 / var(--sp-vw));
		white-space: nowrap;
	}
	.top-statement__desc {
		margin-top: 60px;
	}
	.top-statement__button-group {
		margin-top: 60px;
		text-align: center;
	}
	.top-statement__button {
		margin-left: auto;
		margin-right: auto;
	}
	.top-statement__image-group {
		min-height: calc(100vmin * 400 / var(--sp-vw));
		margin-top: 60px;
	}
	.top-statement__image-group .top-statement__image:nth-of-type(1) {
		bottom: calc(100vmin * 60 / var(--sp-vw));
	}
	.top-statement__image-group .top-statement__image:nth-of-type(1) img {
		width: calc(100vmin * 146 / var(--sp-vw));
	}
	.top-statement__image-group .top-statement__image:nth-of-type(2) {
		right: auto;
		left: calc(100vmin * 40 / var(--sp-vw));
		bottom: calc(100vmin * 140 / var(--sp-vw));
	}
	.top-statement__image-group .top-statement__image:nth-of-type(2) img {
		width: calc(100vmin * 200 / var(--sp-vw));
	}
	.top-statement__image-group .top-statement__image:nth-of-type(3) {
		transform: none;
	}
	.top-statement__image-group .top-statement__image:nth-of-type(3) img {
		width: calc(100vmin * 120 / var(--sp-vw));
	}
}



/* 学科紹介 */
.top-course {
	background-color: var(--color-main-light02);
}
.top-course__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 40px;
}
.top-course__header {
	max-width: calc(var(--content-width) / 2);
	margin-right: 0;
	margin-left: auto;
	width: 100%;
}
.top-course__headline-group {
	display: flex;
	flex-direction: column;
}
.top-course__headline {
	color: var(--color-main);
	font-size: 15px;
	font-weight: 900;
	letter-spacing: .05em;
	position: relative;
	padding-left: 10px;
}
.top-course__headline::before {
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 100vmin;
	background-color: var(--color-main);
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.top-course__headline-group p {
	font-weight: 900;
	font-size: 50px;
	line-height: 1;
	color: var(--color-main);
}
.top-course__h-sec {
	margin-top: 50px;
}
.top-course__title {
	font-size: 18px;
	font-weight: 500;
	color: var(--color-main);
	position: relative;
	padding-left: 12px;
}
.top-course__title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 1em;
	border-left: solid 5px;
}
.top-course__desc {
	margin-top: 10px;
}
.top-course__desc p {
}
.top-course__slider-nav-group {
	margin-top: 40px;
}
.top-course__slider-nav .swiper-wrapper {
	flex-direction: column;
}
.top-course__slider-nav .swiper-slide {
	/*
	width: max-content !important;
	*/
}
.top-course__slider-nav .swiper-slide:not(:first-of-type) {
	margin-top: 20px;
}
.top-course__slide-link {
	text-decoration: none;
	font-size: 20px;
	color: var(--color-main);
	padding-left: 40px;
	display: block;
	position: relative;
}
.top-course__slide-link span {
	background-color: var(--color-font-r);
	border-radius: 5px;
	padding: 2px 10px;
	font-size: 14px;
	display: inline-block;
	vertical-align: text-top;
	margin-top: 2px;
	margin-left: 2px;
}
.top-course__slide-link i {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	border-radius: 100vmin;
	border: solid 1.5px var(--color-main);
	font-style: normal;
}
.top-course__slide-link:hover i {
	background-color: var(--color-main);
}
.top-course__slide-link i::before {
	content: '';
	position: absolute;
	left: calc(50% + 2px);
	top: 50%;
	width: 6.5px;
	height: 6.5px;
	box-sizing: border-box;
	border-top: solid 1px var(--color-main);
	border-left: solid 1px var(--color-main);
	transform: translate(-50%,-50%) rotate(135deg);
}
.top-course__slide-link i::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10.5px;
	border-top: solid 1px var(--color-main);
	transform: translate(-50%,-50%);
}
.top-course__slide-link:hover i::before,
.top-course__slide-link:hover i::after {
	border-color: var(--color-font-r);
}
.top-course__button-group {
	margin-top: 55px;
}
.top-course__main {
	max-width: 905px;
	min-width: 700px;
	width: 100%;
}
.top-course__slide-content {
	position: relative;
}
.top-course__slide-content::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 505px;
	width: 100%;
	z-index: 1;
}
.top-course__slide-content[data-color-type="red"]::before {
	background-image: var(--grad-top-course-type-red);
}
.top-course__slide-content[data-color-type="blue"]::before {
	background-image: var(--grad-top-course-type-blue);
}
.top-course__slide-content[data-color-type="violet"]::before {
	background-image: var(--grad-top-course-type-violet);
}
.top-course__slide-content[data-color-type="green"]::before {
	background-image: var(--grad-top-course-type-green);
}
.top-course__slide-content[data-color-type="orange"]::before {
	background-image: var(--grad-top-course-type-orange);
}
.top-course__slide-content[data-color-type="pink"]::before {
	background-image: var(--grad-top-course-type-pink);
}
.top-course__slide-box {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0 40px 20px;
	z-index: 1;
	min-height: 150px;
	box-sizing: border-box;
	color: var(--color-font-r);
}
.top-course__slide-title {
	font-size: 23px;
	line-height: 1.2;
}
.top-course__slide-title span {
	font-size: 16px;
	display: inline-block;
	padding-top: 10px;
}
.top-course__slide-desc {
	margin-top: 15px;
}
.top-course__slide-desc p {
	font-size: 14px;
}
.top-course__slide-bg img {
	max-width: none;
	width: 100%;
	user-select: none;
}
@media (min-width: 641px) and (max-width: 1340px) {
	.top-course__inner {
		padding-left: var(--content-margin);
	}
}
@media (max-width: 640px) {
	.top-course {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.top-course__inner {
		grid-template-columns: 1fr;
		padding-left: 0;
	}
	.top-course__header {
		max-width: calc(var(--content-width) + var(--content-margin) * 2);
		width: 100%;
		padding-right: var(--content-margin);
		padding-left: var(--content-margin);
		margin-inline: auto;
	}
	.top-course__button-group {
		text-align: center;
		margin-top: 20px;
	}
	.top-course__button {
		margin-right: auto;
		margin-left: auto;
	}
	.top-course__main {
		min-width: 0;
	}
}



/* オープンキャンパス */
.top-oc {
	margin-top: 140px;
	position: relative;
	padding-bottom: 150px;
	overflow: hidden;
	min-height: 1300px;
}
.top-oc__inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.top-oc__header {
	
}
.top-oc__headline-group {
	display: flex;
	flex-direction: column;
}
.top-oc__headline {
	color: var(--color-main);
	font-size: 15px;
	font-weight: 900;
	letter-spacing: .05em;
	position: relative;
	padding-left: 10px;
}
.top-oc__headline::before {
	content: '';
	position: absolute;
	width: 6px;
	height: 6px;
	border-radius: 100vmin;
	background-color: var(--color-main);
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.top-oc__headline-group p {
	font-weight: 900;
	font-size: 100px;
	line-height: 1;
	color: var(--color-main);
}
.top-oc__main {
	margin-top: 50px;
}
.top-oc__posts-wrap {
	position: relative;
}
.top-oc__posts {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 15px 25px;
}
.top-oc__posts .p__post {
	display: flex;
	flex-direction: column;
	background-color: var(--color-font-r);
	border-radius: 10px;
	padding: 10px 10px 25px;
	box-shadow: 0 0 20px rgba(0,0,0,.25);
	gap: 15px;
}
.top-oc__posts .p__post[data-close] {
	background-color: var(--color-gray);
}
.top-oc__posts .p__title {
	font-size: 18px;
	margin-right: 10px;
	margin-left: 10px;
}
.top-oc__posts .p__desc {
	margin-right: 10px;
	margin-left: 10px;
	padding: 10px 5px 10px 10px;
    background-color: var(--color-main-light03);
    border-radius: 5px;
}
.top-oc__posts [data-close] .p__desc {
	background-color: var(--color-gray02);
}
.top-oc__posts .p__desc p {
	line-height: 1.4;
	font-size: 15px;
}
.top-oc__posts .p__thum {
	order: -1;
}
.top-oc__posts .p__thum a {
    display: block;
	overflow: hidden;
	border-radius: 10px;
	position: relative;
}
.top-oc__posts [data-close] .p__thum a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
	background-color: var(--color-font-dark02);
    height: 100%;
    width: 100%;
    z-index: 1;
	opacity: .6;
}
.top-oc__posts [data-close] .p__thum a::after {
	content: 'CLOSE';
	font-family: var(--font-en);
	font-weight: 900;
	font-size: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	white-space: nowrap;
	color: var(--color-font-r);
	z-index: 2;
}
.top-oc__posts .p__thum img {
	user-select: none;
	aspect-ratio: 16 / 9;
    object-fit: cover;
    user-select: none;
    width: 100%;
    height: 100%;
    transition: scale .2s;
}
.top-oc__posts .p__thum a:hover img {
    scale: 1.15;
}
.top-oc__posts .p__event-date {
	padding: 10px 5px 10px 10px;
	background-color: var(--color-main-light03);
	border-radius: 5px;
	margin-right: 10px;
	margin-left: 10px;
}
.top-oc__posts [data-close] .p__event-date {
	background-color: var(--color-gray02);
}
.top-oc__posts .p__event-date ul {
	list-style: none;
}
.top-oc__posts .p__event-date ul li {
	display: inline-block;
	font-style: normal;
	line-height: 1.6;
}
.top-oc__posts .p__event-date ul li:not(:last-of-type)::after {
	content: '、';
}
.top-oc__posts .p__event-date :where(p,li) {
	font-size: 15px;
	line-height: 1.2;
}
.top-oc__posts .p__links-wrap {
    flex-grow: 1;
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: flex-end;
}
.top-oc__posts .p__links {
	margin-right: 10px;
	margin-left: 10px;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 10px;
}
.top-oc__posts .p__links a {
	text-decoration: none;
	background-color: var(--color-font-r);
	display: block;
	color: var(--color-font);
	border-radius: 100vmin;
	border: solid 1px var(--color-font-r);
	padding: 5px 17px;
	box-shadow: 0 0 4px rgba(0,0,0,.5);
	position: relative;
}
.top-oc__posts [data-close] .p__links a {
	background-color: var(--color-gray02);
	border-color: var(--color-gray02);
}
.top-oc__posts .p__links .type-schedule {
	background-color: var(--color-main);
	color: var(--color-font-r);
	border-color: var(--color-main);
}
.top-oc__posts .p__links a:hover {
	opacity: .7;
}
.top-oc__posts .p__links a i {
	position: absolute;
	top: 50%;
	right: 15px;
	font-style: normal;
	width: 10px;
	height: 10px;
	box-sizing: border-box;
	border-top: solid 1px var(--color-font);
	border-left: solid 1px var(--color-font);
	transform: translateY(-50%) rotate(135deg);
}
.top-oc__posts .p__links .type-schedule i {
	border-color: var(--color-font-r);
}
.top-oc__link-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 25px;
	margin-top: 60px;
	max-width: 725px;
	margin-inline: auto;
}
.top-oc__link-list li {
	display: flex;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
}
.top-oc__link-list a {
	display: flex;
	text-decoration: none;
	flex-direction: column;
	position: relative;
	width: 100%;
	border: solid 1px var(--color-main);
	color: var(--color-main);
	padding: 15px 45px 15px 20px;
}
.top-oc__link-list a:hover {
	color: var(--color-font-r);
	background-color: var(--color-main);
}
.top-oc__link-list a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	width: 7px;
	height: 7px;
	box-sizing: border-box;
	border-top: solid 1px var(--color-main);
	border-left: solid 1px var(--color-main);
	transform: translateY(-50%) rotate(135deg);
}
.top-oc__link-list a:hover::before {
	border-color: var(--color-font-r);
}
.top-oc__link-list a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	width: 14px;
	border-top: solid 1px var(--color-main);
	transform: translateY(-50%);
}
.top-oc__link-list a:hover::after {
	border-color: var(--color-font-r);
}
.top-oc__cankey-01 {
	font-style: normal;
	position: absolute;
	left: -170px;
	top: 110px;
}
.top-oc__cankey-02 {
	font-style: normal;
	position: absolute;
	left: -240px;
	top: 510px;
}
.top-oc__cankey-03 {
	font-style: normal;
	position: absolute;
	left: -150px;
	top: 940px;
}
.top-oc__cankey-04 {
	font-style: normal;
	position: absolute;
	right: -280px;
	top: 410px;
}
.top-oc__cankey-05 {
	font-style: normal;
	position: absolute;
	right: -164px;
	top: 840px;
}
@media (max-width: 1500px) {
	.top-oc__cankey-01 {
		display: none !important;
	}
	.top-oc__cankey-02 {
		display: none !important;
	}
	.top-oc__cankey-03 {
		display: none !important;
	}
	.top-oc__cankey-04 {
		display: none !important;
	}
	.top-oc__cankey-05 {
		display: none !important;
	}
}
@media (max-width: 640px) {
	.top-oc {
		margin-top: 80px;
		padding-bottom: 80px;
		min-height: 0;
	}
	.top-oc__headline-group p {
		font-size: calc(100vmin * 42 / var(--sp-vw));
	}
	.top-oc__posts {
		grid-template-columns: repeat(1, 1fr);
	}
	.top-oc__posts .p__links {
		font-size: calc(100vmin * 14 / var(--sp-vw));
	}
	.top-oc__link-list {
		grid-template-columns: repeat(1, 1fr);
	}
}



/* 金沢科学技術大学校の生活 */
.top-life {
	padding-top: 230px;
	/*
	padding-bottom: 230px;
	*/
	padding-bottom: 190px;
	position: relative;
	background-color: var(--color-main-light02);
}
.top-life__inner {

}
.top-life__headline-group {
	display: flex;
	flex-direction: column;
}
.top-life__header {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.top-life__headline {
	font-size: 20px;
	color: var(--color-main);
}
.top-life__headline-group p {
	font-weight: 900;
	font-size: 100px;
	color: var(--color-main);
	line-height: 1;
}
.top-life__main {
	display: grid;
	grid-template-areas: "l-slider list r-slider"
		"l-slider button r-slider";
	grid-template-columns: 410px 1fr 410px;
	grid-auto-rows: 1fr auto;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	gap: 80px 40px;
}
.top-life__list {
	grid-area: list;
	list-style: none;
	counter-reset: cnt-top-life__list;
	border-bottom: solid 1px var(--color-font-r);
	max-width: 745px;
	margin-inline: auto;
	margin-top: 75px;
}
.top-life__list a {
	text-decoration: none;
	position: relative;
	padding: 30px 130px 30px 190px;
	display: flex;
	border-top: solid 1px var(--color-font-r);
	flex-direction: column;
	line-height: 1.4;
}
.top-life__list a strong {
	position: relative;
	z-index: 1;
	font-size: 30px;
	font-weight: 500;
	color: var(--color-font-dark02);
}
.top-life__list a span[lang="en"] {
	position: relative;
	z-index: 1;
	font-size: 13px;
	font-weight: 400;
	color: var(--color-main);
}
.top-life__list a span[lang="en"] span:not(:last-of-type) {
	margin-right: .7em;
}
.top-life__list a::before {
	content: '(' counter(cnt-top-life__list,decimal-leading-zero) ')';
	counter-increment: cnt-top-life__list;
	z-index: 1;
	position: absolute;
	left: 60px;
	top: 30px;
	color: var(--color-main);
	font-family: var(--font-en);
	font-size: 13px;
	font-weight: 700;
}
.top-life__list a::after {
	content: '';
	position: absolute;
	background-color: var(--color-main-light02);
	width: 0;
	height: 100%;
	mix-blend-mode: multiply;
	left: 0;
	top: 0;
	transition-property: width;
	transition-duration: .4s;
}
.top-life__list a:hover::after {
	width: 100%;
}
.top-life__button-group {
	grid-area: button;
	text-align: center;
}
.top-life__l-slider-group {
	grid-area: l-slider;
	max-width: 410px;
	width: 100%;
	margin-right: auto;
	margin-left: 0;
}
.top-life__l-slider-group {
	margin-top: 95px;
}
.top-life__l-slider {
	border-radius: 0 40px 40px 0;
	overflow: hidden;
}
.top-life__r-slider-group {
	grid-area: r-slider;
	max-width: 410px;
	width: 100%;
	margin-right: 0;
	margin-left: auto;
	margin-top: -60px;
}
.top-life__r-slider {
	border-radius: 40px 0 0 40px;
	overflow: hidden;
}
.top-life__l-slider .swiper-wrapper,
.top-life__r-slider .swiper-wrapper {
	transition-timing-function: linear;
}
.top-life__l-slider .swiper-slide,
.top-life__r-slider .swiper-slide {
	width: 410px;
}
.top-life__l-slide-image img,
.top-life__r-slide-image img {
	user-select: none;
	max-width: none;
	width: 100%;
}
@media (max-width: 1559px) {
	.top-life__main {
		grid-template-columns: 300px 1fr 300px;
	}
	.top-life__l-slider .swiper-slide,
	.top-life__r-slider .swiper-slide {
		width: 300px;
	}
}
@media (max-width: 1339px) {
	.top-life__main {
		grid-template-columns: 240px 1fr 240px;
	}
	.top-life__l-slider .swiper-slide,
	.top-life__r-slider .swiper-slide {
		width: 240px;
	}
}
@media (max-width: 640px) {
	.top-life__headline-group p {
		font-size: calc(100vmin * 50 / var(--sp-vw));
	}
	.top-life {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.top-life__main {
		grid-template-areas:
			"l-slider"
			"list"
			"button";
    grid-template-columns: 1fr;
		grid-template-rows: auto 1fr auto;
		gap: 0;
		margin-top: 20px;
	}
	.top-life__l-slider-group {
		margin-top: 0;
		overflow: hidden;
		max-width: 80%;
	}
	.top-life__l-slider {

	}
	.top-life__r-slider-group {
		display: none !important;
	}
	.top-life__list {
		max-width: 100%;
		max-width: calc(var(--content-width) + var(--content-margin) * 2);
		width: 100%;
		padding-right: var(--content-margin);
		padding-left: var(--content-margin);
		margin-inline: auto;
		border: none;
	}
	.top-life__list a {
		padding: 60px 0 40px;
		border-color: var(--color-gray);
	}
	.top-life__list li:last-of-type a {
		border-bottom: solid 1px var(--color-gray);
	}
	.top-life__list a::before {
		left: 0;
	}
	.top-life__button-group {
		margin-top: 60px;
	}
	.top-life__button {
		margin-right: auto;
		margin-left: auto;
	}
}



/* 作品展示 */
.top-gallery {
	/*
	padding-top: 230px;
	*/
	padding-bottom: 230px;
	position: relative;
	background-color: var(--color-main-light02);
}
.top-oc + .top-gallery {
	padding-top: 230px;
}
.top-gallery__inner {

}
.top-gallery__headline-group {
	display: flex;
	flex-direction: column;
}
.top-gallery__header {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.top-gallery__headline {
	font-size: 20px;
	color: var(--color-main);
}
.top-gallery__headline-group p {
	font-weight: 900;
	font-size: 100px;
	color: var(--color-main);
	line-height: 1;
}
.top-gallery__main {
}
.top-gallery__button-group {
	text-align: center;
	margin-top: 60px;
}
.top-gallery__button {
	margin-right: auto;
	margin-left: auto;
}
.top-gallery__slider-group {
	margin-top: 75px;
}
.top-gallery__slider {
	overflow: hidden;
}
.top-gallery__slider .swiper-wrapper {
	transition-timing-function: linear;
	display: flex;
    align-items: center;
}
.top-gallery__slider .swiper-slide {
	width: 410px;
}
.top-gallery__slide-image img {
	user-select: none;
	max-width: none;
	width: 100%;
	border-radius: 40px;
}
@media (max-width: 1559px) {
	.top-gallery__main {
	}
	.top-gallery__l-slider .swiper-slide,
	.top-gallery__r-slider .swiper-slide {
		width: 300px;
	}
}
@media (max-width: 1339px) {
	.top-gallery__main {
	}
	.top-gallery__l-slider .swiper-slide,
	.top-gallery__r-slider .swiper-slide {
		width: 240px;
	}
}
@media (max-width: 640px) {
	.top-gallery__headline-group p {
		font-size: calc(100vmin * 50 / var(--sp-vw));
	}
	.top-gallery {
		padding-top: 80px !important;
		padding-bottom: 80px;
	}
	.top-gallery__slider-group {
		margin-top: 20px;
	}
	.top-gallery__list {
		max-width: 100%;
		max-width: calc(var(--content-width) + var(--content-margin) * 2);
		width: 100%;
		padding-right: var(--content-margin);
		padding-left: var(--content-margin);
		margin-inline: auto;
		border: none;
	}
	.top-gallery__list a {
		padding: 60px 0 40px;
		border-color: var(--color-gray);
	}
	.top-gallery__list li:last-of-type a {
		border-bottom: solid 1px var(--color-gray);
	}
	.top-gallery__list a::before {
		left: 0;
	}
}



/* コンテンツ */
.top-contents {
	padding-top: 110px;
	position: relative;
	background-color: var(--color-main-light02);
}
.top-contents__inner {
	
}
.top-contents__headline-group {
	display: flex;
	flex-direction: column;
}
.top-contents__header {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	display: flex;
	align-items: center;
}
.top-contents__headline {
	font-size: 20px;
	color: var(--color-main);
	font-size: 100px;
	font-family: var(--font-en);
	font-weight: 900;
	line-height: 1 !important;
	flex-grow: 1;
}
.top-contents__main {
	overflow: hidden;
	position: relative;
	z-index: 1;
	margin-top: 50px;
}
.top-contents__main::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: calc(100% - 126px);
	z-index: -1;
	background-color: var(--color-main);
}
.top-contents__slider-group {
	position: relative;
	z-index: 1;
	padding-bottom: 170px;
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.top-contents__slider {
	overflow: visible;
}
.top-contents__slide-content {
	display: grid;
	grid-template-areas: "image"
		"title"
		"desc"
		"cat";
	grid-template-rows: auto auto 1fr auto;
	text-decoration: none;
}
.top-contents__slide-content a {
	text-decoration: none;
}
.top-contents__slide-image {
	grid-area: image;
	position: relative;
}
.top-contents__slide-image > a {
	display: block;
	overflow: hidden;
}
.top-contents__slide-image img {
	user-select: none;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
	transition: scale .3s;
}
.top-contents__slide-image > a:hover img {
	scale: 1.15;
}
.top-contents__slide-image-tag {
	list-style: none;
}
.top-contents__slide-image-tag li {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,50%);
	font-size: 14px;
	font-weight: 500;
	max-width: 100%;
}
.top-contents__slide-image-tag li a {
	background-color: var(--color-el-contents-tag);
	color: var(--color-font-r);
	display: block;
	padding: 4px 16px;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 100vmin;
	border: solid 2px var(--color-font-r);
}
.top-contents__slide-image-tag li.cat-maintenance a {
	color: var(--color-font-r);
	background-color: var(--color-red);
}
.top-contents__slide-image-tag li.cat-soft a {
	color: var(--color-font-r);
	background-color: var(--color-blue);
}
.top-contents__slide-image-tag li.cat-visualsound a {
	color: var(--color-font-r);
	background-color: var(--color-violet);
}
.top-contents__slide-image-tag li.cat-energie a {
	color: var(--color-font-r);
	background-color: var(--color-green);
}
.top-contents__slide-image-tag li.cat-architecture a {
	color: var(--color-font-r);
	background-color: var(--color-orange);
}
.top-contents__slide-image-tag li.cat-furniture a {
	color: var(--color-font-r);
	background-color: var(--color-pink);
}
.top-contents__slide-title {
	grid-area: title;
	font-size: 18px;
	padding-left: 15px;
	padding-right: 15px;
	color: var(--color-font-r);
	line-height: 1.6;
	margin-top: 25px;
}
.top-contents__slide-cat-list {
	grid-area: cat;
	list-style: none;
	margin: 5px 0 0;
	padding: 0;
}
.top-contents__slide-cat-list li {
	display: inline-block;
	font-size: 14px;
	margin-top: 5px;
	margin-right: 8px;
}
.top-contents__slide-cat-list li:last-of-type {
	margin-right: 0;
}
.top-contents__slide-cat-list li a {
	display: block;
	color: var(--color-font-r);
}
.top-contents__slide-cat-list li a::before {
	content: '#';
	opacity: .6;
}
.top-contents__slide-desc {
	grid-area: desc;
	padding-left: 15px;
	padding-right: 15px;
	color: var(--color-font-r);
	margin-top: 10px;
}
.top-contents__slide-desc p {
}
.top-contents__slider .swiper-pagination,
.top-contents__slider .swiper-scrollbar {
	display: none !important;
}
.top-contents__slider .swiper-button-group {
	display: flex;
	align-items: center;
	margin-top: 60px;
}
.top-contents__slider .swiper-button-group::after {
	content: '';
	flex-grow: 1;
	height: 1px;
	background-size: 10px 5px;
	background-image: linear-gradient(to right, var(--color-font-r) 5px, rgba(255, 255, 255, 0) 5px);
	background-repeat: repeat-x;
	background-position: left center;
}
.top-contents__slider .swiper-button-next,
.top-contents__slider .swiper-button-prev {
	position: relative;
	margin-top: 0;
	width: 37px !important;
	height: 31px !important;
	background-color: var(--color-font-r);
	opacity: 1 !important;
	border-radius: 0 100vmin 100vmin 0;
	top: unset;
	left: unset;
	right: unset;
	bottom: unset;
}
.top-contents__slider .swiper-button-prev {
	scale: -1;
}
.top-contents__slider .swiper-button-next:hover,
.top-contents__slider .swiper-button-prev:hover {
	background-color: var(--color-main-light02);
}
.top-contents__slider .swiper-button-next::before,
.top-contents__slider .swiper-button-prev::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-font);
	border-left: solid 2px var(--color-font);
	transform: translate(-50%,-50%) rotate(135deg);
}
.top-contents__slider .swiper-button-next::after,
.top-contents__slider .swiper-button-prev::after {
	content: '';
	position: absolute;
	left: calc(50% - 2px);
	top: 50%;
	width: 14px;
	border-top: solid 2px var(--color-font);
	transform: translate(-50%,-50%);
}
.top-contents__slider .swiper-button-next svg,
.top-contents__slider .swiper-button-prev svg {
	display: none !important;
}
@media (max-width: 640px) {
	.top-contents {
		padding-top: 80px;
	}
	.top-contents__headline {
		font-size: calc(100vmin * 50 / var(--sp-vw));
	}
	.top-contents__main {
		padding-bottom: 80px;
	}
	.top-contents__slider-group {
		padding-bottom: 60px;
	}
}



/* LINEトークで気軽に相談 */
.top-line {
	padding-top: 110px;
	padding-bottom: 110px;
	background-color: var(--color-main-light02);
}
.top-line__inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	height: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.top-line__main {
	display: flex;
	align-items: center;
	background-color: var(--color-font-r);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0 20px rgba(0,0,0,.25);
	gap: 75px;
	padding-right: 60px;
	position: relative;
}
.top-line__image {
	width: 405px;
	flex-shrink: 0;
}
.top-line__text-box {
	flex-grow: 1;
}
.top-line__title {
	font-size: 30px;
	color: var(--color-main);
}
.top-line__desc {
	margin-top: 15px;
}
.top-line__desc p {
	font-size: 18px;
}
.top-line__button {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 6px 40px;
	background-color: var(--color-brand-line);
	color: var(--color-font-r);
	border-radius: 100vmin;
	font-size: 20px;
	font-weight: 700;
	position: relative;
	margin-top: 20px;
	text-decoration: none;
	border: solid 2px var(--color-brand-line);
	box-shadow: 0 0 4px rgba(0,0,0,.25);
}
.top-line__button:hover {
	background-color: var(--color-font-r);
	color: var(--color-brand-line);
}
.top-line__button i {
	font-style: normal;
	line-height: 0;
}
.top-line__button .type-logo {
	margin-right: 10px;
}
.top-line__button .type-arrow {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	border-radius: 100vmin;
	border: solid 2px var(--color-font-r);
}
.top-line__button .type-arrow::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-font-r);
	border-left: solid 2px var(--color-font-r);
	transform: translate(-50%,-50%) rotate(135deg);
}
.top-line__button .type-arrow::after {
	content: '';
	position: absolute;
	left: calc(50% - 2px);
	top: 50%;
	width: 12px;
	border-top: solid 2px  var(--color-font-r);
	transform: translate(-50%,-50%);
}
.top-line__button:hover .type-arrow,
.top-line__button:hover .type-arrow::before,
.top-line__button:hover .type-arrow::after {
	border-color: var(--color-brand-line);
}
.top-line__cankey-01 {
	font-style: normal;
	position: absolute;
	right: 40px;
	top: 20px;
}
@media (max-width: 640px) {
	.top-line {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.top-line__main {
		flex-direction: column;
		padding-right: 0;
		gap: 0;
	}
	.top-line__image {
		width: 100%;
	}
	.top-line__image img {
		aspect-ratio: 3 / 2;
		object-fit: cover;
		user-select: none;
		width: 100%;
		height: 100%;
	}
	.top-line__text-box {
		padding: 30px 20px;
	}
	.top-line__title {
		font-size: calc(100vmin * 30 / var(--sp-vw));
	}
	.top-line__button {
		padding-left: 20px;
		font-size: calc(100vmin * 14 / var(--sp-vw));
	}
	.top-line__button .type-logo img {
		width: calc(100vmin * 40 / var(--sp-vw));
	}
	.top-line__button .type-arrow {
        right: calc(100vmin * 10 / var(--sp-vw));
        width: calc(100vmin * 36 / var(--sp-vw));
        height: calc(100vmin * 36 / var(--sp-vw));
	}
	.top-line__text-box {
		position: relative;
	}
	.top-line__cankey-01 {
		font-style: normal;
		position: absolute;
		right: calc(100vmin * 30 / var(--sp-vw));
		top: calc(100vmin * 12 / var(--sp-vw));
	}
	.top-line__cankey-01 img {
		width: calc(100vmin * 78 / var(--sp-vw));
	}
}



.top-students {
	margin-top: 125px;
	margin-bottom: 125px;
}
.top-students__inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.top-students__header {
	position: relative;
}
.top-students__headline {
	font-size: 20px;
	background-color: var(--color-main);
	color: var(--color-font-r);
	padding: 15px 60px;
}
.top-students__menus {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 30px;
	margin-top: 45px;
}
.top-students__menu-link {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	display: block;
	text-decoration: none;
}
.top-students__menu-image {
	transition: scale .3s;
}
.top-students__menu-link:hover .top-students__menu-image {
	scale: 1.15;
}
.top-students__menu-image img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
}
.top-students__menu-title {
	position: absolute;
	right: 0;
	bottom: 0;
	width: calc(100% - 25px);
	background-color: var(--color-font-r);
	border-radius: 10px 0 0 0;
	padding: 15px 50px 15px 20px;
	color: var(--color-main);
	font-size: 18px;
	font-weight: 700;
	z-index: 1;
}
.top-students__menu-link:hover .top-students__menu-title {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.top-students__menu-title i {
	font-style: normal;
	position: absolute;
	right: 10px;
	top: translateY(-50%);
	width: 34px;
	height: 34px;
	background-color: var(--color-main-light02);
	border-radius: 100vmin;
}
.top-students__menu-link:hover .top-students__menu-title i {
	background-color: var(--color-font-r);
}
.top-students__menu-title i::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-main);
	border-left: solid 2px var(--color-main);
	transform: translate(-50%,-50%) rotate(135deg);
}
.top-students__cankey-01 {
	font-style: normal;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(-100%,-50%);
}
@media (max-width: 1400px) {
	.top-students__cankey-01 {
		display: none !important;
	}
}
@media (max-width: 640px) {
	.top-students {
		margin-top: 80px;
		/*
		margin-top: calc(100vmin * 140 / var(--sp-vw));
		*/
		margin-bottom: 80px;
	}
	.top-students__headline {
		padding-left: 30px;
		padding-right: 30px;
	}
	.top-students__cankey-01 {
		display: none !important;
	}
	.top-students__menus {
		grid-template-columns: repeat(1,1fr);
	}
}



/*------------------------------------
 * ページ共通
 ------------------------------------*/
.page-title {
	position: relative;
	height: 360px;
	display: flex;
}
.page-title::before {
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: 1px solid var(--color-gray02);
	position: absolute;
	z-index: 1;
}
.page-title__bg {
	margin: 0;
	line-height: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.page-title__bg img {
	aspect-ratio: 16 / 3;
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
}
.page-title__inner {
	max-width: calc(var(--content-page-title-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding-top: 40px;
}
.page-title__text {
	color: var(--color-page-title);
	position: relative;
	z-index: 1;
	font-weight: 400;
    display: flex;
	flex-direction: column;
    align-items: flex-start;
	width: 100%;
	margin-top: 20px;
	line-height: 1.2;
}
/*
.page-title__text::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main);
	opacity: .9;
	z-index: -1;
}
*/
.page-title__text .main {
	font-size: 54px;
	word-break: break-all;
    text-wrap: balance;
	padding-left: 160px;
	position: relative;
	width: 100%;
}
.page-title__text .main small {
	font-size: 70%;
	vertical-align: .3em;
	display: inline-block;
}
.page-title__text .main::before {
	content: '';
	border-top: solid 3px var(--color-page-title-en);
	width: 120px;
	position: absolute;
	left: 0;
	top: .625em;
}
.page-title__text .sub {
	font-size: 20px;
	display: block;
	word-break: break-all;
    text-wrap: balance;
	margin-left: 160px;
	padding: 5px;
	border: solid 1px;
	margin-bottom: 5px;
}
.page-title__text .sub small {
	font-size: inherit;
}
.page-title__inner p[lang="en"] {
	order: -1;
	font-size: 120px;
	text-transform: uppercase;
	letter-spacing: -.005em;
	font-weight: 400;
	color: var(--color-page-title-en);
	word-break: break-all;
    text-wrap: balance;
	line-height: 1;
	width: 100%;
}
.page-title__inner p[lang="en"] small {
	font-size: inherit;
}
.page-content {
	margin: 150px 0;
}
.page-content__inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	word-break: break-all;
}
.page-content p + p:not([class*="mt-"]):not([data-style-reset]) {
	margin-top: 10px;
}
.page-content :where(ul,ol,dl,table,figure) + p:not([class*="mt-"]):not([data-style-reset]),
.page-content :where(p,ul,ol,dl,table,figure) + :where(ul,ol,dl,table):not([class*="mt-"]):not([data-style-reset]) {
	margin-top: 30px;
}
.page-content :where(p,ul,ol,dl,table,figure) + figure:not([class*="mt-"]):not([data-style-reset]) {
	margin-top: 20px;
}
.page-content :where(p,ul,ol,dl,table,figcaption) a:not([class*="button-"]):not([data-style-reset]) {
	color: var(--color-main);
	text-decoration: underline;
}
.page-content table :where(td,th) * + *:not([class*="mt-"]):not([data-style-reset]) {
	margin-top: 10px;
}
.page-content dl:not([data-style-reset]) dd > * + *:not([class*="mt-"]):not([data-style-reset]) {
	margin-top: 5px;
}
.page-content ul:not([data-style-reset]) {
	list-style: none;
}
.page-content em:not([data-style-reset]) {
	font-style: normal;
	font-weight: inherit;
	color: var(--color-attention);
}
.page-content ol > li > ol > li > ul:not([data-style-reset]),
.page-content ol > li > ul > li > ul:not([data-style-reset]),
.page-content ol > li > ul:not([data-style-reset]),
.page-content ul > li > ul > li > ul:not([data-style-reset]),
.page-content ul > li > ul:not([data-style-reset]) {
	margin-top: 10px;
}
.page-content ol > li > ol > li > ul:not([data-style-reset]) > li,
.page-content ol > li > ul > li > ul:not([data-style-reset]) > li,
.page-content ol > li > ul:not([data-style-reset]) > li,
.page-content ul > li > ul > li > ul:not([data-style-reset]) > li,
.page-content ul > li > ul:not([data-style-reset]) > li,
.page-content ul:not([data-style-reset]) > li {
	position: relative;
	padding-left: 18px;
}
.page-content ol > li > ol > li > ul:not([data-style-reset]) > li + li,
.page-content ol > li > ul > li > ul:not([data-style-reset]) > li + li,
.page-content ol > li > ul:not([data-style-reset]) > li + li,
.page-content ul > li > ul > li > ul:not([data-style-reset]) > li + li,
.page-content ul > li > ul:not([data-style-reset]) > li + li,
.page-content ul:not([data-style-reset]) > li + li {
	margin-top: 10px;
}
.page-content table :where(td,th) ol > li > ol > li > ul:not([data-style-reset]) > li + li,
.page-content table :where(td,th) ol > li > ul > li > ul:not([data-style-reset]) > li + li,
.page-content table :where(td,th) ol > li > ul:not([data-style-reset]) > li + li,
.page-content table :where(td,th) ul > li > ul > li > ul:not([data-style-reset]) > li + li,
.page-content table :where(td,th) ul > li > ul:not([data-style-reset]) > li + li,
.page-content table :where(td,th) ul:not([data-style-reset]) > li + li {
	margin-top: 5px !important;
}
.page-content ul:not([data-style-reset]) > li::before {
	content: '';
	position: absolute;
	left: 4px;
	top: calc(.5em + 2px);
	width: 6px;
	height: 6px;
	border-radius: 100vmin;
	background-color: var(--color-main);
	box-sizing: border-box;
}
.page-content table :where(td,th) ul:not([data-style-reset]) > li::before {
	top: .5em;
}
.page-content ul > li > ul:not([data-style-reset]) > li::before {
	border: solid 1px var(--color-main);
	background: none;
}
.page-content ul > li > ul > li > ul:not([data-style-reset]) li::before {
	top: calc(.5em + 2px);
	left: 6px;
	width: 5px;
	height: 5px;
	border-radius: 0 !important;
	background-color: var(--color-main);
	border: none !important;
}
.page-content ol:not([data-style-reset]) {
	list-style: none;
	counter-reset: cnt-page-content__ol;
}
.page-content ul > li > ul > li > ol:not([data-style-reset]) > li,
.page-content ul > li > ol > li > ol:not([data-style-reset]) > li,
.page-content ul > li > ol:not([data-style-reset]) > li,
.page-content ol > li > ol > li > ol:not([data-style-reset]) > li,
.page-content ol > li > ol:not([data-style-reset]) > li,
.page-content ol > li {
	position: relative;
	padding-left: 35px;
	margin-top: 15px;
	margin-bottom: 15px;
}
.page-content ol:not([data-style-reset]) > li:first-of-type {
	margin-top: 0;
}
.page-content ul > li > ul > li > ol:not([data-style-reset]) > li:first-of-type,
.page-content ul > li > ol > li > ol:not([data-style-reset]) > li:first-of-type,
.page-content ul > li > ol:not([data-style-reset]) > li:first-of-type,
.page-content ol > li > ol:not([data-style-reset]) > li > ol > li:first-of-type,
.page-content ol > li > ol:not([data-style-reset]) > li:first-of-type {
	margin-top: 10px;
}
.page-content ol:not([data-style-reset]) > li:last-of-type {
	margin-bottom: 0;
}
.page-content ul > li > ul > li > ol:not([data-style-reset]) > li:last-of-type,
.page-content ul > li > ol > li > ol:not([data-style-reset]) > li:last-of-type,
.page-content ul > li > ol:not([data-style-reset]) > li:last-of-type,
.page-content ol > li > ol > li > ol:not([data-style-reset]) > li:last-of-type,
.page-content ol > li > ol:not([data-style-reset]) > li:last-of-type {
	margin-bottom: 15px;
}
.page-content ol:not([data-style-reset]) > li::before {
	content: counter(cnt-page-content__ol);
	counter-increment: cnt-page-content__ol;
	position: absolute;
	left: 0;
	top: 0;
	width: 26px;
	height: 26px;
	border-radius: 100vmin;
	background-color: var(--color-main);
	color: var(--color-font-r);
	font-size: 12px;
	display: grid;
	place-items: center;
	letter-spacing: 0;
}
.page-content figure:not([data-style-reset]) figcaption {
	margin-top: 5px;
	font-size: 14px;
}
.page-content table:not([data-style-reset]) thead {
	vertical-align: middle;
	text-align: center;
}
.page-content table:not([data-style-reset]) th,
.page-content table:not([data-style-reset]) thead td {
	background-color: var(--color-el-table-head-bg);
	color: var(--color-el-table-head-text);
	font-weight: 400;
}
.page-content table:not([data-style-reset]) {
	border-collapse: collapse;
	font-size: 14px;
}
.page-content table:not([data-style-reset]) tbody {
	vertical-align: top;
	text-align: left;
}
.page-content table:not([data-style-reset]) th,
.page-content table:not([data-style-reset]) td {
	border: solid 1px var(--color-el-table-border);
	padding: 10px 15px;
}
.page-content table:not([data-style-reset]) small {
	font-size: 12px;
}
.page-content table:not([data-style-reset]) ol li,
.page-content table:not([data-style-reset]) ul li,
.page-content table:not([data-style-reset]) p {
	line-height: inherit;
	letter-spacing: inherit;
}
.page-content dl:not([data-style-reset]) dt {
	font-weight: 700;
}
.page-content dl:not([data-style-reset]) > div {
	padding-left: 16px;
	border-left: solid 4px var(--color-gray);
	padding-top: 5px;
	padding-bottom: 5px;
}
.page-content dl:not([data-style-reset]) > div + div {
	margin-top: 30px;
}
.page-content dl:not([data-style-reset]) dd {
	padding-left: 20px;
}
.page-content dl:not([data-style-reset]) dt + dd {
	margin-top: 10px;
}
@media (min-width: 1921px) {
	.page-title {
		height: 420px;
	}
	.page-title__bg img {
        object-position: 60% center;
        scale: .9;
        transform-origin: 100% 100%;
	}
}
@media (min-width: 1601px) {
	.page-title__bg img:where(.type-tab,.type-sp) {
		display: none !important;
	}
}
@media (max-width: 1920px) and (min-width: 1601px) {
	.page-title__bg img {
		object-position: 55% center;
	}
	.page-title__text .main {
		font-size: clamp(30px, 10 * (1vw + 1vh) / 2, 100vw * 48 / 1920);
		max-width: 42%;
	}
	.page-title__text .sub {
		font-size: clamp(16px, 10 * (1vw + 1vh) / 2, 100vw * 18 / 1920);
		max-width: calc( 42% - 160px );
	}
	.page-title__inner p[lang="en"] {
		font-size: clamp(80px, 10 * (1vw + 1vh) / 2, 100vw * 100 / 1920);
		max-width: 42%;
	}
}
@media (max-width: 1600px) and (min-width: 641px) {
	.page-title__bg img {
        object-position: 50% center;
        scale: .9;
        transform-origin: 100% 100%;
	}
	.page-title__bg img:where(.type-pc,.type-sp) {
		display: none !important;
	}
	.page-title__text .main {
		font-size: clamp(26px, 10 * (1vw + 1vh) / 2, 100vw * 40 / 1920);
		max-width: 60%;
		padding-left: 120px;
	}
	.page-title__text .main::before {
		width: 80px;
	}
	.page-title__text .sub {
		font-size: clamp(14px, 10 * (1vw + 1vh) / 2, 100vw * 18 / 1920);
		max-width: calc( 60% - 120px );
		margin-left: 120px;
	}
	.page-title__inner p[lang="en"] {
		font-size: clamp(64px, 10 * (1vw + 1vh) / 2, 100vw * 92 / 1920);
		max-width: 60%;
	}
}
@media (min-width: 641px) {
	.page-content .table-scroll table:not([data-style-reset])[style*="width:"] {
		width: 100% !important;
	}
	body.single:not(.single-child) .page-title .main .type-parent-pc-none,
	body.single-child .page-title .sub .type-child-pc-none,
	body:where(category,[class*="tax-cat-"]) .page-title .main .type-parent-pc-none,
	body:where(category,[class*="tax-cat-"]) .page-title .sub .type-child-pc-none,
	body.page:not(.page-child) .page-title .type-parent-pc-none,
	body.page.page-child .page-title .type-child-pc-none {
		display: none !important;
	}
}
@media (max-width: 640px) {
	.page-title__inner {
		padding-top: calc(100vmin * 20 / var(--sp-vw));
	}
	body.single:not(.single-child) .page-title .main .type-parent-sp-none,
	body.single-child .page-title .sub .type-child-sp-none,
	body:where(category,[class*="tax-cat-"]) .page-title .main .type-parent-sp-none,
	body:where(category,[class*="tax-cat-"]) .page-title .sub .type-child-sp-none,
	body.page:not(.page-child) .page-title .type-parent-sp-none,
	body.page.page-child .page-title .type-child-sp-none {
		display: none !important;
	}
	.page-title__bg img {
        object-position: 50% center;
        scale: .75;
        transform-origin: 100% 100%;
	}
	.page-title__bg img:where(.type-pc,.type-tab) {
		display: none !important;
	}
	.page-title {
		height: calc(100vmin * 160 / var(--sp-vw));
	}
	.page-title__text {
		margin-top: calc(100vmin * 10 / var(--sp-vw));
	}
	.page-title__text .main {
		font-size: calc(100vmin * 18 / var(--sp-vw));
		max-width: 55%;
		/*
		padding-left: calc(100vmin * 64 / var(--sp-vw));
		*/
		padding-left: 0;
	}
	.page-title__text .main::before {
		width: calc(100vmin * 44 / var(--sp-vw));
		border-top-width: 2px;
		display: none !important;
	}
	.page-title__text .sub {
		font-size: calc(100vmin * 10 / var(--sp-vw));
		/*
		max-width: calc( 60% - 100vmin * 44 / var(--sp-vw) );
		*/
		max-width: 55%;
		/*
		margin-left: calc(100vmin * 64 / var(--sp-vw));
		*/
		margin-left: 0;
		padding: .2em;
		margin-bottom: .4em;
	}
	.page-title__inner p[lang="en"] {
		font-size: calc(100vmin * 28 / var(--sp-vw));
		max-width: 60%;
	}
	.page-content {
		margin-top: 80px;
		margin-bottom: 80px;
	}
	.page-content .table-scroll {
		overflow-x: scroll;
		padding-bottom: 10px;
	}
	.table-scroll::before {
		content: '右にスクロールして内容を確認できます→';
		margin-bottom: 10px;
		display: block;
		opacity: .8;
		font-size: 14px;
	}
	.page-content table:not([data-style-reset]) th,
	.page-content table:not([data-style-reset]) td {
		padding: 6px 8px;
	}
	.page-content dl:not([data-style-reset]) > div {
		padding-left: 12px;
	}
}

/* ページ上部リンク(クローン可能) */
[class*="pl-list-"],
.pl-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 15px;
}
.pl-list-col2 {
  grid-template-columns: repeat(2, 1fr) !important;
  max-width: 680px;
  margin-inline: auto;
}
[class*="pl-list-"]:not([class*="mb-"]),
.pl-list:not([class*="mb-"]) {
	margin-bottom: 60px;
}
[data-copy] [class*="pl-list-"],
[data-copy] .pl-list {
	margin-top: 60px;
	margin-bottom: 0;
}
[class*="pl-list-"] li,
.pl-list li {
	display: flex;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}
[class*="pl-list-"] a,
.pl-list a {
	display: flex;
	text-decoration: none;
	flex-direction: column;
	position: relative;
	width: 100%;
	border: solid 1px var(--color-main);
	color: var(--color-main);
	padding: 15px 45px 15px 20px;
	text-decoration: none !important;
}
[class*="pl-list-"] a:hover,
.pl-list a:hover {
	color: var(--color-font-r) !important;
	background-color: var(--color-main);
}
[class*="pl-list-"] a::before,
.pl-list a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	width: 7px;
	height: 7px;
	box-sizing: border-box;
	border-top: solid 1px var(--color-main);
	border-left: solid 1px var(--color-main);
	transform: translateY(-50%) rotate(135deg);
}
[class*="pl-list-"] a:hover::before,
.pl-list a:hover::before {
	border-color: var(--color-font-r);
}
[class*="pl-list-"] a::after,
.pl-list a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	width: 14px;
	border-top: solid 1px var(--color-main);
	transform: translateY(-50%);
}
[class*="pl-list-"] a:hover::after,
.pl-list a:hover::after {
	border-color: var(--color-font-r);
}
@media (max-width: 640px) {
	[class*="pl-list-"],
	.pl-list {
    	grid-template-columns: repeat(2, 1fr);
		gap: calc(100vmin * 5 / var(--sp-vw));
	}
	[class*="pl-list-"] li,
	.pl-list li {
		font-size: calc(100vmin * 12 / var(--sp-vw));
	}
	[class*="pl-list-"] a,
	.pl-list a {
		padding: calc(100vmin * 10 / var(--sp-vw)) calc(100vmin * 20 / var(--sp-vw)) calc(100vmin * 10 / var(--sp-vw)) calc(100vmin * 7 / var(--sp-vw));
	}
	[class*="pl-list-"] a::before,
	.pl-list a::before {
		right: calc(100vmin * 10 / var(--sp-vw));
		width: calc(100vmin * 4 / var(--sp-vw));
		height: calc(100vmin * 4 / var(--sp-vw));
	}
	[class*="pl-list-"] a::after,
	.pl-list a::after {
		right: calc(100vmin * 10 / var(--sp-vw));
		width: calc(100vmin * 7 / var(--sp-vw));
	}
}



/*------------------------------------
 * ページ：学校案内
 ------------------------------------*/
.page-about .page-content {
	margin-top: 0;
}
.page-about .page-content__inner {
    max-width: none;
    padding-right: 0;
    padding-left: 0;
}
.about__top {
	padding-top: 150px;
	padding-bottom: 100px;
	background-color: var(--color-main-light);
}
.about__top-inner {
	max-width: calc(var(--content-width-lg) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.about__top-header {
	position: relative;
}
.about__top-main {
	margin-top: 80px;
}
.about__top-catch {
	font-size: 60px;
	line-height: 1.4;
	font-weight: 700;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	letter-spacing: 0;
}
.about__top-catch span {
	background-color: var(--color-font-r);
	display: inline-block;
	padding: 5px 15px;
	color: var(--color-main);
}
.about__top-catch span:first-of-type {
	padding-top: 10px;
}
.about__top-catch span:last-of-type {
	padding-bottom: 10px;
}
.about__top-image {
	max-width: 900px;
	margin-left: auto;
	margin-right: 0;
	margin-top: 30px;
}
.about__top-desc {
	max-width: var(--content-width-md);
    margin-inline: auto;
}
.about__top-desc-inner {
	padding: 40px 60px;
	background-color: var(--color-font-r);
	position: relative;
}
.about__top-desc-inner i {
	font-style: normal;
}
.about__top-desc-inner i::after,
.about__top-desc-inner i::before {
	width: 30px;
	height: 30px;
}
.about__top-desc-inner i:nth-of-type(1)::before {
	content: '';
	position: absolute;
	top: -1px;
	left: -1px;
	border-top: solid 2px var(--color-main);
	border-left: solid 2px var(--color-main);
}
.about__top-desc-inner i:nth-of-type(1)::after {
	content: '';
	position: absolute;
	top: -1px;
	right: -1px;
	border-top: solid 2px var(--color-main);
	border-right: solid 2px var(--color-main);
}
.about__top-desc-inner i:nth-of-type(2)::before {
	content: '';
	position: absolute;
	bottom: -1px;
	left: -1px;
	border-bottom: solid 2px var(--color-main);
	border-left: solid 2px var(--color-main);
}
.about__top-desc-inner i:nth-of-type(2)::after {
	content: '';
	position: absolute;
	bottom: -1px;
	right: -1px;
	border-bottom: solid 2px var(--color-main);
	border-right: solid 2px var(--color-main);
}
.about__top-desc p {
	font-size: 20px;
	line-height: 2;
	font-weight: 500;
}
.about__top-desc p + p {
	margin-top: 30px !important;
}
.about__message {
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: var(--color-main-light02);
}
.about__message-inner {
	max-width: calc(var(--content-width-md) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.about__message p {
	font-size: 17px;
}
.about__message p + p {
	margin-top: 20px !important;
}
.about__message .about__message-name {
	margin-top: 40px !important;
	font-size: 19px;
	text-align: right;
}
.about__history {
	padding-top: 100px;
	padding-bottom: 100px;
}
.about__history-inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.about__history-list > div {
	position: relative;
	padding-left: 30px;
	z-index: 1;
	padding-bottom: 40px;
}
.about__history-list > div::before {
	content: '';
	position: absolute;
	height: 10px;
	width: 10px;
	left: 0;
	top: 10px;
	border-radius: 100vmin;
	border: solid 2px var(--color-main);
	box-sizing: border-box;
	background-color: var(--color-font-r);
}
.about__history-list > div:last-of-type::before {
	background-color: var(--color-main);
}
.about__history-list > div::after {
	content: '';
	position: absolute;
	top: 15px;
	left: 5px;
	border-left: solid 1px var(--color-main);
	height: calc( 100% - 5px );
	z-index: -1;
}
.about__history-list dt {
	color: var(--color-main);
	font-size: 20px;
	margin-bottom: 10px;
	font-weight: 900;
}
.about__history-list dd {
	position: relative;
	padding-left: 15px;
	line-height: 1.4;
	font-size: 14px;
	font-weight: 700;
}
.about__history-list dd + dd {
	margin-top: 5px;
}
.about__history-list dd::before {
	content: '';
	position: absolute;
	left: 4px;
	top: 8px;
	width: 6px;
	border-top: solid 2px var(--color-main);
	opacity: .8
}
.about__movie {
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: var(--color-main-light02);
}
.about__movie-inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.about__character {
	padding-top: 100px;
	padding-bottom:100px;
}
.about__character-inner {
	max-width: calc(var(--content-width-md) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.about__panorama {
	padding-top: 100px;
	padding-bottom: 100px;
	background-color: var(--color-main-light02);
}
.about__panorama-inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}

@media (max-width: 640px) {
	.about__top {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.about__top-catch {
		font-size: calc(100vmin * 20 / var(--sp-vw));
	}
	.about__top-catch span {
		padding: calc(100vmin * 2 / var(--sp-vw)) calc(100vmin * 10 / var(--sp-vw));
		color: var(--color-main);
	}
	.about__top-catch span:first-of-type {
		padding-top: calc(100vmin * 5 / var(--sp-vw));
	}
	.about__top-catch span:last-of-type {
		padding-bottom: calc(100vmin * 5 / var(--sp-vw));
	}
	.about__top-main {
		margin-top: 60px;
	}
	.about__top-desc-inner {
		padding: 30px 40px;
	}
	.about__top-desc p {
		font-size: 18px;
	}
	.about__top-image {
		max-width: 80%;
	}
	.about__message {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.about__history {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.about__movie {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.about__character {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.about__panorama {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}



/*------------------------------------
 * ページ：学科紹介
 ------------------------------------*/
.course-card[data-color="red"]    { --card-img-fade: #F15B4E; }
.course-card[data-color="blue"]   { --card-img-fade: #1BB8ED; }
.course-card[data-color="violet"] { --card-img-fade: #9A7CB8; }
.course-card[data-color="green"]  { --card-img-fade: #93C964; }
.course-card[data-color="orange"] { --card-img-fade: #FBA74A; }
.course-card[data-color="pink"]   { --card-img-fade: #F3808E; }

.course-grid {
  padding: 24px 16px 40px;
}
.course-list {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 480px) {
  .course-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 641px) {
  .course-grid {
    padding: 40px 40px 70px;
  }
  .course-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}

.course-card {
  border-radius: 8px;
  overflow: hidden;
  border: none;
  background: #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  will-change: transform;
  transform: translateZ(0);
}
.course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.course-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.course-card__img {
  margin: 0;
  overflow: hidden;
  border-radius: 8px 8px 0 0;
  aspect-ratio: 16 / 9;
  position: relative;
  transition: transform 0.3s ease;
}
.course-card__img::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(to bottom, transparent, var(--card-img-fade));
  transform: translateZ(0);
  pointer-events: none;
}
.course-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
   mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
}
.course-card:hover .course-card__img {
  transform: scale(1.04);
}


.course-card__body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
	margin-top: -1px;
}

/* テキスト部分のグラデーション背景 */
.course-card[data-color="red"]    .course-card__body { background-image: var(--grad-course-card-red); }
.course-card[data-color="blue"]   .course-card__body { background-image: var(--grad-course-card-blue); }
.course-card[data-color="violet"] .course-card__body { background-image: var(--grad-course-card-violet); }
.course-card[data-color="green"]  .course-card__body { background-image: var(--grad-course-card-green); }
.course-card[data-color="orange"] .course-card__body { background-image: var(--grad-course-card-orange); }
.course-card[data-color="pink"]   .course-card__body { background-image: var(--grad-course-card-pink); }

.course-card__category {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}
.course-card__title {
  margin: 0;
  font-weight: 700;
  color: #fff;
  line-height: 1.3;
}
.course-card__sub {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}
.course-card__desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.7;
  margin: 4px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}
.course-card__arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 12px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}
.course-card__arrow::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s;
}
.course-card:hover .course-card__arrow::after {
  transform: rotate(45deg) translateX(2px);
}
@media (min-width: 641px) {
  .course-card__body {
    padding: 16px;
  }
}



/*------------------------------------
 * ページ：よくある質問
 ------------------------------------*/
.qa__open-list:not([class*="mt-"]) {
	margin-top: 40px;
}
.qa__open-list > div + div {
	margin-top: 20px;
}
.qa__open-list dt {
	background-color: var(--color-main-light03);
	padding: 10px 80px 10px 80px;
	cursor: pointer;
	position: relative;
	min-height: 80px;
	display: flex;
	align-items: center;
	font-weight: 700;
	color: var(--color-font-dark02);
}
.qa__open-list dt::after {
	content: '';
	position: absolute;
	right: 50px;
	top: calc(50% - 2px);
	transform: translateY(-50%) rotate(225deg);
	width: 16px;
	height: 16px;
	border-top: solid 3px var(--color-main);
	border-left: solid 3px var(--color-main);
}
.qa__open-list > div.open dt::after {
	transform: translateY(-50%) rotate(45deg);
	top: calc(50% + 6px);
}
.qa__open-list dt i {
	font-style: normal;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-main);
	display: grid;
	place-items: center;
	font-size: 40px;
	font-family: var(--font-en);
	font-weight: 500;
}
.qa__open-list dt i::before {
	content: 'Q';
}
.qa__open-list dd {
	/*
	padding: 20px 50px 20px 80px;
	*/
	margin-top: 30px;
	margin-bottom: 60px;
}
.qa__open-list > div:not([class]) dd {
	display: none;
}
.qa__open-list > div.first dd {
	display: block;
}



/*------------------------------------
 * ページ：アクセス
 ------------------------------------*/
.embed-responsive {
  position: relative;
  padding-top: 56.25%;
  height: 0;
  overflow: hidden;
  margin-bottom: 30px;
}

.embed-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



/*------------------------------------
 * ページ：就活スケジュール
 ------------------------------------*/
.schedule-flow {
	margin-left: 10px;
}
.schedule-flow + .heading-002 {
	margin-top: 60px;
}

.schedule-flow__items {
	list-style: none;
	margin: 0;
	padding: 0;
}
.schedule-flow--1 .schedule-flow__items {
	border-left: 3px solid var(--color-accent);
}
.schedule-flow--2 .schedule-flow__items {
	border-left: 3px solid var(--color-main);
}
.schedule-flow__arrow {
	width: 44px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.schedule-flow__arrow::before {
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
}
.schedule-flow--1 .schedule-flow__arrow::before {
	border-top: 9px solid var(--color-accent);
}
.schedule-flow--2 .schedule-flow__arrow::before {
	border-top: 9px solid var(--color-main);
}
.schedule-flow__row {
	display: flex;
	align-items: stretch;
}
.schedule-flow__season {
	width: 44px;
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.06em;
	padding: 12px 0;
}
.schedule-flow--1 .schedule-flow__season {
	background: #FFF9C4;
	color: var(--color-main);
}
.schedule-flow--2 .schedule-flow__season {
	background: var(--color-main-light);
	color: var(--color-main);
}
.schedule-flow__cards {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.schedule-flow__card {
	padding: 12px 14px;
}
.schedule-flow__card + .schedule-flow__card {
	border-top: 1px solid #E0E4EA;
}
.schedule-flow--1 .schedule-flow__card {
	background: #FFFEF5;
}
.schedule-flow--2 .schedule-flow__card {
	background: var(--color-main-light02);
}
.schedule-flow__card-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--color-main);
	margin: 0 0 5px;
	line-height: 1.4;
}
.schedule-flow__card-body {
	font-size: 14px;
	color: var(--color-font);
	line-height: 1.75;
	margin: 0;
}
@media (min-width: 641px) {
	.schedule-flow {
		margin-left: 18px;
	}
	.schedule-flow__arrow {
		width: 52px;
		height: 20px;
	}
	.schedule-flow__arrow::before {
		border-left-width: 8px;
		border-right-width: 8px;
	}
	.schedule-flow--1 .schedule-flow__arrow::before {
		border-top-width: 10px;
	}
	.schedule-flow--2 .schedule-flow__arrow::before {
		border-top-width: 10px;
	}
	.schedule-flow__season {
		width: 52px;
		font-size: 13px;
		padding: 14px 0;
	}
	.schedule-flow__card {
		padding: 14px 18px;
	}
	.schedule-flow__card-title {
		font-size: 16px;
		margin-bottom: 6px;
	}
	.schedule-flow__card-body {
		font-size: 15px;
	}
}



/*------------------------------------
 * アーカイブ
 ------------------------------------*/
.archive-title {
	position: relative;
	height: 360px;
	display: flex;
}
.archive-title::before {
	content: '';
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: 1px solid var(--color-gray02);
	position: absolute;
	z-index: 1;
}
.archive-title__bg {
	margin: 0;
	line-height: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.archive-title__bg img {
	aspect-ratio: 16 / 3;
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
}
.archive-title__inner {
	max-width: calc(var(--content-page-title-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	padding-top: 40px;
}
.archive-title__text {
	color: var(--color-page-title);
	position: relative;
	z-index: 1;
	font-weight: 400;
    display: flex;
	flex-direction: column;
    align-items: flex-start;
	width: 100%;
	margin-top: 20px;
	line-height: 1.2;
}
/*
.archive-title__text::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main);
	opacity: .9;
	z-index: -1;
}
*/
.archive-title__text .main {
	font-size: 54px;
	word-break: break-all;
    text-wrap: balance;
	padding-left: 160px;
	position: relative;
	width: 100%;
}
.archive-title__text .main small {
	font-size: 70%;
	vertical-align: .3em;
	display: inline-block;
}
.archive-title__text .main::before {
	content: '';
	border-top: solid 3px var(--color-archive-title-en);
	width: 120px;
	position: absolute;
	left: 0;
	top: .625em;
}
.archive-title__text .sub {
	font-size: 20px;
	display: block;
	word-break: break-all;
    text-wrap: balance;
	margin-left: 160px;
	padding: 5px;
	border: solid 1px;
	margin-bottom: 5px;
}
.archive-title__text .sub small {
	font-size: inherit;
}
.archive-title__inner p[lang="en"] {
	order: -1;
	font-size: 120px;
	text-transform: uppercase;
	letter-spacing: -.005em;
	font-weight: 400;
	color: var(--color-archive-title-en);
	word-break: break-all;
    text-wrap: balance;
	line-height: 1;
	width: 100%;
}
.archive-title__inner p[lang="en"] small {
	font-size: inherit;
}
.archive-content {
	margin: 150px 0;
}
.archive-content__inner {
	max-width: calc(var(--content-width-md) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	word-break: break-all;
}
body.post-type-archive-oc .archive-content__inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
}
.archive-content__link-nav {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	word-break: break-all;
}
.archive-content__other-catlist {
	padding: 25px 40px 30px;
	position: relative;
	z-index: 1;
}
.archive-content__other-catlist::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-gray02);
	border-radius: 20px;
	opacity: .4;
}
.archive-content__other-catlist:not([class*="mb-"]) {
	margin-bottom: 60px;
}
.archive-content__other-catlist ul {
	list-style: none;
}
.archive-content__other-catlist li {
	display: inline-block;
	font-size: 14px;
	margin-top: 5px;
	margin-right: 8px;
}
.archive-content__other-catlist li a {
	text-decoration: none;
}
.archive-content__other-catlist li a {
	display: block;
	color: var(--color-font-dark02);
}
.archive-content__other-catlist li a::before {
	content: '#';
	opacity: .6;
}
.archive__nopost {
	min-height: 200px;
}
.archive__nopost p {
	text-align: center;
}
.archive__post {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 30px;
	grid-template-areas: "thum text-box";
}
body.post-type-archive-contents .archive__post,
body.tax-cat-contents .archive__post {
	grid-template-columns: 200px 1fr;
}
.archive__post + .archive__post {
	border-top: solid 1px var(--color-gray02);
	margin-top: 30px;
	padding-top: 30px;
}
.archive__post-thum a {
	position: relative;
	display: block;
	overflow: hidden;
}
.archive__post-thum a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	border: solid 1px var(--color-gray02);
	height: 100%;
	width: 100%;
	z-index: 3;
}
.archive__post-thum a i {
	font-style: normal;
}
.archive__post-thum a[data-pickup] i::before {
	content: 'PICKUP';
	position: absolute;
	left: -4px;
	top: 12px;
	z-index: 2;
	transform: rotate(-45deg);
	transform-origin: right top;
	font-size: 14px;
	font-family: var(--font-en);
	font-weight: 700;
	color: var(--color-font-r);
}
.archive__post-thum a[data-pickup] i::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 80px;
	height: 80px;
	clip-path: polygon( 0 0, 100% 0, 0 100% );
    background-color: var(--color-pickup);
}
.archive__post-thum.noimage a {
	height: 168.5px;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	transition-property: background-color, color;
	transition-duration: .2s;
}
.archive__post-thum.noimage a:hover {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.archive__post-thum img {
	aspect-ratio: 9 / 5.05;
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
	transition: scale .2s;
}
body.post-type-archive-contents .archive__post-thum img,
body.tax-cat-contents .archive__post-thum img {
	aspect-ratio: 1 / 1;
}
.archive__post-thum a:hover img {
    scale: 1.15;
}
.archive__post-text-box {
	grid-area: text-box;
}
.archive__post-link-box {
	display: block;
	margin-top: 10px;
	text-decoration: none;
}
.archive__post-link-box:hover {
	text-decoration: underline;
	color: var(--color-main);
}
.archive__post-title {
	/*
	margin-top: 10px;
	*/
	font-size: 24px;
}
.archive__post-title a {
	text-decoration: none;
}
.archive__post-title a:hover {
	text-decoration: underline;
	color: var(--color-main);
}
.archive__post-desc {
	margin-top: 10px;
}
.archive__post-meta {
	display: flex;
	/*
	flex-wrap: wrap;
	align-items: center;
	*/
	gap: 0 10px;
	flex-direction: column;
}
.archive__post-date {
	font-size: 16px;
}
.archive__post-terms {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
	margin-top: 4px;
}
.archive__post-terms li {
	display: inline-block;
	margin-top: 2px;
	line-height: 1.2;
}
.archive__post-terms li:not(:last-of-type) {
	margin-right: 2px;
}
.archive__post-terms li a {
	padding: 5px 9px;
	border-radius: 5px;
	color: var(--color-main);
	text-decoration: none;
	display: inline-block;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.archive__post-terms li.cat-maintenance a {
	color: var(--color-font-r);
}
.archive__post-terms li.cat-soft a {
	color: var(--color-font-r);
}
.archive__post-terms li.cat-visualsound a {
	color: var(--color-font-r);
}
.archive__post-terms li.cat-energie a {
	color: var(--color-font-r);
}
.archive__post-terms li.cat-architecture a {
	color: var(--color-font-r);
}
.archive__post-terms li.cat-furniture a {
	color: var(--color-font-r);
}
.archive__post-terms li a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main-light);
	z-index: -1;
	border-radius: 5px;
}
.archive__post-terms li.cat-maintenance a::before {
	background-color: var(--color-red);
}
.archive__post-terms li.cat-soft a::before {
	background-color: var(--color-blue);
}
.archive__post-terms li.cat-visualsound a::before {
	background-color: var(--color-violet);
}
.archive__post-terms li.cat-energie a::before {
	background-color: var(--color-green);
}
.archive__post-terms li.cat-architecture a::before {
	background-color: var(--color-orange);
}
.archive__post-terms li.cat-furniture a::before {
	background-color: var(--color-pink);
}
.archive__pagination {
	margin-top: 35px;
}
.archive__pagination .page-numbers {
	list-style: none;
	display: inline-block;
	text-align: left;
}
.archive__pagination ul.page-numbers li {
	display: inline-block;
	font-family: var(--font-en);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	margin-top: 5px;
}
.archive__pagination a.page-numbers {
	text-decoration: none;
	display: inline-block;
}
.archive__pagination a.page-numbers:not(:where(.prev,.next)) {
	margin-left: 5px;
	margin-right: 5px;
	min-width: 1.4em;
	text-align: center;
}
.archive__pagination a.page-numbers:not(:where(.prev,.next)):hover {
	color: var(--color-el-archive-current);
}
.archive__pagination .page-numbers.dots,
.archive__pagination .page-numbers.current {
	display: inline-block;
	margin-left: 5px;
	margin-right: 5px;
	min-width: 1.4em;
	text-align: center;
}
.archive__pagination .page-numbers.current {
	color: var(--color-el-archive-current);
}
.archive__pagination a.page-numbers:where(.prev,.next) {
	background-color: var(--color-main-light03);
	padding-top: 8px;
	padding-bottom: 6px;
	padding-left: 10px;
	padding-right: 10px;
	box-sizing: border-box;
	border-radius: 100vmin;
	font-size: 14px;
	min-width: 80px;
	text-align: center;
}
.archive__pagination a.page-numbers:where(.prev,.next):hover {
	color: var(--color-font-r);
	background-color: var(--color-el-archive-current);
}
.archive__pagination a.page-numbers.prev {
	margin-right: 10px;
}
.archive__pagination a.page-numbers.next {
	margin-left: 10px;
}
@media (min-width: 1921px) {
}
@media (min-width: 1601px) {
	.archive-title__bg img:where(.type-tab,.type-sp) {
		display: none !important;
	}
}
@media (max-width: 1920px) and (min-width: 1601px) {
	.archive-title__bg img {
		object-position: 55% center;
	}
	.archive-title__text .main {
		font-size: clamp(30px, 10 * (1vw + 1vh) / 2, 100vw * 48 / 1920);
		max-width: 42%;
	}
	.archive-title__text .sub {
		font-size: clamp(16px, 10 * (1vw + 1vh) / 2, 100vw * 18 / 1920);
		max-width: calc( 42% - 160px );
	}
	.archive-title__inner p[lang="en"] {
		font-size: clamp(80px, 10 * (1vw + 1vh) / 2, 100vw * 100 / 1920);
		max-width: 42%;
	}
}
@media (max-width: 1600px) and (min-width: 641px) {
	.archive-title__bg img {
        object-position: 50% center;
        scale: .9;
        transform-origin: 100% 100%;
	}
	.archive-title__bg img:where(.type-pc,.type-sp) {
		display: none !important;
	}
	.archive-title__text .main {
		font-size: clamp(26px, 10 * (1vw + 1vh) / 2, 100vw * 40 / 1920);
		max-width: 60%;
		padding-left: 120px;
	}
	.archive-title__text .main::before {
		width: 80px;
	}
	.archive-title__text .sub {
		font-size: clamp(14px, 10 * (1vw + 1vh) / 2, 100vw * 18 / 1920);
		max-width: calc( 60% - 120px );
		margin-left: 120px;
	}
	.archive-title__inner p[lang="en"] {
		font-size: clamp(64px, 10 * (1vw + 1vh) / 2, 100vw * 92 / 1920);
		max-width: 60%;
	}
}
@media (min-width: 640px) {
	body:where(.category, .tax-cat-gallery, .tax-cat-contents) .type-post-pc-none {
		display: none !important;
	}
}
@media (max-width: 640px) {
	body:where(.category, .tax-cat-gallery, .tax-cat-contents) .type-post-sp-none {
		display: none !important;
	}
	.archive-title__inner {
		padding-top: calc(100vmin * 20 / var(--sp-vw));
	}
	body:not(.page-child) .archive-title .type-parent-sp-none,
	body.page-child .archive-title .type-child-sp-none {
		display: none !important;
	}
	.archive-title__bg img {
        object-position: 50% center;
        scale: .75;
        transform-origin: 100% 100%;
	}
	.archive-title__bg img:where(.type-pc,.type-tab) {
		display: none !important;
	}
	.archive-title {
		height: calc(100vmin * 160 / var(--sp-vw));
	}
	.archive-title__text {
		margin-top: calc(100vmin * 10 / var(--sp-vw));
	}
	.archive-title__text .main {
		font-size: calc(100vmin * 18 / var(--sp-vw));
		max-width: 55%;
		/*
		padding-left: calc(100vmin * 64 / var(--sp-vw));
		*/
		padding-left: 0;
	}
	.archive-title__text .main::before {
		width: calc(100vmin * 44 / var(--sp-vw));
		border-top-width: 2px;
		display: none !important;
	}
	.archive-title__text .sub {
		font-size: calc(100vmin * 10 / var(--sp-vw));
		/*
		max-width: calc( 60% - 100vmin * 44 / var(--sp-vw) );
		*/
		max-width: 55%;
		/*
		margin-left: calc(100vmin * 64 / var(--sp-vw));
		*/
		margin-left: 0;
		padding: .2em;
		margin-bottom: .4em;
	}
	.archive-title__inner p[lang="en"] {
		font-size: calc(100vmin * 28 / var(--sp-vw));
		max-width: 60%;
	}
	.archive-content {
		margin-top: 80px;
		margin-bottom: 80px;
	}
	.archive-content__other-catlist {
		padding: 15px 20px 20px;
	}
	.archive__post {
		grid-template-columns: 1fr !important;
		grid-template-areas: "thum"
			"text-box" !important;
		gap: 20px;
	}
	.archive__post-meta {
		flex-direction: column;
		align-items: flex-start;
	}
	.archive__post-thum.noimage a {
		height: calc(100vmin * 168.5 / var(--sp-vw));
	}
	.archive__post-date {
		font-size: 14px;
	}
	.archive__post-title {
		font-size: 18px;
	}
}



/* アーカイブ：オープンキャンパス */
.archive-oc-content__main {
}
.archive-oc__posts {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 15px 25px;
}
.archive-oc__posts .p__post {
	display: flex;
	flex-direction: column;
	background-color: var(--color-font-r);
	border-radius: 10px;
	padding: 10px 10px 25px;
	box-shadow: 0 0 20px rgba(0,0,0,.25);
	gap: 15px;
}
.archive-oc__posts .p__post[data-close] {
	background-color: var(--color-gray);
}
.archive-oc__posts .p__title {
	font-size: 18px;
	margin-right: 10px;
	margin-left: 10px;
}
.archive-oc__posts .p__desc {
	margin-right: 10px;
	margin-left: 10px;
	padding: 10px 5px 10px 10px;
    background-color: var(--color-main-light03);
    border-radius: 5px;
}
.archive-oc__posts [data-close] .p__desc {
	background-color: var(--color-gray02);
}
.archive-oc__posts .p__desc p {
	line-height: 1.4;
	font-size: 15px;
}
.archive-oc__posts .p__thum {
	order: -1;
}
.archive-oc__posts .p__thum a {
    display: block;
	overflow: hidden;
	border-radius: 10px;
	position: relative;
}
.archive-oc__posts .p__thum img {
	user-select: none;
	aspect-ratio: 16 / 9;
    object-fit: cover;
    user-select: none;
    width: 100%;
    height: 100%;
    transition: scale .2s;
}
.archive-oc__posts [data-close] .p__thum a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
	background-color: var(--color-font-dark02);
    height: 100%;
    width: 100%;
    z-index: 1;
	opacity: .6;
}
.archive-oc__posts [data-close] .p__thum a::after {
	content: 'CLOSE';
	font-family: var(--font-en);
	font-weight: 900;
	font-size: 40px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	white-space: nowrap;
	color: var(--color-font-r);
	z-index: 2;
}
.archive-oc__posts .p__thum a:hover img {
    scale: 1.15;
}
.archive-oc__posts .p__event-date {
	padding: 10px 5px 10px 10px;
	background-color: var(--color-main-light03);
	border-radius: 5px;
	margin-right: 10px;
	margin-left: 10px;
}
.archive-oc__posts [data-close] .p__event-date {
	background-color: var(--color-gray02);
}
.archive-oc__posts .p__event-date ul {
	list-style: none;
}
.archive-oc__posts .p__event-date ul li {
	display: inline-block;
	font-style: normal;
}
.archive-oc__posts .p__event-date ul li:not(:last-of-type)::after {
	content: '、';
}
.archive-oc__posts .p__event-date :where(p,li) {
	font-size: 15px;
	line-height: 1.2;
}
.archive-oc__posts .p__links-wrap {
    flex-grow: 1;
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: flex-end;
}
.archive-oc__posts .p__links {
	margin-right: 10px;
	margin-left: 10px;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 10px;
}
.archive-oc__posts .p__links a {
	text-decoration: none;
	background-color: var(--color-font-r);
	display: block;
	color: var(--color-font);
	border-radius: 100vmin;
	border: solid 1px var(--color-font-r);
	padding: 5px 17px;
	box-shadow: 0 0 4px rgba(0,0,0,.5);
	position: relative;
}
.archive-oc__posts [data-close] .p__links a {
	background-color: var(--color-gray02);
	border-color: var(--color-gray02);
}
.archive-oc__posts .p__links .type-schedule {
	background-color: var(--color-main);
	color: var(--color-font-r);
	border-color: var(--color-main);
}
.archive-oc__posts .p__links a:hover {
	opacity: .7;
}
.archive-oc__posts .p__links a i {
	position: absolute;
	top: 50%;
	right: 15px;
	font-style: normal;
	width: 10px;
	height: 10px;
	box-sizing: border-box;
	border-top: solid 1px var(--color-font);
	border-left: solid 1px var(--color-font);
	transform: translateY(-50%) rotate(135deg);
}
.archive-oc__posts .p__links .type-schedule i {
	border-color: var(--color-font-r);
}
.archive-oc__link-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 25px;
	margin-top: 60px;
}
.archive-oc__link-list li {
	display: flex;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.4;
}
.archive-oc__link-list a {
	display: flex;
	text-decoration: none;
	flex-direction: column;
	position: relative;
	width: 100%;
	border: solid 1px var(--color-main);
	color: var(--color-main);
	padding: 15px 45px 15px 20px;
}
.archive-oc__link-list a:hover {
	color: var(--color-font-r);
	background-color: var(--color-main);
}
.archive-oc__link-list a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	width: 7px;
	height: 7px;
	box-sizing: border-box;
	border-top: solid 1px var(--color-main);
	border-left: solid 1px var(--color-main);
	transform: translateY(-50%) rotate(135deg);
}
.archive-oc__link-list a:hover::before {
	border-color: var(--color-font-r);
}
.archive-oc__link-list a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 25px;
	width: 14px;
	border-top: solid 1px var(--color-main);
	transform: translateY(-50%);
}
.archive-oc__link-list a:hover::after {
	border-color: var(--color-font-r);
}
@media (max-width: 640px) {
	.archive-oc__posts {
		grid-template-columns: repeat(1, 1fr);
	}
	.archive-oc__posts .p__links {
		font-size: calc(100vmin * 14 / var(--sp-vw));
	}
	.archive-oc__link-list {
		grid-template-columns: repeat(1, 1fr);
	}
}



/*------------------------------------
 * 投稿
 ------------------------------------*/
.single-content {
	margin: 80px 0 150px;
	overflow: visible;
}
.single-content__inner {
	max-width: calc(var(--content-single-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	word-break: break-all;
}
.single-content__link-nav {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	word-break: break-all;
}
.single-content__header {
    padding: 20px 0;
    border-top: solid 4px var(--color-main);
    border-bottom: solid 1px var(--color-gray);
	position: relative;
	z-index: 1;
}
body[class*="single-cat-maintenance-"] .single-content__header,
body.single-cat-maintenance .single-content__header {
	border-top-color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__header,
body.single-cat-soft .single-content__header {
	border-top-color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__header,
body.single-cat-visualsound .single-content__header {
	border-top-color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__header,
body.single-cat-energie .single-content__header {
	border-top-color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__header,
body.single-cat-architecture .single-content__header {
	border-top-color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__header,
body.single-cat-furniture .single-content__header {
	border-top-color: var(--color-pink);
}
.single-content__header[data-pickup] .pickup-tag {
	font-style: normal;
}
.single-content__header[data-pickup] .pickup-tag::before {
	content: 'PICKUP';
	position: absolute;
	right: 50px;
	top: -2px;
	transform: translateY(-50%);
	z-index: -1;
	font-size: 18px;
	font-family: var(--font-en);
	font-weight: 700;
	color: var(--color-font-r);
	width: 120px;
	text-align: center;
}
body[class*="single-cat-maintenance-"] .single-content__header[data-pickup] .pickup-tag::before,
body.single-cat-maintenance .single-content__header[data-pickup] .pickup-tag::before {
	color: var(--color-main);
}
body[class*="single-cat-soft-"] .single-content__header[data-pickup] .pickup-tag::before,
body.single-cat-soft .single-content__header[data-pickup] .pickup-tag::before {
	color: var(--color-main);
}
body[class*="single-cat-visualsound-"] .single-content__header[data-pickup] .pickup-tag::before,
body.single-cat-visualsound .single-content__header[data-pickup] .pickup-tag::before {
	color: var(--color-main);
}
body[class*="single-cat-energie-"] .single-content__header[data-pickup] .pickup-tag::before,
body.single-cat-energie .single-content__header[data-pickup] .pickup-tag::before {
	color: var(--color-main);
}
body[class*="single-cat-architecture-"] .single-content__header[data-pickup] .pickup-tag::before,
body.single-cat-architecture .single-content__header[data-pickup] .pickup-tag::before {
	color: var(--color-main);
}
body[class*="single-cat-furniture-"] .single-content__header[data-pickup] .pickup-tag::before,
body.single-cat-furniture .single-content__header[data-pickup] .pickup-tag::before {
	color: var(--color-main);
}
.single-content__header[data-pickup] .pickup-tag::after {
	content: '';
	position: absolute;
	right: 50px;
	top: -2px;
	transform: translateY(-50%);
	z-index: -2;
	width: 120px;
	height: 40px;
    background-color: var(--color-pickup);
}
body[class*="single-cat-maintenance-"] .single-content__header[data-pickup] .pickup-tag::after,
body.single-cat-maintenance .single-content__header[data-pickup] .pickup-tag::after {
	background-color: var(--color-accent);
}
body[class*="single-cat-soft-"] .single-content__header[data-pickup] .pickup-tag::after,
body.single-cat-soft .single-content__header[data-pickup] .pickup-tag::after {
	background-color: var(--color-accent);
}
body[class*="single-cat-visualsound-"] .single-content__header[data-pickup] .pickup-tag::after,
body.single-cat-visualsound .single-content__header[data-pickup] .pickup-tag::after {
	background-color: var(--color-accent);
}
body[class*="single-cat-energie-"] .single-content__header[data-pickup] .pickup-tag::after,
body.single-cat-energie .single-content__header[data-pickup] .pickup-tag::after {
	background-color: var(--color-accent);
}
body[class*="single-cat-architecture-"] .single-content__header[data-pickup] .pickup-tag::after,
body.single-cat-architecture .single-content__header[data-pickup] .pickup-tag::after {
	background-color: var(--color-accent);
}
body[class*="single-cat-furniture-"] .single-content__header[data-pickup] .pickup-tag::after,
body.single-cat-furniture .single-content__header[data-pickup] .pickup-tag::after {
	background-color: var(--color-accent);
}
.single-content__main {
	margin-top: 40px;
}
.single__post-title {
	font-size: 26px;
    font-weight: 500;
    color: var(--color-main);
}
body[class*="single-cat-maintenance-"] .single__post-title,
body.single-cat-maintenance .single__post-title {
	color: var(--color-red);
}
body[class*="single-cat-soft-"] .single__post-title,
body.single-cat-soft .single__post-title {
	color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single__post-title,
body.single-cat-visualsound .single__post-title {
	color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single__post-title,
body.single-cat-energie .single__post-title {
	color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single__post-title,
body.single-cat-architecture .single__post-title {
	color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single__post-title,
body.single-cat-furniture .single__post-title {
	color: var(--color-pink);
}
.single__post-meta {
	display: flex;
	margin-top: 10px;
}
.single__post-date {
	flex-shrink: 0;
	margin-top: 2px;
}
.single__post-terms {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 14px;
	margin-top: 4px;
}
.single__post-date + .single__post-terms {
	margin-left: 10px !important;
	padding-left: 10px !important;
	position: relative;
}
.single__post-date + .single__post-terms::before {
	content: '';
	position: absolute;
	height: 100%;
	border-left: solid 1px var(--color-gray);
	top: 0;
	left: 0;
}
.single__post-terms li {
	display: inline-block;
	margin-top: 2px;
	line-height: 1.2;
}
.single__post-terms li a {
	padding: 5px 9px;
	border-radius: 5px;
	color: var(--color-main);
	text-decoration: none;
	position: relative;
	z-index: 1;
	display: inline-block;
}
.single__post-terms li.cat-maintenance a {
	color: var(--color-font-r);
}
.single__post-terms li.cat-soft a {
	color: var(--color-font-r);
}
.single__post-terms li.cat-visualsound a {
	color: var(--color-font-r);
}
.single__post-terms li.cat-energie a {
	color: var(--color-font-r);
}
.single__post-terms li.cat-architecture a {
	color: var(--color-font-r);
}
.single__post-terms li.cat-furniture a {
	color: var(--color-font-r);
}
.single__post-terms li:not(:last-of-type) {
	margin-right: 2px;
}
.single__post-terms li a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main-light);
	z-index: -1;
	border-radius: 5px;
}
.single__post-terms li.cat-maintenance a::before {
	background-color: var(--color-red);
}
.single__post-terms li.cat-soft a::before {
	background-color: var(--color-blue);
}
.single__post-terms li.cat-visualsound a::before {
	background-color: var(--color-violet);
}
.single__post-terms li.cat-energie a::before {
	background-color: var(--color-green);
}
.single__post-terms li.cat-architecture a::before {
	background-color: var(--color-orange);
}
.single__post-terms li.cat-furniture a::before {
	background-color: var(--color-pink);
}
.single-content__footer {
	margin-top: 40px;
	padding-top: 40px;
	position: relative;
}
.single-content__footer::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background-size: 10px 5px;
	background-image: linear-gradient(to right, var(--color-gray) 5px, rgba(255, 255, 255, 0) 5px);
	background-repeat: repeat-x;
	background-position: left center;
}
.single-content__pager ul {
	list-style: none;
	display: flex;
	justify-content: space-between;
}
.single-content__pager ul li {
	width: 360px;
	line-height: 1.4;
	font-size: 14px;
	display: flex;
}
.single-content__pager ul li a {
	display: flex;
	align-items: center;
	padding: 15px 25px;
	border: solid 2px;
	color: var(--color-main);
	background-color: var(--color-font-r);
	position: relative;
	border-radius: 100vmin;
	text-decoration: none;
	width: 100%;
}
body[class*="single-cat-maintenance-"] .single-content__pager ul li a,
body.single-cat-maintenance .single-content__pager ul li a {
	color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__pager ul li a,
body.single-cat-soft .single-content__pager ul li a {
	color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__pager ul li a,
body.single-cat-visualsound .single-content__pager ul li a {
	color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__pager ul li a,
body.single-cat-energie .single-content__pager ul li a {
	color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__pager ul li a,
body.single-cat-architecture .single-content__pager ul li a {
	color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__pager ul li a,
body.single-cat-furniture .single-content__pager ul li a {
	color: var(--color-pink);
}
.single-content__pager ul li a:hover {
	color: var(--color-font-r);
	background-color: var(--color-main);
}
body[class*="single-cat-maintenance-"] .single-content__pager ul li a:hover,
body.single-cat-maintenance .single-content__pager ul li a:hover {
	color: var(--color-font-r);
	background-color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__pager ul li a:hover,
body.single-cat-soft .single-content__pager ul li a:hover {
	color: var(--color-font-r);
	background-color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__pager ul li a:hover,
body.single-cat-visualsound .single-content__pager ul li a:hover {
	color: var(--color-font-r);
	background-color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__pager ul li a:hover,
body.single-cat-energie .single-content__pager ul li a:hover {
	color: var(--color-font-r);
	background-color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__pager ul li a:hover,
body.single-cat-architecture .single-content__pager ul li a:hover {
	color: var(--color-font-r);
	background-color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__pager ul li a:hover,
body.single-cat-furniture .single-content__pager ul li a:hover {
	color: var(--color-font-r);
	background-color: var(--color-pink);
}
.single-content__pager ul li a[rel="prev"] {
	padding-left: 40px;
}
.single-content__pager ul li a[rel="next"] {
	padding-right: 35px;
}
.single-content__pager ul li a::before {
    content: '';
    position: absolute;
	top: 50%;
    width: 10px;
    height: 10px;
    box-sizing: border-box;
    border-top: solid 1px;
    border-left: solid 1px;
}
body[class*="single-cat-maintenance-"] .single-content__pager ul li a::before,
body.single-cat-maintenance .single-content__pager ul li a::before {
	border-color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__pager ul li a::before,
body.single-cat-soft .single-content__pager ul li a::before {
	border-color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__pager ul li a::before,
body.single-cat-visualsound .single-content__pager ul li a::before {
	border-color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__pager ul li a::before,
body.single-cat-energie .single-content__pager ul li a::before {
	border-color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__pager ul li a::before,
body.single-cat-architecture .single-content__pager ul li a::before {
	border-color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__pager ul li a::before,
body.single-cat-furniture .single-content__pager ul li a::before {
	border-color: var(--color-pink);
}
body[class*="single-cat-maintenance-"] .single-content__pager ul li a:hover::before,
body.single-cat-maintenance .single-content__pager ul li a:hover::before {
	border-color: var(--color-font-r);
}
body[class*="single-cat-soft-"] .single-content__pager ul li a:hover::before,
body.single-cat-soft .single-content__pager ul li a:hover::before {
	border-color: var(--color-font-r);
}
body[class*="single-cat-visualsound-"] .single-content__pager ul li a:hover::before,
body.single-cat-visualsound .single-content__pager ul li a:hover::before {
	border-color: var(--color-font-r);
}
body[class*="single-cat-energie-"] .single-content__pager ul li a:hover::before,
body.single-cat-energie .single-content__pager ul li a:hover::before {
	border-color: var(--color-font-r);
}
body[class*="single-cat-architecture-"] .single-content__pager ul li a:hover::before,
body.single-cat-architecture .single-content__pager ul li a:hover::before {
	border-color: var(--color-font-r);
}
body[class*="single-cat-furniture-"] .single-content__pager ul li a:hover::before,
body.single-cat-furniture .single-content__pager ul li a:hover::before {
	border-color: var(--color-font-r);
}
.single-content__pager ul li a[rel="prev"]::before {
    left: 25px;
    transform: translate(-50%, -50%) rotate(-45deg);
}
.single-content__pager ul li a[rel="next"]::before {
    right: 20px;
    transform: translate(-50%, -50%) rotate(135deg);
}
.single-content__archive-link {
	text-align: center;
	margin-top: 30px;
	font-weight: 500;
	font-size: 14px;
}
.single-content__archive-link a {
	text-decoration: none;
	padding: 15px 20px;
	display: inline-block;
	box-sizing: border-box;
	min-width: 300px;
	border: solid 2px var(--color-gray);
	position: relative;
	z-index: 1;
}
.single-content__archive-link a::before {
	content: '';
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: var(--color-gray);
	opacity: 0;
}
.single-content__archive-link a:hover::before {
	opacity: .2;
}
.single-content__main div > :first-child,
.single-content__main > :first-child {
	margin-top: 0 !important;
}
.single-content__main :where(h1,h2,h3,h4,h5,h6) + :where(h1,h2,h3,h4,h5,h6) {
	margin-top: 0 !important;
}
.single-content__main h1 {
	color: var(--color-font);
	font-size: 40px;
	font-weight: 700;
	margin-top: 100px;
	margin-bottom: 50px;
}
body[class*="single-cat-maintenance-"] .single-content__main h1:not([class*="heading-"]),
body.single-cat-maintenance .single-content__main h1:not([class*="heading-"]) {
	color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__main h1:not([class*="heading-"]),
body.single-cat-soft .single-content__main h1:not([class*="heading-"]) {
	color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__main h1:not([class*="heading-"]),
body.single-cat-visualsound .single-content__main h1:not([class*="heading-"]) {
	color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__main h1:not([class*="heading-"]),
body.single-cat-energie .single-content__main h1:not([class*="heading-"]) {
	color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__main h1:not([class*="heading-"]),
body.single-cat-architecture .single-content__main h1:not([class*="heading-"]) {
	color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__main h1:not([class*="heading-"]),
body.single-cat-furniture .single-content__main h1:not([class*="heading-"]) {
	color: var(--color-pink);
}
.single-content__main h2:not([class*="heading-"]) {
	font-size: 28px;
	font-weight: 500;
	color: var(--color-font-r);
	background-color: var(--color-main);
	padding: 10px 20px;
}
.single-content__main h2:not([class*="heading-"]):not([class*="mt-"]) {
	margin-top: 80px;
}
.single-content__main h2:not([class*="heading-"]):not([class*="mb-"]) {
	margin-bottom: 30px;
}
body[class*="single-cat-maintenance-"] .single-content__main h2:not([class*="heading-"]),
body.single-cat-maintenance .single-content__main h2:not([class*="heading-"]) {
	background-color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__main h2:not([class*="heading-"]),
body.single-cat-soft .single-content__main h2:not([class*="heading-"]) {
	background-color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__main h2:not([class*="heading-"]),
body.single-cat-visualsound .single-content__main h2:not([class*="heading-"]) {
	background-color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__main h2:not([class*="heading-"]),
body.single-cat-energie .single-content__main h2:not([class*="heading-"]) {
	background-color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__main h2:not([class*="heading-"]),
body.single-cat-architecture .single-content__main h2:not([class*="heading-"]) {
	background-color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__main h2:not([class*="heading-"]),
body.single-cat-furniture .single-content__main h2:not([class*="heading-"]) {
	background-color: var(--color-pink);
}
.single-content__main h3:not([class*="heading-"]) {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-main);
	border-left: solid 4px var(--color-main);
	padding: 10px 20px;
	position: relative;
	z-index: 1;
}
.single-content__main h3:not([class*="heading-"]):not([class*="mt-"]) {
	margin-top: 60px;
}
.single-content__main h3:not([class*="heading-"]):not([class*="mb-"]) {
	margin-bottom: 20px;
}
.single-content__main h3.heading-005 {
	font-size: 20px;
    font-weight: 500;
	color: var(--color-main);
	position: relative;
	padding: 0 20px 10px;
	border-left: none !important;
}
.single-content__main h3.heading-005::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: solid 3px var(--color-main);
	background: none !important;
}
.single-content__main h3.heading-005::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80px;
	border-bottom: solid 3px var(--color-accent);
}
body[class*="single-cat-maintenance-"] .single-content__main h3:not([class*="heading-"]),
body.single-cat-maintenance .single-content__main h3:not([class*="heading-"]) {
	color: var(--color-font-dark02);
	border-left-color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__main h3:not([class*="heading-"]),
body.single-cat-soft .single-content__main h3:not([class*="heading-"]) {
	color: var(--color-font-dark02);
	border-left-color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__main h3:not([class*="heading-"]),
body.single-cat-visualsound .single-content__main h3:not([class*="heading-"]) {
	color: var(--color-font-dark02);
	border-left-color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__main h3:not([class*="heading-"]),
body.single-cat-energie .single-content__main h3:not([class*="heading-"]) {
	color: var(--color-font-dark02);
	border-left-color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__main h3:not([class*="heading-"]),
body.single-cat-architecture .single-content__main h3:not([class*="heading-"]) {
	color: var(--color-font-dark02);
	border-left-color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__main h3:not([class*="heading-"]),
body.single-cat-furniture .single-content__main h3:not([class*="heading-"]) {
	color: var(--color-font-dark02);
	border-left-color: var(--color-pink);
}
.single-content__main h3:not([class*="heading-"])::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main-light02);
}
body[class*="single-cat-maintenance-"] .single-content__main h3:not([class*="heading-"])::before,
body.single-cat-maintenance .single-content__main h3:not([class*="heading-"])::before {
	background-color: var(--color-red);
	opacity: .1;
}
body[class*="single-cat-soft-"] .single-content__main h3:not([class*="heading-"])::before,
body.single-cat-soft .single-content__main h3:not([class*="heading-"])::before {
	background-color: var(--color-blue);
	opacity: .1;
}
body[class*="single-cat-visualsound-"] .single-content__main h3:not([class*="heading-"])::before,
body.single-cat-visualsound .single-content__main h3:not([class*="heading-"])::before {
	background-color: var(--color-violet);
	opacity: .1;
}
body[class*="single-cat-energie-"] .single-content__main h3:not([class*="heading-"])::before,
body.single-cat-energie .single-content__main h3:not([class*="heading-"])::before {
	background-color: var(--color-green);
	opacity: .1;
}
body[class*="single-cat-architecture-"] .single-content__main h3:not([class*="heading-"])::before,
body.single-cat-architecture .single-content__main h3:not([class*="heading-"])::before {
	background-color: var(--color-orange);
	opacity: .1;
}
body[class*="single-cat-furniture-"] .single-content__main h3:not([class*="heading-"])::before,
body.single-cat-furniture .single-content__main h3:not([class*="heading-"])::before {
	background-color: var(--color-pink);
	opacity: .1;
}
.single-content__main h4:not([class*="heading-"]) {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-main);
	position: relative;
	padding-left: 20px;
}

.single-content__main h4:not([class*="heading-"]):not([class*="mt-"]) {
	margin-top: 60px;
}
.single-content__main h4:not([class*="heading-"]):not([class*="mb-"]) {
	margin-bottom: 20px;
}
.single-content__main h4.heading-005 {
	font-size: 20px;
	font-weight: 500;
	color: var(--color-main);
	padding: 10px 0;
	border-top: solid 2px var(--color-main);
    border-bottom: solid .5px var(--color-gray);
	border-left: none !important;
}
.single-content__main h4.heading-005::before {
	display: none !important;
}
body[class*="single-cat-maintenance-"] .single-content__main h4:not([class*="heading-"]),
body.single-cat-maintenance .single-content__main h4:not([class*="heading-"]) {
	color: var(--color-font-dark02);
}
body[class*="single-cat-soft-"] .single-content__main h4:not([class*="heading-"]),
body.single-cat-soft .single-content__main h4:not([class*="heading-"]) {
	color: var(--color-font-dark02);
}
body[class*="single-cat-visualsound-"] .single-content__main h4:not([class*="heading-"]),
body.single-cat-visualsound .single-content__main h4:not([class*="heading-"]) {
	color: var(--color-font-dark02);
}
body[class*="single-cat-energie-"] .single-content__main h4:not([class*="heading-"]),
body.single-cat-energie .single-content__main h4:not([class*="heading-"]) {
	color: var(--color-font-dark02);
}
body[class*="single-cat-architecture-"] .single-content__main h4:not([class*="heading-"]),
body.single-cat-architecture .single-content__main h4:not([class*="heading-"]) {
	color: var(--color-font-dark02);
}
body[class*="single-cat-furniture-"] .single-content__main h4:not([class*="heading-"]),
body.single-cat-furniture .single-content__main h4:not([class*="heading-"]) {
	color: var(--color-font-dark02);
}
.single-content__main h4:not([class*="heading-"])::before {
	content: '';
	position: absolute;
	left: 0;
	top: .5em;
	width: 10px;
	height: 10px;
    background-color: var(--color-accent);
	transform: rotate(45deg);
}
body[class*="single-cat-maintenance-"] .single-content__main h4:not([class*="heading-"])::before,
body.single-cat-maintenance .single-content__main h4:not([class*="heading-"])::before {
	background-color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__main h4:not([class*="heading-"])::before,
body.single-cat-soft .single-content__main h4:not([class*="heading-"])::before {
	background-color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__main h4:not([class*="heading-"])::before,
body.single-cat-visualsound .single-content__main h4:not([class*="heading-"])::before {
	background-color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__main h4:not([class*="heading-"])::before,
body.single-cat-energie .single-content__main h4:not([class*="heading-"])::before {
	background-color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__main h4:not([class*="heading-"])::before,
body.single-cat-architecture .single-content__main h4:not([class*="heading-"])::before {
	background-color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__main h4:not([class*="heading-"])::before,
body.single-cat-furniture .single-content__main h4:not([class*="heading-"])::before {
	background-color: var(--color-pink);
}
.single-content__main h5:not([class*="heading-"]) {
	font-size: 18px;
	font-weight: 700;
	color: var(--color-font-dark02);
	position: relative;
	padding-left: 20px;
}
.single-content__main h5:not([class*="heading-"]):not([class*="mt-"]) {
	margin-top: 40px;
}
.single-content__main h5:not([class*="heading-"]):not([class*="mb-"]) {
	margin-bottom: 20px;
}
.single-content__main h5:not([class*="heading-"])::before {
	content: '';
	position: absolute;
	left: 0;
	top: calc(.5em + 3px);
	width: 13px;
	border-top: solid 3px var(--color-main);
}
body[class*="single-cat-maintenance-"] .single-content__main h5:not([class*="heading-"])::before,
body.single-cat-maintenance .single-content__main h5:not([class*="heading-"])::before {
	border-top-color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__main h5:not([class*="heading-"])::before,
body.single-cat-soft .single-content__main h5:not([class*="heading-"])::before {
	border-top-color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__main h5:not([class*="heading-"])::before,
body.single-cat-visualsound .single-content__main h5:not([class*="heading-"])::before {
	border-top-color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__main h5:not([class*="heading-"])::before,
body.single-cat-energie .single-content__main h5:not([class*="heading-"])::before {
	border-top-color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__main h5:not([class*="heading-"])::before,
body.single-cat-architecture .single-content__main h5:not([class*="heading-"])::before {
	border-top-color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__main h5:not([class*="heading-"])::before,
body.single-cat-furniture .single-content__main h5:not([class*="heading-"])::before {
	border-top-color: var(--color-pink);
}
.single-content__main h6:not([class*="heading-"]) {
	font-size: 18px;
	font-weight: 700;
	color: var(--color-main);
}
.single-content__main h6:not([class*="heading-"]):not([class*="mt-"]) {
	margin-top: 40px;
}
.single-content__main h6:not([class*="heading-"]):not([class*="mb-"]) {
	margin-bottom: 20px;
}
body[class*="single-cat-maintenance-"] .single-content__main h6:not([class*="heading-"]),
body.single-cat-maintenance .single-content__main h6:not([class*="heading-"]) {
	color: var(--color-red);
}
body[class*="single-cat-soft-"] .single-content__main h6:not([class*="heading-"]),
body.single-cat-soft .single-content__main h6:not([class*="heading-"]) {
	color: var(--color-blue);
}
body[class*="single-cat-visualsound-"] .single-content__main h6:not([class*="heading-"]),
body.single-cat-visualsound .single-content__main h6:not([class*="heading-"]) {
	color: var(--color-violet);
}
body[class*="single-cat-energie-"] .single-content__main h6:not([class*="heading-"]),
body.single-cat-energie .single-content__main h6:not([class*="heading-"]) {
	color: var(--color-green);
}
body[class*="single-cat-architecture-"] .single-content__main h6:not([class*="heading-"]),
body.single-cat-architecture .single-content__main h6:not([class*="heading-"]) {
	color: var(--color-orange);
}
body[class*="single-cat-furniture-"] .single-content__main h6:not([class*="heading-"]),
body.single-cat-furniture .single-content__main h6:not([class*="heading-"]) {
	color: var(--color-pink);
}
.single-content__main p {
	margin-top: 30px;
	line-height: 1.8;
}
.single-content__main .wp-block-paragraph a {
	color: var(--color-main);
}
.single-content__main ul {
	list-style: none;
}
.single-content__main :where(ul,ol,table,.wp-block-image,.wp-block-columns,.wp-block-flexible-table-block-table) + p,
.single-content__main :where(p,ul,ol,table,.wp-block-image,.wp-block-columns,.wp-block-flexible-table-block-table) + :where(ul,ol,table,.wp-block-columns,.wp-block-flexible-table-block-table) {
	margin-top: 40px;
}
.single-content__main :where(p,ul,ol,table,.wp-block-flexible-table-block-table) + .wp-block-image {
	margin-top: 40px;
}
.single-content__main .wp-block-image + .wp-block-image {
	margin-top: 10px;
}
.single-content__main ol > li > ol > li > ul,
.single-content__main ol > li > ul > li > ul,
.single-content__main ol > li > ul,
.single-content__main ul > li > ul > li > ul,
.single-content__main ul > li > ul {
	margin-top: 10px;
}
.single-content__main ol > li > ol > li > ul > li,
.single-content__main ol > li > ul > li > ul > li,
.single-content__main ol > li > ul > li,
.single-content__main ul > li > ul > li > ul > li,
.single-content__main ul > li > ul > li,
.single-content__main ul > li {
	position: relative;
	padding-left: 18px;
}
.single-content__main ol > li > ol > li > ul > li + li,
.single-content__main ol > li > ul > li > ul > li + li,
.single-content__main ol > li > ul > li + li,
.single-content__main ul > li > ul > li > ul > li + li,
.single-content__main ul > li > ul > li + li,
.single-content__main ul > li + li {
	margin-top: 10px;
}
.single-content__main ul > li::before {
	content: '';
	position: absolute;
	left: 4px;
	top: calc(.5em + 2px);
	width: 6px;
	height: 6px;
	border-radius: 100vmin;
	background-color: var(--color-main);
	box-sizing: border-box;
}
.single-content__main ul > li > ul > li::before {
	border: solid 1px var(--color-main);
	background: none;
}
.single-content__main ul > li > ul > li > ul li::before {
	top: calc(.5em + 2px);
	left: 6px;
	width: 5px;
	height: 5px;
	border-radius: 0 !important;
	background-color: var(--color-main);
	border: none !important;
}
.single-content__main ol {
	list-style: none;
	counter-reset: cnt-page-content__ol;
}
.single-content__main ul > li > ul > li > ol > li,
.single-content__main ul > li > ol > li > ol > li,
.single-content__main ul > li > ol > li,
.single-content__main ol > li > ol > li > ol > li,
.single-content__main ol > li > ol > li,
.single-content__main ol > li {
	position: relative;
	padding-left: 35px;
	margin-top: 15px;
	margin-bottom: 15px;
}
.single-content__main ol > li:first-of-type {
	margin-top: 0;
}
.single-content__main ul > li > ul > li > ol > li:first-of-type,
.single-content__main ul > li > ol > li > ol > li:first-of-type,
.single-content__main ul > li > ol > li:first-of-type,
.single-content__main ol > li > ol > li > ol > li:first-of-type,
.single-content__main ol > li > ol > li:first-of-type {
	margin-top: 10px;
}
.single-content__main ol > li:last-of-type {
	margin-bottom: 0;
}
.single-content__main ul > li > ul > li > ol > li:last-of-type,
.single-content__main ul > li > ol > li > ol > li:last-of-type,
.single-content__main ul > li > ol > li:last-of-type,
.single-content__main ol > li > ol > li > ol > li:last-of-type,
.single-content__main ol > li > ol > li:last-of-type {
	margin-bottom: 15px;
}
.single-content__main ol > li::before {
	content: counter(cnt-page-content__ol);
	counter-increment: cnt-page-content__ol;
	position: absolute;
	left: 0;
	top: 0;
	width: 26px;
	height: 26px;
	border-radius: 100vmin;
	background-color: var(--color-main);
	color: var(--color-font-r);
	font-size: 12px;
	display: grid;
	place-items: center;
	letter-spacing: 0;
}
.single-content__main .wp-block-image {
	margin-top: 40px;
}
.single-content__main .wp-block-image figcaption {
	margin-top: 5px;
	font-size: 14px;
}
.single-content__main .wp-block-flexible-table-block-table figcaption {
	margin-top: 5px;
	font-size: 14px;
}
.single-content__main .wp-block-columns {
	margin-top: 40px;
	margin-bottom: 0;
}
.single-content__main .wp-block-image a:hover img {
	opacity: .6;
}
.single-content__main :where(h1,h2,h3,h4,h5,h6) + * {
	margin-top: 0 !important;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
	border-color: var(--color-el-table-border);
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
	background-color: var(--color-el-table-head-bg);
	color: var(--color-el-table-head-text);
	font-weight: 400;
}
@media (max-width: 640px) {
	.single-content__header[data-pickup] .pickup-tag::before {
		right: 20px;
		font-size: 17px;
		width: 100px;
	}
	.single-content__header[data-pickup] .pickup-tag::after {
		content: '';
		position: absolute;
		right: 20px;
		top: -2px;
		transform: translateY(-50%);
		z-index: -2;
		width: 100px;
		height: 35px;
	}
	.single__post-meta {
		flex-direction: column;
		gap: 4px;
	}
	.single__post-date {
		margin-top: 0;
	}
	.single__post-date + .single__post-terms {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
	}
	.single__post-date + .single__post-terms::before {
		opacity: 0;
	}
	.single-content__pager ul {
		flex-direction: column-reverse;
		gap: 10px;
	}
	.single-content__pager ul li {
		width: 100%;
	}
	.single-content__pager ul li:empty {
		display: none;
	}
	.single-content {
		margin-bottom: 80px;
	}
	.single-content__main h1 {
		font-size: 35px;
	}
	.single-content__main h2 {
		font-size: 24px;
		padding-left: 12px;
		padding-right: 12px;
	}
	.single-content__main h3 {
		padding-left: 12px;
		padding-right: 12px;
	}
	.single-content__main h3.heading-005 {
		padding-left: 12px;
		padding-right: 12px;
	}
	.single-content__main h4.heading-005 {
	}
}



/*------------------------------------
 * カスタム投稿：オープンキャンパス
 ------------------------------------*/

.oc-singlet__oc-close {
	max-width: calc(var(--content-width-sm) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	margin-top: 0;
}
.oc-single-content.type-default .oc-single-content__header .oc-singlet__oc-close {
	margin-top: 140px;
}
.oc-single-content.type-head-large .oc-single-content__header .oc-singlet__oc-close {
	margin-top: 90px;
}
.oc-singlet__oc-close :where([class*="textbox-"], .textbox) {
	font-size: 20px;
	padding-top: 70px !important;
	padding-bottom: 60px !important;
	text-align: center;
}
.oc-singlet__oc-close :where([class*="textbox-"], .textbox)[data-title]::before {
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
}
@media (max-width: 640px) {
	.oc-singlet__oc-close :where([class*="textbox-"], .textbox) {
		padding-top: 40px !important;
		padding-bottom: 30px !important;
	}
	.oc-single-content.type-default .oc-single-content__header .oc-singlet__oc-close {
		margin-top: 70px;
	}
	.oc-single-content.type-head-large .oc-single-content__header .oc-singlet__oc-close {
		margin-top: 70px;
	}
}


/* オープンキャンパス：ヘッダー(共通) */
@media (min-width: 1025px) {
	.oc-header-type-sp {
		display: none !important;
	}
}
@media (max-width: 1024px) {
	.oc-header-type-pc {
		display: none !important;
	}
}


/* オープンキャンパス：ヘッダー(PC) */
.oc-header-pc__space {
	height: 100px;
	display: block;
}
.oc-header-pc {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	min-width: 1200px;
	z-index: 2000;
	background-color: var(--color-font-r);
}
.oc-header-pc::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: var(--color-lp-oc-header-border);
	width: 100%;
	height: 1px;
}
.oc-header-pc__inner {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	height: 100px;
	display: flex;
	justify-content: space-between;
	gap: 20px;
}
.oc-header-pc__logo {
	max-width: 360px;
	align-self: center;
	min-width: 240px;
}
.oc-header-pc__logo a {
	display: block;
}
.oc-header-pc__logo a:hover {
	opacity: .7;
}
.oc-header-pc__nav {
	display: flex;
	flex-shrink: 0;
	max-width: calc( 100% - 260px );
}
.oc-header-pc__nav ul {
	list-style: none !important;
	margin: 0;
	padding: 0;
	display: flex;
}
.oc-header-pc__nav ul li {
	display: flex;
	font-size: 18px;
	letter-spacing: 0;
	font-weight: 700;
}
.oc-header-pc__nav ul li a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--color-font);
	padding-right: 20px;
	padding-left: 20px;
}
.oc-header-pc__nav ul li a:hover {
	background-color: var(--color-main-light02);
	color: var(--color-main);
}
@media (max-width: 1480px) {
	.oc-header-pc__nav ul li {
		font-size: 16px;
	}
	.oc-header-pc__nav ul li a {
		padding-right: 15px;
		padding-left: 15px;
	}
}


/* オープンキャンパス：ヘッダー(SP) */
.oc-header-sp {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 2000;
	background-color: var(--color-font-r);
}
.oc-header-sp__inner {
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	height: 100px;
	position: relative;
}
.oc-header-sp__logo {
	max-width: 400px;
	width: 50%;
	min-width: 240px;
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
}
.oc-header-sp__logo a {
	display: block;
}
.oc-header-sp__nav-button {
	all: unset;
	width: 80px;
	height: 80px;
	background-color: var(--color-main);
	position: absolute;
	right: 10px;
	top: 10px;
	cursor: pointer;
}
.oc-header-sp__nav-button i {
	font-style: normal;
	width: 45px;
	height: 6px;
	background-color: var(--color-font-r);
	position: absolute;
	left: 17px;
	list-style: normal;
}
.oc-header-sp__nav-button i:nth-of-type(1) {
	top: 19px;
}
.oc-header-sp__nav-button i:nth-of-type(2) {
	top: 37px;
}
.oc-header-sp__nav-button i:nth-of-type(3) {
	top: 54px;
}
.oc-header-sp__nav-group {
	position: fixed;
	left: 0;
	top: 100px;
	box-sizing: border-box;
	height: 100%;
	width: 100%;
	z-index: -1;
	display: none;
}
.oc-header-sp__nav-group::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-lp-oc-blue);
	opacity: .94;
}
.oc-header-sp__nav-wrap {
	position: relative;
	padding-top: 70px;
	padding-right: 35px;
	padding-left: 35px;
	height: calc(100% - 100px);
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 30px;
}
.oc-header-sp__nav-inner-button {
	all: unset;
	position: absolute;
	right: 12px;
	top: 12px;
	height: 40px;
	width: 40px;
	z-index: 2;
	cursor: pointer;
}
.oc-header-sp__nav-inner-button::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	border-left: solid 2px var(--color-font-r);
	height: 100%;
}
.oc-header-sp__nav-inner-button::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	border-left: solid 2px var(--color-font-r);
	height: 100%;
}
.oc-header-sp__nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: solid 2px var(--color-font-r);
}
.oc-header-sp__nav ul li a {
	color: var(--color-font-r);
	text-decoration: none;
	padding: 15px 10px;
	display: block;
}
.oc-header-sp__nav ul li {
	font-size: 20px;
}
.oc-header-sp__nav ul li + li {
	border-top: solid 2px var(--color-font-r);
}
@media (max-width: 640px) {
	.oc-header-sp__inner {
		height: 80px;
	}
	.oc-header-sp__nav-group {
		top: 80px;
	}
	.oc-header-sp__nav-wrap {
		height: calc(100% - 80px);
	}
	.oc-header-sp__nav-button {
		width: 60px;
		height: 60px;
	}
	.oc-header-sp__nav-button i {
		font-style: normal;
		width: 35px;
		height: 4px;
		left: 12px;
	}
	.oc-header-sp__nav-button i:nth-of-type(1) {
		top: 16px;
	}
	.oc-header-sp__nav-button i:nth-of-type(2) {
		top: 28px;
	}
	.oc-header-sp__nav-button i:nth-of-type(3) {
		top: 40px;
	}
}


/* オープンキャンパス：フッター */
@media (max-width: 640px) {
	body.single-oc .footer-form__copy-wrap {
		padding-bottom: 100px;
	}
}


/* MVとMV下 */
.type-default .oc-single-content__header .p__bg-group {
	position: relative;
	z-index: 1;
	height: 640px;
	padding-bottom: 30px;
}
.type-default .oc-single-content__header .p__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	border-bottom: solid 1px var(--color-gray02);
}
.type-default .oc-single-content__header .p__bg img {
	/*
	aspect-ratio: 3 / 1;
	*/
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
	max-width: none;
}
.type-default .oc-single-content__header .p__bg-box {
	position: absolute;
	left: 50%;
	top: calc(100% - 40px);
	transform: translate(-50%,-100%);
	z-index: 1;
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	/*
	mix-blend-mode: multiple;
	*/
}
.type-default .oc-single-content__header .p__oc-text {
	position: relative;
	max-width: max-content;
	padding: 10px 20px;
	left: -20px;
	color: var(--color-main);
	z-index: 1;
}
.type-default .oc-single-content__header .p__oc-text::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-color: var(--color-font-r);
	opacity: .9;
}
.type-default .oc-single-content__header .p__oc-text .type-ja {
	position: absolute;
	right: 20px;
	top: 20px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	text-align: center;
}
.type-default .oc-single-content__header .p__oc-text .type-ja span {
	display: block;
}
.type-default .oc-single-content__header .p__oc-text .type-ja strong {
	font-size: 50px;
	color: var(--color-pickup);
}
.type-default .oc-single-content__header .p__oc-text .type-en {
	font-family: var(--font-en);
	font-weight: 900;
	font-size: 90px;
	line-height: 1;
	letter-spacing: .1em;
}
.type-default .oc-single-content__header:not(.type-customize) .p__text-box {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	margin-top: 120px;
	margin-bottom: 30px;
}
.type-default .oc-single-content__header:not(.type-customize) .p__title {
	font-size: 60px;
	color: var(--color-font-dark02);
	letter-spacing: 0;
}
.type-default .oc-single-content__header:not(.type-customize) .p__title strong {
	color: var(--color-lp-oc-blue02);
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title-wrap {
	margin-top: 35px;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title {
	font-size: 34px;
	letter-spacing: 0;
	font-weight: 700;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag {
	display: inline-block;
	color: var(--color-font-r);
	background-color: var(--color-main);
	padding: 2px 20px;
	border: solid 2px var(--color-main);
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag[data-color] {
	background-color: var(--color-font-r) !important;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag[data-color="red"] {
	border-color: var(--color-red) !important;
	color: var(--color-red) !important;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag[data-color="blue"] {
	border-color: var(--color-blue) !important;
	color: var(--color-blue) !important;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag[data-color="violet"] {
	border-color: var(--color-violet) !important;
	color: var(--color-violet) !important;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag[data-color="green"] {
	border-color: var(--color-green) !important;
	color: var(--color-green) !important;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag[data-color="orange"] {
	border-color: var(--color-orange) !important;
	color: var(--color-orange) !important;
}
.type-default .oc-single-content__header:not(.type-customize) .p__sub-title .tag[data-color="pink"] {
	border-color: var(--color-pink) !important;
	color: var(--color-pink) !important;
}
.type-default .oc-single-content__header:not(.type-customize) .p__catch-wrap {
	display: block;
	margin-bottom: 70px;
}
.type-default .oc-single-content__header:not(.type-customize) .p__catch {
	font-size: 40px;
	border-bottom: solid 19px var(--color-accent);
	display: inline-block;
	font-weight: 700;
	letter-spacing: 0;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content-group {
	margin-top: 70px;
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	margin-bottom: 90px;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content p {
	font-size: 20px;
	line-height: 2.4;
	font-weight: 500;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content p + p {
	margin-top: 40px;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco {
	display: flex;
	align-items: center;
	gap: 50px;
	margin-top: 70px;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco::after,
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco::before {
	content: '';
	min-width: 1em;
	flex-grow: 1;
	border-top: solid 3px var(--color-main);
}
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco i {
	width: 48px;
	height: 48px;
	position: relative;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco i::after,
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco i::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border-top: solid 3px var(--color-main);
	border-left: solid 3px var(--color-main);
	width: 32px;
	height: 32px;
	rotate: 225deg;
	transform-origin: left center;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco i::before {
	top: -11px;
}
.type-default .oc-single-content__header:not(.type-customize) .p__content-deco i::after {
	top: 0;
}
.type-head-large .oc-single-content__header .p__bg-group {
	position: relative;
	z-index: 1;
	height: 1080px;
	padding-bottom: 30px;
}
.type-head-large .oc-single-content__header .p__bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.type-head-large .oc-single-content__header .p__bg img {
	/*
	aspect-ratio: 16 / 9;
	*/
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
	max-width: none;
}
.type-head-large .oc-single-content__header .p__bg-box {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	z-index: 1;
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-height: 700px;
	padding-top: 60px;
	padding-bottom: 60px;
}
.type-head-large .oc-single-content__header .p__bg-box::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-font-r);
	opacity: .8;
	border-radius: 20px;
	z-index: -1;
}
.type-head-large .oc-single-content__header .p__oc-text {
	max-width: 1040px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap: 70px;
	font-size: 60px;
	color: var(--color-main);
	font-weight: 700;
	letter-spacing: 0;
	width: 100%;
}
.type-head-large .oc-single-content__header .p__oc-text::after,
.type-head-large .oc-single-content__header .p__oc-text::before {
	content: '';
	flex-grow: 1;
	min-width: 1em;
	border-top: solid 4px;
}
.type-head-large .oc-single-content__header .p__bg-box .type-en {
	font-family: var(--font-main);
}
.type-head-large .oc-single-content__header .p__bg-box .p__title {
	font-size: 80px;
	letter-spacing: 0;
	font-weight: 700;
	color: var(--color-main);
}
.type-head-large .oc-single-content__header .p__bg-box .p__title strong {
	font-size: 100px;
}
.type-head-large .oc-single-content__header .p__bg-box .p__sub-title-wrap {
	position: relative;
	width: 100%;
}
.type-head-large .oc-single-content__header .p__bg-box .p__sub-title-wrap::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	width: 778px;
	transform: translateX(-50%);
	height: 7px;
	background-image: var(--grad-lp-oc-main);
	mask: radial-gradient(circle, #000 40%, transparent 50%) 0 center / 15px 7px repeat-x;
}
.type-head-large .oc-single-content__header .p__bg-box .p__sub-title {
	font-size: 64px;
	letter-spacing: 0;
	font-weight: 700;
	color: var(--color-main);
	padding-top: 40px;
	margin-top: 40px;
	position: relative;
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__catch-wrap {
	margin-top: 120px;
	margin-bottom: 100px;
	max-width: calc(var(--content-lp-oc-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__catch {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	width: 100%;
	padding-bottom: 40px;
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__catch::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	background-image: var(--grad-lp-oc-main);
	width: 100%;
	height: 7px;
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__catch-text {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0;
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__content {
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__content-inner {
	margin-top: 70px;
	max-width: calc(var(--content-lp-oc-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	margin-bottom: 90px;
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__content p {
	display: flex;
	align-items: center;
	text-align: center;
	width: 100%;
	flex-direction: column;
	font-size: 24px;
	letter-spacing: 0;
	font-weight: 500;
	line-height: 5;
  	background-image:
    	repeating-linear-gradient(
      		to bottom,
      		var(--color-bg) 0, var(--color-bg) calc(5em - 1px),
      		var(--color-gray03) calc(5em - 1px), var(--color-gray03) 5em
    	),
    	repeating-linear-gradient(
      		to right,
      		var(--color-gray03) 0, var(--color-gray03) 5px,
      		var(--color-bg) 5px, var(--color-bg) 14px
    	);
	background-blend-mode: lighten;
	margin: 0;
	background-position: 0 3.9em;
}
.type-head-large .oc-single-content__header:not(.type-customize) .p__content-deco {
	display: none !important;
}
@media (max-width: 1024px) {
	.type-head-large .oc-single-content__header .p__bg-box {
		width: calc(100% - var(--content-margin) * 2);
		padding-left: calc(var(--content-margin) * 2);
		padding-right: calc(var(--content-margin) * 2);
	}
	.type-head-large .oc-single-content__header .p__oc-text {
		font-size: 50px;
		gap: 40px;
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__sub-title-wrap::before {
		max-width: 778px;
		width: 100%;
		min-width: 640px;
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__title {
		font-size: 60px;
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__title strong {
		font-size: 80px;
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__sub-title {
		font-size: 54px;
	}
	.type-head-large .oc-single-content__header:not(.type-customize) .p__content p {
		font-size: 20px;
	}
}
@media (max-width: 767px) {
	.type-default .oc-single-content__header .p__bg-group {
		height: calc(100vmin * 340 / var(--sp-vw));
	}
	.type-default .oc-single-content__header .p__bg-box {
		top: calc(100% - 20px);
	}
	.type-default .oc-single-content__header .p__oc-text {
		padding: calc(100vmin * 7 / var(--sp-vw)) calc(100vmin * 15 / var(--sp-vw));
		left: 0;
		margin-inline: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
	}
	.type-default .oc-single-content__header .p__oc-text .type-en {
		/*
		font-size: calc(100vmin * 48 / var(--sp-vw));
		*/
		font-size: calc(100vmin * 28 / var(--sp-vw));
		letter-spacing: 0.04em;
		order: -1;
	}
	.type-default .oc-single-content__header .p__oc-text .type-en br {
		display: none;
	}
	.type-default .oc-single-content__header .p__oc-text .type-ja {
		/*
		font-size: calc(100vmin * 10.5 / var(--sp-vw));
		*/
		/*
		top: calc(100vmin * 15 / var(--sp-vw));
		right: calc(100vmin * 18 / var(--sp-vw));
		*/
		position: relative;
		top: calc(100vmin * 2 / var(--sp-vw) * -1);
		right: auto;
	}
	.type-default .oc-single-content__header .p__oc-text .type-ja span {
		display: none !important;
	}
	.type-default .oc-single-content__header .p__oc-text .type-ja strong {
		font-size: calc(100vmin * 28 / var(--sp-vw));
	}
	.type-default .oc-single-content__header:not(.type-customize) .p__text-box {
		margin-top: 90px;
	}
	.type-default .oc-single-content__header:not(.type-customize) .p__title {
		font-size: calc(100vmin * 28 / var(--sp-vw));
}
	.type-default .oc-single-content__header:not(.type-customize) .p__sub-title-wrap {
		margin-top: 10px;
	}
	.type-default .oc-single-content__header:not(.type-customize) .p__sub-title {
		font-size: calc(100vmin * 20 / var(--sp-vw));
	}
	.type-default .oc-single-content__header:not(.type-customize) .p__content-group {
		margin-top: 40px;
	}
	.type-default .oc-single-content__header:not(.type-customize) .p__catch {
		font-size: calc(100vmin * 24 / var(--sp-vw));
	}
	.type-default .oc-single-content__header:not(.type-customize) .p__content p {
		font-size: 18px;
		line-height: 2;
	}
	.type-default .oc-single-content__header:not(.type-customize) .p__content-deco {
		margin-top: 40px;
		gap: 20px;
	}
	.type-head-large .oc-single-content__header .p__bg-group {
		height: 100vh;
	}
	.type-head-large .oc-single-content__header .p__bg-box {
		width: calc(100% - var(--content-margin) * 2 );
		padding-left: calc(var(--content-margin) * 4);
		padding-right: calc(var(--content-margin) * 4);
		min-height: 50vh;
	}
	.type-head-large .oc-single-content__header .p__oc-text {
		gap: 10px;
		font-size: calc(100vmin * 18 / var(--sp-vw));
	}
	.type-head-large .oc-single-content__header .p__oc-text::after,
	.type-head-large .oc-single-content__header .p__oc-text::before {
		min-width: .5em;
		border-top-width: 2px;
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__title {
		font-size: calc(100vmin * 30 / var(--sp-vw));
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__title strong {
		font-size: calc(100vmin * 35 / var(--sp-vw));
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__sub-title-wrap::before {
		min-width: 0;
	}
	.type-head-large .oc-single-content__header .p__bg-box .p__sub-title {
		font-size: calc(100vmin * 32 / var(--sp-vw));
	}
	.type-head-large .oc-single-content__header:not(.type-customize) .p__catch-wrap {
		margin-top: 90px;
		margin-bottom: 0;
	}
	.type-head-large .oc-single-content__header:not(.type-customize) .p__catch {
		padding-bottom: 20px;
	}
	.type-head-large .oc-single-content__header:not(.type-customize) .p__catch-text {
		font-size: 30px;
	}
	.type-head-large .oc-single-content__header:not(.type-customize) .p__content-inner {
		padding-right: calc(var(--content-margin) * 3);
		padding-left: calc(var(--content-margin) * 3);
	}
	.type-head-large .oc-single-content__header:not(.type-customize) .p__catch-wrap + .p__content .p__content-inner {
		margin-top: 30px;
	}
	.type-head-large .oc-single-content__header:not(.type-customize) .p__content p {
		font-size: 18px;
		text-align: left;
		align-items: flex-start;
		line-height: 4;
		    background-image: repeating-linear-gradient(to bottom, var(--color-bg) 0, var(--color-bg) calc(4em - 1px), var(--color-gray03) calc(4em - 1px), var(--color-gray03) 4em), repeating-linear-gradient(to right, var(--color-gray03) 0, var(--color-gray03) 5px, var(--color-bg) 5px, var(--color-bg) 14px);
    background-blend-mode: lighten;
		background-position: 0 2.9em;
	}
}


/* 専攻別：こんな人におすすめ！ */
.oc-single__course-intro {
	position: relative;
	z-index: 1;
	padding-top: 90px;
	padding-bottom: 90px;
}
.oc-single__course-intro::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-color: var(--color-main-light);
}
.oc-single__course-intro[data-color]::before {
	opacity: .08;
}
.oc-single__course-intro[data-color="red"]::before {
	background-color: var(--color-red);
}
.oc-single__course-intro[data-color="blue"]::before {
	background-color: var(--color-blue);
}
.oc-single__course-intro[data-color="violet"]::before {
	background-color: var(--color-violet);
}
.oc-single__course-intro[data-color="green"]::before {
	background-color: var(--color-green);
}
.oc-single__course-intro[data-color="orange"]::before {
	background-color: var(--color-orange);
}
.oc-single__course-intro[data-color="pink"]::before {
	background-color: var(--color-pink);
}
.oc-single__course-intro .p__inner {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__course-intro .p__main {
	background-color: var(--color-font-r);
	padding: 100px 80px;
	border-radius: 20px;
}
.oc-single__course-intro .p__title {
	font-size: 80px;
	font-weight: 700;
	color: var(--color-main);
	text-align: center;
	letter-spacing: 0;
}
.oc-single__course-intro[data-color="red"] .p__title {
	color: var(--color-red);
}
.oc-single__course-intro[data-color="blue"] .p__title {
	color: var(--color-blue);
}
.oc-single__course-intro[data-color="violet"] .p__title {
	color: var(--color-violet);
}
.oc-single__course-intro[data-color="green"] .p__title {
	color: var(--color-green);
}
.oc-single__course-intro[data-color="orange"] .p__title {
	color: var(--color-orange);
}
.oc-single__course-intro[data-color="pink"] .p__title {
	color: var(--color-pink);
}
.oc-single__course-intro .p__list-wrap {
	margin-top: 80px;
}
.oc-single__course-intro .p__list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 50px 50px;
}
.oc-single__course-intro .p__list li {
	position: relative;
	font-size: 34px;
	padding-left: 60px;
	letter-spacing: 0;
	font-weight: 600;
}
.oc-single__course-intro .p__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 40px;
	height: 1.6em;
	background-image: url(../img/check-icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.oc-single__course-intro[data-color] li::before {
	background-image: none !important;
	mask-image: url(../img/check-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
}
.oc-single__course-intro[data-color="red"] li::before {
	background-color: var(--color-red);
}
.oc-single__course-intro[data-color="blue"] li::before {
	background-color: var(--color-blue);
}
.oc-single__course-intro[data-color="violet"] li::before {
	background-color: var(--color-violet);
}
.oc-single__course-intro[data-color="green"] li::before {
	background-color: var(--color-green);
}
.oc-single__course-intro[data-color="orange"] li::before {
	background-color: var(--color-orange);
}
.oc-single__course-intro[data-color="pink"] li::before {
	background-color: var(--color-pink);
}
@media (max-width: 1024px) {
	.oc-single__course-intro .p__title {
		font-size: 60px;
	}
	.oc-single__course-intro .p__list li {
		font-size: 30px;
	}
}
@media (max-width: 640px) {
	.oc-single__course-intro .p__title {
		font-size: 30px;
	}
	.oc-single__course-intro .p__main {
		padding: 60px 10px;
	}
	.oc-single__course-intro .p__list {
		max-width: 100%;
		width: max-content;
		grid-template-columns: 1fr;
		margin-inline: auto;
	}
	.oc-single__course-intro .p__list {
		grid-template-columns: 1fr;
		gap: 20px;
		padding-right: 30px;
		padding-left: 30px;
	}
	.oc-single__course-intro .p__list li {
		font-size: 22px;
		padding-left: 50px;
	}
	.oc-single__course-intro .p__list li::before {
		width: 30px;
	}
}


/* 特別体験メニュー・学科ごとの体験実習 */
.oc-single__activity {
	background-color: var(--color-main);
	padding-top: 90px;
	padding-bottom: 180px;
}
.oc-single__activity .p__inner {
	max-width: calc(var(--content-lp-oc-width-lg) + var(--content-margin) * 2);
	width: 100%;
	height: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__activity .p__title {
	color: var(--color-font-r);
	font-size: 80px;
	text-align: center;
	letter-spacing: 0;
}
.oc-single__activity .p__h-desc {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 10px;
}
.oc-single__activity .p__h-desc p {
	color: var(--color-font-r);
	font-size: 28px;
}
.oc-single__activity .p__main {
	margin-top: 80px;
	max-width: calc(var(--content-lp-oc-width-md) + var(--content-margin) * 2);
	margin-inline: auto;
}
.oc-single__activity.type-all-oc .p__main {
	max-width: none !important;
}
@media (max-width: 1024px) {
	.oc-single__activity .p__title {
		font-size: 60px;
	}
	.oc-single__activity .p__h-desc p {
		font-size: 24px;
	}
}
@media (max-width: 640px) {
	.oc-single__activity {
		padding-bottom: 90px;
	}
	.oc-single__activity .p__title {
		font-size: 40px;
	}
	.type-default .oc-single__activity .p__title {
		font-size: 36px;
	}
	.oc-single__activity .p__h-desc p {
		font-size: 16px;
	}
	.oc-single__activity .p__main {
		margin-top: 60px;
	}
}


/* 専攻別：特別体験メニュー */
.oc-single__activity .p-sec__box {
	border-radius: 20px;
	overflow: hidden;
	background-color: var(--color-font-r);
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	width: 100%;
	align-items: center;
	gap: 40px;
	padding-bottom: 50px;
}
.oc-single__activity .p-sec__slider-group,
.oc-single__activity .p-sec__image {
	order: -1;
	width: 100%;
}
.oc-single__activity .p-sec__image img {
	user-select: none;
	width: 100%;
	max-width: none;
}
.oc-single__activity .p-sec__title {
	font-size: 40px;
	color: var(--color-main);
	letter-spacing: 0;
	font-weight: 600;
	padding-right: 50px;
	padding-left: 50px;
}
.oc-single__activity .p-sec__desc {
	padding-right: 50px;
	padding-left: 50px;
}
.oc-single__activity .p-sec__desc p {
	color: var(--color-font-dark02);
	font-size: 24px;
	font-weight: 600;
}
.oc-single__activity .p-sec__point-group {
	margin-top: 32px;
}
.oc-single__activity .p-sec__point {
	display: flex;
	gap: 50px;
	background-color: var(--color-font-r);
	border-radius: 20px;
	padding: 32px 50px;
}
.oc-single__activity .p-sec__point-image {
	flex-shrink: 0;
	width: 360px;
}
.oc-single__activity .p-sec__point-image img {
	user-select: none;
}
.oc-single__activity .p-sec__point-text-box {
	flex-grow: 1;
	align-self: center;
	color: var(--color-font-dark02);
}
.oc-single__activity .p-sec__point-group .p-sec__point:nth-of-type(even) .p-sec__point-text-box {
	order: -1;
}
.oc-single__activity .p-sec__point-desc p {
	font-size: 24px;
	font-weight: 600;
}
.oc-single__activity .p-sec__point + .p-sec__point {
	margin-top: 32px;
}
@media (max-width: 640px) {
	.oc-single__activity .p-sec__box {
		gap: 20px;
	}
	.oc-single__activity .p-sec__title {
		font-size: 24px;
		padding-left: 40px;
		padding-right: 40px;
	}
	.oc-single__activity .p-sec__desc {
		padding-left: 40px;
		padding-right: 40px;
	}
	.oc-single__activity .p-sec__desc p {
		font-size: 16px;
	}
	.oc-single__activity .p-sec__point {
		flex-direction: column;
		padding: 20px 30px;
		gap: 20px;
		padding-bottom: 50px;
	}
	.oc-single__activity .p-sec__point-image {
		width: 100%;
	}
	.oc-single__activity .p-sec__point-text-box {
		order: revert !important;
	}
	.oc-single__activity .p-sec__point-desc p {
		font-size: 20px;
	}
}


/* オープンキャンパス全般バージョン：学科ごとの体験実習 */
.oc-single__activity .p__course-group {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 90px 160px;
}
.oc-single__activity .p-course {
	display: flex;
	flex-direction: column;
	background-color: var(--color-font-r);
	border-radius: 20px;
	overflow: hidden;
	border-top: solid 20px var(--color-main-light);
	padding-bottom: 70px;
}
.oc-single__activity .p-course[data-color="red"] {
	border-top-color: var(--color-red);
}
.oc-single__activity .p-course[data-color="blue"] {
	border-top-color: var(--color-blue);
}
.oc-single__activity .p-course[data-color="violet"] {
	border-top-color: var(--color-violet);
}
.oc-single__activity .p-course[data-color="green"] {
	border-top-color: var(--color-green);
}
.oc-single__activity .p-course[data-color="orange"] {
	border-top-color: var(--color-orange);
}
.oc-single__activity .p-course[data-color="pink"] {
	border-top-color: var(--color-pink);
}
.oc-single__activity .p-course__box {
	display: flex;
	flex-direction: column;
}
.oc-single__activity .p-course__image {
	order: -1;
}
.oc-single__activity .p-course__image img {
	user-select: none;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.oc-single__activity .p-course__title-group {
	position: relative;
	padding-top: 55px;
	padding-left: 40px;
	padding-right: 40px;
	display: flex;
	flex-direction: column;
}
.oc-single__activity .p-course__title {
	font-size: 26px;
	letter-spacing: 0;
	margin-top: 10px;
}
.oc-single__activity .p-course__title-group p {
	order: -1;
	font-size: 32px;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--color-main);
	line-height: 1.2;
}
.oc-single__activity .p-course[data-color="red"] .p-course__title-group p {
	color: var(--color-red);
}
.oc-single__activity .p-course[data-color="blue"] .p-course__title-group p {
	color: var(--color-blue);
}
.oc-single__activity .p-course[data-color="violet"] .p-course__title-group p {
	color: var(--color-violet);
}
.oc-single__activity .p-course[data-color="green"] .p-course__title-group p {
	color: var(--color-green);
}
.oc-single__activity .p-course[data-color="orange"] .p-course__title-group p {
	color: var(--color-orange);
}
.oc-single__activity .p-course[data-color="pink"] .p-course__title-group p {
	color: var(--color-pink);
}
.oc-single__activity .p-course__title-group p i {
	font-style: normal;
	position: absolute;
	left: 40px;
	top: -40px;
	width: 80px;
	height: 80px;
	background-color: var(--color-main);
	border-radius: 100vmin;
	overflow: hidden;
}
.oc-single__activity .p-course[data-color="red"] .p-course__title-group p i {
	background-color: var(--color-red);
}
.oc-single__activity .p-course[data-color="blue"] .p-course__title-group p i {
	background-color: var(--color-blue);
}
.oc-single__activity .p-course[data-color="violet"] .p-course__title-group p i {
	background-color: var(--color-violet);
}
.oc-single__activity .p-course[data-color="green"] .p-course__title-group p i {
	background-color: var(--color-green);
}
.oc-single__activity .p-course[data-color="orange"] .p-course__title-group p i {
	background-color: var(--color-orange);
}
.oc-single__activity .p-course[data-color="pink"] .p-course__title-group p i {
	background-color: var(--color-pink);
}
.oc-single__activity .p-course__desc {
	margin-top: 40px;
	padding-left: 40px;
	padding-right: 40px;
}
.oc-single__activity .p-course__desc p {
	font-size: 22px;
}
.oc-single__activity .p-course__check {
	margin-top: 40px;
	padding-left: 40px;
	padding-right: 40px;
}
.oc-single__activity .p-course__check-title {
	font-weight: 600;
	font-size: 22px;
	letter-spacing: 0;
	position: relative;
	padding-left: 60px;
	min-height: 43px;
	display: flex;
	align-items: center;
}
.oc-single__activity .p-course__check-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 42.5px;
	height: 42.5px;
	background-image: url(../img/user-icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.oc-single__activity .p-course[data-color] .p-course__check-title::before {
	background-image: none !important;
	mask-image: url(../img/user-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
}
.oc-single__activity .p-course[data-color="red"] .p-course__check-title::before {
	background-color: var(--color-red);
}
.oc-single__activity .p-course[data-color="blue"] .p-course__check-title::before {
	background-color: var(--color-blue);
}
.oc-single__activity .p-course[data-color="violet"] .p-course__check-title::before {
	background-color: var(--color-violet);
}
.oc-single__activity .p-course[data-color="green"] .p-course__check-title::before {
	background-color: var(--color-green);
}
.oc-single__activity .p-course[data-color="orange"] .p-course__check-title::before {
	background-color: var(--color-orange);
}
.oc-single__activity .p-course[data-color="pink"] .p-course__check-title::before {
	background-color: var(--color-pink);
}
.oc-single__activity .p-course__check ul {
	list-style: none !important;
	margin-top: 25px;
}
.oc-single__activity .p-course__check ul li {
	position: relative;
	padding-left: 35px;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0;
}
.oc-single__activity .p-course__check ul li + li {
	margin-top: 15px;
}
.oc-single__activity .p-course__check ul li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 1.6em;
	background-image: url(../img/check-icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.oc-single__activity .p-course[data-color] .p-course__check ul li::before {
	background-image: none !important;
	mask-image: url(../img/check-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
}
.oc-single__activity .p-course[data-color="red"] .p-course__check ul li::before {
	background-color: var(--color-red);
}
.oc-single__activity .p-course[data-color="blue"] .p-course__check ul li::before {
	background-color: var(--color-blue);
}
.oc-single__activity .p-course[data-color="violet"] .p-course__check ul li::before {
	background-color: var(--color-violet);
}
.oc-single__activity .p-course[data-color="green"] .p-course__check ul li::before {
	background-color: var(--color-green);
}
.oc-single__activity .p-course[data-color="orange"] .p-course__check ul li::before {
	background-color: var(--color-orange);
}
.oc-single__activity .p-course[data-color="pink"] .p-course__check ul li::before {
	background-color: var(--color-pink);
}
@media (max-width: 1024px) {
	.oc-single__activity .p__course-group {
		gap: 40px 60px;
	}
}
@media (max-width: 640px) {
	.oc-single__activity .p__course-group {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.oc-single__activity .p-course {
		padding-bottom: 50px;
	}
	.oc-single__activity .p-course__title-group {
		padding-top: 45px;
	}
	.oc-single__activity .p-course__title {
		font-size: 22px;
	}
	.oc-single__activity .p-course[data-color="red"] .p-course__title-group p {
		font-size: 22px;
	}
	.oc-single__activity .p-course__title-group p i {
		top: -30px;
		width: 60px;
		height: 60px;
	}
	.oc-single__activity .p-course__desc {
		margin-top: 20px;
	}
	.oc-single__activity .p-course__desc p {
		font-size: 18px;
	}
	.oc-single__activity .p-course__check {
		margin-top: 20px;
	}
	.oc-single__activity .p-course__check-title {
		padding-left: 50px;
		min-height: 30px;
	}
	.oc-single__activity .p-course__check-title::before {
		width: 32.5px;
    height: 32.5px;
	}
	.oc-single__activity .p-course__check ul li {
		font-size: 16px;
		padding-left: 25px;
	}
	.oc-single__activity .p-course__check ul li + li {
		margin-top: 10px;
	}
	.oc-single__activity .p-course__check ul li::before {
		width: 18px;
	}
}


/* オープンキャンパス追従 */
.oc-single__date-pl {
	position: fixed;
	z-index: 1000;
	right: 40px;
	bottom: 40px;
}
.oc-single__date-pl a {
	width: 180px;
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: var(--grad-lp-oc-date-fixed);
	border-radius: 100vmin;
	text-decoration: none;
	color: var(--color-main);
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	box-sizing: border-box;
	border: solid 6px var(--color-font-r);
	line-height: 1.8;
}
.oc-single__date-pl a:hover {
	opacity: .8;
}
.oc-single__date-pl a strong {
	font-weight: inherit;
	font-size: 24px;
	line-height: 1.2;
}
@media screen and (min-width: 1025px) and (min-height: 870px) {
	.oc-single__date-pl {
		bottom: auto;
		top: 650px;
	}
}
@media (max-width: 640px) {
	.oc-single__date-pl {
		right: auto;
		left: 0;
		bottom: 0;
		width: 100%;
	}
	.oc-single__date-pl a {
		width: 100%;
		height: auto;
		border-radius: 0;
		border: none;
		border-top: solid 2px var(--color-font-r);
		padding: 10px var(--content-margin);
		min-height: 80px;
	}
	.oc-single__date-pl a > span > br {
		display: none !important;
	}
	.oc-single__date-pl a strong br {
		display: none !important;
	}
}


/* オープンキャンパス：開催日 */
.oc-single__date {
	padding-top: 160px;
	padding-bottom: 90px;
}
.oc-single__date .p__inner {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__date .p__title-group {
	display: flex;
	flex-direction: column;
	gap: 40px;
}
.oc-single__date .p__title-group p {
	order: -1;
	font-size: 50px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0;
	text-align: center;
}
.oc-single__date .p__title-group p strong {
	font-weight: inherit;
	color: var(--color-pickup);
}
.oc-single__date .p__title-group p i {
	width: 55px;
	font-style: normal;
	position: relative;
}
.oc-single__date .p__title-group p i::before {
	content: '';
	position: absolute;
	left: calc(50% + 25px);
	bottom: 20px;
	width: 3px;
	height: 80px;
	background-color: var(--color-pickup);
	border-radius: 100vmin;
	transform: translateX(-50%);
	rotate: -20deg;
}
.oc-single__date .p__title-group p i::after {
	content: '';
	position: absolute;
	left: calc(50% + 8px);
	bottom: 8px;
	width: 3px;
	height: 50px;
	background-color: var(--color-pickup);
	border-radius: 100vmin;
	transform: translateX(-50%);
	rotate: -40deg;
}
.oc-single__date .p__title-group p i:first-of-type {
	margin-right: 35px;
}
.oc-single__date .p__title-group p i:last-of-type {
	margin-left: 30px;
}
.oc-single__date .p__title-group p i:last-of-type::before {
	rotate: 20deg;
	left: calc(50% - 25px);
}
.oc-single__date .p__title-group p i:last-of-type::after {
	rotate: 40deg;
	left: calc(50% - 8px);
}
.oc-single__date .p__title {
	font-size: 32px;
	text-align: center;
	position: relative;
	max-width: 100%;
	width: max-content;
	margin-inline: auto;
	border-bottom: solid 4px var(--color-accent);
	padding-bottom: 5px;
	letter-spacing: 0;
}
.oc-single__date .p__date {
	text-align: center;
	letter-spacing: 0;
	color: var(--color-main);
	margin-top: 20px;
	display: flex;
	align-items: center;
	flex-direction: column;
}
.oc-single__date .p__date {
	font-size: 80px;
	letter-spacing: 0;
	font-weight: 700;
}
.oc-single__date .p__date > span {
	background-image: linear-gradient(transparent 80%, var(--color-accent) 80%);
	line-height: 1.2;
	padding-left: 10px;
	padding-right: 10px;
	margin-top: 20px;
}
.oc-single__date .p__date strong {
	font-size: 100px;
	line-height: 1.2;
}
.oc-single__date .p__date strong em {
	font-style: normal;
	font-size: 160px;
}
.oc-single__date .p__button {
	margin-top: 90px;
}
.oc-single__date .p__button a {
	max-width: 1080px;
	position: relative;
	display: flex;
	text-decoration: none;
	width: 100%;
	background-color: var(--color-pickup);
	color: var(--color-font-r);
	font-size: 50px;
	padding: 30px 60px 35px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0;
	border: solid 4px var(--color-pickup);
	align-items: center;
	justify-content: center;
	margin-inline: auto;
}
.oc-single__date .p__button a:hover {
	background-color: var(--color-font-r);
	color: var(--color-pickup);
}
.oc-single__date .p__button a i {
	font-style: normal;
	margin-top: 4px;
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	margin-left: 45px;
	position: relative;
	z-index: 1;
}
.oc-single__date .p__button a i::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-pickup);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: 13px auto;
	mask-position: center center;
	z-index: 1;
}
.oc-single__date .p__button a:hover i::before {
	background-color: var(--color-font-r);
}
.oc-single__date .p__button a i::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 100vmin;
	background-color: var(--color-font-r);
	z-index: -1;
}
.oc-single__date .p__button a:hover i::after {
	background-color: var(--color-pickup);
}
.oc-single__date .p__nodate {
	text-align: center;
	margin-top: 40px;
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-bottom: 70px;
}
.oc-single__date .p__nodate p {
	letter-spacing: 0;
	font-size: 24px;
}
.oc-single__date .oc-singlet__oc-close {
	margin-bottom: 70px;
	margin-top: 70px;
}
.oc-single__date .p__hogosya {
	margin-top: 90px;
	background-color: var(--color-lp-oc-blue-light);
	border-radius: 20px;
	padding: 50px 30px;
}
.oc-single__date .p__hogosya-title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	font-size: 44px;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--color-lp-oc-blue02);
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
.oc-single__date .p__hogosya-title::before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	max-width: 580px;
	width: 100%;
	transform: translateX(-50%);
	height: 3px;
	background-image: linear-gradient(to right, var(--color-lp-oc-blue02), var(--color-lp-oc-blue02) 5px, transparent 5px, transparent 12px);
	background-size: 12px 3px;
	background-repeat: repeat-x;
}
.oc-single__date .p__hogosya-title i {
	font-style: normal;
	margin-right: 30px;
}
.oc-single__date .p__hogosya-desc-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.oc-single__date .p__hogosya-desc p {
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 0;
}
@media (max-width: 1024px) {
	.oc-single__date .p__date {
		font-size: 60px;
	}
	.oc-single__date .p__date strong {
		font-size: 80px;
	}
	.oc-single__date .p__date strong em {
		font-size: 140px;
	}
	.oc-single__date .p__button a {
		font-size: 40px;
	}
	.oc-single__date .p__hogosya-title {
		font-size: 34px;
	}
}
@media (max-width: 640px) {
	.oc-single__date {
		padding-top: 90px;
	}
	.oc-single__date .p__title-group p {
		font-size: calc(100vmin * 20 / var(--sp-vw));
	}
	.oc-single__date .p__title-group p i {
		width: calc(100vmin * 20 / var(--sp-vw));
	}
	.oc-single__date .p__title-group p i:first-of-type {
		margin-right: calc(100vmin * 15 / var(--sp-vw));
	}
	.oc-single__date .p__title-group p i:last-of-type {
		margin-left: calc(100vmin * 12 / var(--sp-vw));
	}
	.oc-single__date .p__title-group p i::before {
		bottom: calc(100vmin * 3 / var(--sp-vw));
		height: calc(100vmin * 60 / var(--sp-vw));
		left: calc(50% + 100vmin * 10 / var(--sp-vw));
	}
	.oc-single__date .p__title-group p i::after {
		bottom: calc(100vmin * -2 / var(--sp-vw));
		height: calc(100vmin * 30 / var(--sp-vw));
		left: calc(50% + 100vmin * 2 / var(--sp-vw));
	}
	.oc-single__date .p__title-group p i:last-of-type::before {
		left: calc(50% + 100vmin * -8 / var(--sp-vw));
	}
	.oc-single__date .p__title-group p i:last-of-type::after {
		left: calc(50% + 100vmin * -1 / var(--sp-vw));
		bottom: calc(100vmin * -4 / var(--sp-vw));
	}
	.oc-single__date .p__title {
		font-size: calc(100vmin * 22 / var(--sp-vw));
	}
	.oc-single__date .p__date {
		font-size: calc(100vmin * 30 / var(--sp-vw));
	}
	.oc-single__date .p__date strong {
		font-size: calc(100vmin * 40 / var(--sp-vw));
	}
	.oc-single__date .p__date strong em {
		font-size: calc(100vmin * 60 / var(--sp-vw));
	}
	.oc-single__date .p__button {
		margin-top: 60px;
	}
	.oc-single__date .p__button a {
		font-size: 24px;
		padding: 20px 20px 25px;
	}
	.oc-single__date .p__button a i {
		width: 30px;
		height: 30px;
		margin-left: 20px;
	}
	.oc-single__date .p__button a i::before {
		mask-size: 10px auto;
	}
	.oc-single__date .p__hogosya-title {
		font-size: 24px;
		flex-direction: column;
		text-align: center;
		padding-bottom: 30px;
	}
	.oc-single__date .p__hogosya-title i {
		margin-right: 0;
		margin-bottom: 10px;
	}
	.oc-single__date .p__hogosya-desc p {
		font-size: 20px;
	}
}


/* オープンキャンパス：開催スケジュール */
.oc-single__schedule {
	background-color: var(--color-main);
	padding-top: 170px;
	padding-bottom: 90px;
	position: relative;
	overflow: hidden;
}
.oc-single__schedule .p__inner {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__schedule::before {
	content: '';
	position: absolute;
	left: 50%;
	top: -2px;
	height: 82px;
	width: 1920px;
	transform: translateX(-50%);
	background-color: var(--color-font-r);
	clip-path: polygon(0 0, 100% 0, 100% 2px, 50% 100%, 0 2px);
}
.oc-single__schedule .p__title {
	font-size: 80px;
	text-align: center;
	position: relative;
	max-width: 100%;
	width: max-content;
	margin-inline: auto;
	border-bottom: solid 4px var(--color-accent);
	padding-bottom: 5px;
	letter-spacing: 0;
	color: var(--color-font-r);
}
.oc-single__schedule .p__main {
	margin-top: 80px;
}
.oc-single__schedule .p__schedule-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 80px;
}
.oc-single__schedule .p__schedule-list li {
	display: flex;
	width: 100%;
}
.oc-single__schedule .p__schedule-list-box {
	background-color: var(--color-font-r);
	color: var(--color-main);
	display: flex;
	border-radius: 20px;
	padding: 35px;
	align-items: center;
	gap: 30px;
	width: 100%;
	text-decoration: none;
	position: relative;
}
.oc-single__schedule a.p__schedule-list-box {
	padding: 35px 65px 35px 35px;
}
.oc-single__schedule a.p__schedule-list-box:hover {
	opacity: .8;
}
.oc-single__schedule a.p__schedule-list-box::before {
	content: '';
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
	width: 13px;
	height: 100%;
	background-color: var(--color-pickup);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
	z-index: 1;
}
.oc-single__schedule .p__schedule-list li i {
	font-style: normal;
	width: 140px;
	height: 140px;
	background-color: var(--color-lp-oc-blue-light);
	border-radius: 100vmin;
	flex-shrink: 0;
}
.oc-single__schedule .p__schedule-list-text {
	display: flex;
	flex-direction: column;
	width: 100%;
	font-weight: 500;
}
.oc-single__schedule .p__schedule-list-text > strong {
	font-weight: inherit;
	font-size: 34px;
}
.oc-single__schedule .p__schedule-list-text > span {
	font-size: 30px;
	position: relative;
	padding-top: 10px;
	margin-top: 10px;
}
.oc-single__schedule .p__schedule-list-text > span::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	max-width: 580px;
	width: 100%;
	transform: translateX(-50%);
	height: 3px;
	background-image: linear-gradient(to right, var(--color-lp-oc-blue02), var(--color-lp-oc-blue02) 5px, transparent 5px, transparent 12px);
	background-size: 12px 3px;
	background-repeat: repeat-x;
}
@media (min-width: 1920px) {
	.oc-single__schedule::before {
		width: 100%;
	}
}
@media (max-width: 1480px) {
	.oc-single__schedule .p__schedule-list {
		gap: 40px;
	}
	.oc-single__schedule .p__schedule-list-text > strong {
		font-size: 30px;
	}
	.oc-single__schedule .p__schedule-list-text > span {
		font-size: 26px;
	}
}
@media (max-width: 1024px) {
	.oc-single__schedule .p__title {
		font-size: 60px;
	}
}
@media (min-width: 641px) {
	.oc-single__schedule .p__schedule-list-text > strong br {
		display: none;
	}
}
@media (max-width: 640px) {
	.oc-single__schedule {
		padding-top: 120px;
	}
	.oc-single__schedule::before {
		width: 100%;
		height: 40px;
	}
	.oc-single__schedule .p__title {
		font-size: 40px;
	}
	.oc-single__schedule .p__main {
		margin-top: 60px;
	}
	.oc-single__schedule .p__schedule-list {
		grid-template-columns: 1fr;
	}
	.oc-single__schedule .p__schedule-list-box {
		padding: 20px;
		gap: 20px;
	}
	.oc-single__schedule a.p__schedule-list-box {
		padding: 20px 45px 20px 20px;
	}
	.oc-single__schedule a.p__schedule-list-box::before {
		right: 15px;
	}
	.oc-single__schedule .p__schedule-list li i {
		width: 80px;
		height: 80px;
	}
	.oc-single__schedule .p__schedule-list-text > strong {
		line-height: 1.4;
		font-size: 28px;
	}
	.oc-single__schedule .p__schedule-list-text > span {
		font-size: 20px;
	}
}


/* オープンキャンパス：オンライン個別相談 */
.oc-single__online {
	padding-top: 90px;
	padding-bottom: 90px;
	background-color: var(--color-main-light02);
}
.oc-single__online .p__inner {
	max-width: calc(var(--content-top-mv-width) + var(--content-margin) * 2);
	width: 100%;
	height: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__online .p__h-fukidashi {
	background-color: var(--color-accent);
	min-height: 200px;
	border-radius: 100vmin;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1080px;
	margin-inline: auto;
	font-size: 40px;
	position: relative;
	text-align: center;
	font-weight: 500;
	margin-bottom: 80px;
}
.oc-single__online .p__h-fukidashi::before {
	content: '';
	position: absolute;
	width: 51px;
	height: 47px;
	left: 50%;
	bottom: 2px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background-color: var(--color-accent);
	transform: translate(-50%,100%);
}
.oc-single__online .p__title {
	font-size: 80px;
	font-weight: 700;
	color: var(--color-main);
	text-align: center;
	letter-spacing: 0;
}
.oc-single__online .p__title strong {
	color: var(--color-pickup);
	background-image: linear-gradient(transparent 80%, var(--color-accent) 80%);
}
.oc-single__online .p__box {
	display: grid;
	grid-template-columns: 60% 1fr;
	grid-template-areas: "desc image"
		"point image";
	grid-template-rows: auto 1fr;
	align-items: flex-start;
	gap: 80px 25px;
	margin-top: 40px;
}
.oc-single__online .p__box-desc {
	grid-area: desc;
}
.oc-single__online .p__box-desc p {
	font-size: 27px;
	color: var(--color-main);
}
.oc-single__online .p__box-point {
	grid-area: point;
}
.oc-single__online .p__box-point ul {
	list-style: none !important;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-template-rows: auto 1fr;
	justify-content: flex-start;
	gap: 30px;
}
.oc-single__online .p__box-point ul li {
	display: flex;
	background-color: var(--color-font-r);
	border-radius: 20px;
	box-shadow: rgba(0,0,0,0.25) 0 5px 6px;
	padding: 40px 25px;
	font-size: 20px;
	font-weight: 500;
	color: var(--color-main);
	line-height: 2;
}
.oc-single__online .p__box-point ul li > div {
	display: flex;
	align-items: center;
	gap: 12px;
}
.oc-single__online .p__box-point ul li i {
	width: 100px;
	height: 100px;
	background-color: var(--color-main-light02);
	border-radius: 100vmin;
	font-style: normal !important;
	line-height: 1;
	flex-shrink: 0;
}
.oc-single__online .p__box-image {
	grid-area: image;
}
.oc-single__online .p__box-image img {
	user-select: none !important;
	border-radius: 20px;
}
.oc-single__online .p__button-group {
	margin-top: 90px;
}
.oc-single__online .p__button a {
	max-width: 1080px;
	position: relative;
	display: flex;
	text-decoration: none;
	width: 100%;
	background-color: var(--color-main);
	color: var(--color-font-r);
	font-size: 50px;
	padding: 30px 60px 35px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0;
	border: solid 4px var(--color-main);
	align-items: center;
	justify-content: center;
	margin-inline: auto;
}
.oc-single__online .p__button a:hover {
	background-color: var(--color-font-r);
	color: var(--color-main);
}
.oc-single__online .p__button a i {
	font-style: normal;
	margin-top: 4px;
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	margin-left: 45px;
	position: relative;
	z-index: 1;
}
.oc-single__online .p__button a i::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: 13px auto;
	mask-position: center center;
	z-index: 1;
}
.oc-single__online .p__button a:hover i::before {
	background-color: var(--color-font-r);
}
.oc-single__online .p__button a i::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 100vmin;
	background-color: var(--color-font-r);
	z-index: -1;
}
.oc-single__online .p__button a:hover i::after {
	background-color: var(--color-main);
}
.oc-single__online .p__attention {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	margin-top: 50px;
}
.oc-single__online .p__attention ul {
	list-style: none;
	font-size: 20px;
}
.oc-single__online .p__attention ul li {
	position: relative;
	padding-left: 1em;
}
.oc-single__online .p__attention ul li::before {
	content: '※';
	position: absolute;
	left: 0;
	top: 0;
}
@media (max-width: 1024px) {
	.oc-single__online .p__h-fukidashi {
		font-size: 30px;
		min-height: 180px;
	}
	.oc-single__online .p__title {
		font-size: 60px;
	}
	.oc-single__online .p__box {
    grid-template-columns: 600px 1fr;
		gap: 80px 40px;
	}
	.oc-single__online .p__box-desc p {
		font-size: 24px;
	}
	.oc-single__online .p__button a {
		font-size: 40px;
	}
	.oc-single__online .p__box-point ul {
		    grid-template-columns: 1fr;
	}
	.oc-single__online .p__box-point ul li i {
		width: 80px;
		height: 80px;
	}
}
@media (max-width: 1024px) and (min-width: 641px) {
	.oc-single__online .p__box-point ul li > div br {
		display: none;
	}
	.oc-single__online .p__box-point ul li {
		font-size: 22px;
	}
}
@media (max-width: 640px) {
	.oc-single__online .p__h-fukidashi {
		font-size: 20px;
		min-height: 140px;
		margin-bottom: 40px;
	}
	.oc-single__online .p__h-fukidashi::before {
		width: 31px;
		height: 27px;
	}
	.oc-single__online .p__title {
		font-size: 30px;
	}
	.oc-single__online .p__box {
		grid-template-columns: 1fr;
		grid-template-areas: "image"
			"desc"
			"point";
		grid-template-rows: 1fr auto auto;
		gap: 40px;
	}
	.oc-single__online .p__box-desc p {
		font-size: 20px;
	}
	.oc-single__online .p__box-point ul li {
		font-size: 18px;
	}
	.oc-single__online .p__button-group {
		margin-top: 60px;
	}
	.oc-single__online .p__button a {
		padding: 20px 20px 25px;
		font-size: 24px;
	}
	.oc-single__online .p__button a i {
		width: 30px;
		height: 30px;
		margin-left: 20px;
	}
	.oc-single__online .p__button a i::before {
		mask-size: 10px auto;
	}
	.oc-single__online .p__attention ul {
		font-size: 18px;
	}
}


/* オープンキャンパス：よくある質問 */
.oc-single__qa {
	padding-top: 90px;
	padding-bottom: 90px;
}
.oc-single__qa .p__inner {
	max-width: calc(var(--content-top-mv-width) + var(--content-margin) * 2);
	width: 100%;
	height: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__qa .p__title {
	font-size: 80px;
	font-weight: 700;
	color: var(--color-main);
	text-align: center;
	letter-spacing: 0;
}
.oc-single__qa .p__main {
	margin-top: 80px;
}
.oc-single__qa .p__open-list {
	border-top: solid 3px var(--color-main-light03);
	border-bottom: solid 3px var(--color-main-light03);
}
.oc-single__qa .p__open-list > div + div {
	border-top: solid 3px var(--color-main-light03);
}
.oc-single__qa .p__open-list > div:not([class]) dd {
	display: none;
}
.oc-single__qa .p__open-list > div.first dd {
	display: block;
}
.oc-single__qa .p__open-list dt {
	padding: 40px 60px 40px 70px;
	cursor: pointer;
	position: relative;
	min-height: 140px;
	display: flex;
	align-items: center;
	font-weight: 700;
	color: var(--color-font-dark02);
	font-size: 32px;
}
.oc-single__qa .p__open-list dt::after {
	content: '';
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%) rotate(90deg);
	width: 13px;
	height: 25px;
	background-color: var(--color-pickup);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
}
.oc-single__qa .p__open-list > div.open dt::after {
	transform: translateY(-50%) rotate(270deg);
	top: 50%;
}
.oc-single__qa .p__open-list dt i {
	font-style: normal;
	position: absolute;
	left: 0;
	top: 1.4em;
	color: var(--color-font-r);
	display: grid;
	place-items: center;
	font-size: 32px;
	font-family: var(--font-sub);
	font-weight: 700;
	width: 50px;
	height: 50px;
	background-color: var(--color-main);
	border-radius: 100vmin;
}
.oc-single__qa .p__open-list dt i::before {
	content: 'Q';
}
.oc-single__qa .p__open-list dd {
	margin-bottom: 40px;
	font-size: 20px;
}
.oc-single__qa .p__open-list dd [data-answer-wrap] > div {
	position: relative;
	padding-left: 70px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.oc-single__qa .p__open-list dd [data-answer-wrap] > div .answer-icon {
	font-style: normal;
	position: absolute;
	left: 0;
	top: 30px;
	transform: translateY(-50%);
	color: var(--color-pickup);
	display: grid;
	place-items: center;
	font-size: 32px;
	font-family: var(--font-sub);
	font-weight: 700;
	width: 50px;
	height: 50px;
	background-color: var(--color-main-light02);
	border-radius: 100vmin;
}
.oc-single__qa .p__open-list dd [data-answer-wrap] > div .answer-icon::before {
	content: 'A';
}
.oc-single__qa .p__open-list dd p + p {
	margin-top: 40px;
}
.oc-single__qa .p__open-list__button-link {
	position: relative;
	display: flex;
	text-decoration: none;
	max-width: 420px;
	width: 100%;
	color: var(--color-main);
	font-size: 25px;
	padding: 10px 20px 15px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0;
	border: solid 4px var(--color-main);
	align-items: center;
	justify-content: center;
}
.oc-single__qa .p__open-list__button-link:hover {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.oc-single__qa .p__open-list__button-link i {
	font-style: normal;
	margin-top: 4px;
	width: 13px;
	height: 25px;
	background-color: var(--color-main);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
	flex-shrink: 0;
	margin-left: 30px;
}
.oc-single__qa .p__open-list__button-link:hover i {
	background-color: var(--color-font-r);
}
.oc-single__qa .p__button {
	margin-top: 80px;
}
.oc-single__qa .p__button a {
	position: relative;
	display: flex;
	text-decoration: none;
	max-width: 420px;
	width: 100%;
	color: var(--color-main);
	font-size: 25px;
	padding: 10px 20px 15px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0;
	border: solid 4px var(--color-main);
	align-items: center;
	justify-content: center;
	margin-inline: auto;
}
.oc-single__qa .p__button a:hover {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.oc-single__qa .p__button a i {
	font-style: normal;
	content: '';
	margin-top: 4px;
	width: 13px;
	height: 25px;
	background-color: var(--color-main);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
	flex-shrink: 0;
	margin-left: 30px;
}
.oc-single__qa .p__button a:hover i {
	background-color: var(--color-font-r);
}
@media (max-width: 1024px) {
	.oc-single__qa .p__title {
		font-size: 60px;
	}
}
@media (max-width: 640px) {
	.oc-single__qa .p__title {
		font-size: 40px;
	}
	.oc-single__qa .p__open-list dt {
		font-size: 22px;
	}
	.oc-single__qa .p__open-list dd {
		font-size: 18px;
	}
	.oc-single__qa .p__open-list__button-link {
		font-size: 22px;
	}
	.oc-single__qa .p__open-list__button-link i {
		margin-left: 20px;
	}
	.oc-single__qa .p__button {
		margin-top: 60px;
	}
	.oc-single__qa .p__button a {
		font-size: 22px;
	}
	.oc-single__qa .p__button a i {
		margin-left: 20px;
	}
}


/* オープンキャンパス：アクセス */
.oc-single__access {
	background-color: var(--color-main);
	padding-top: 90px;
	padding-bottom: 90px;
	color: var(--color-font-r);
}
.oc-single__access .p__inner {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	height: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__access .p__title {
	font-size: 80px;
	text-align: center;
	letter-spacing: 0;
}
.oc-single__access .p__main {
	margin-top: 80px;
}
.oc-single__access .p__access-data {
	margin-top: 80px;
	display: flex;
	max-width: var(--content-lp-oc-width);
	margin-inline: auto;
}
.oc-single__access .p__access-data-item:nth-of-type(1) {
	flex-shrink: 0;
	width: 540px;
}
.oc-single__access .p__access-data-item:nth-of-type(2) {
	flex-grow: 1;
}
.oc-single__access .p__access-data-text p {
	font-size: 30px;
}
.oc-single__access .p__access-data-text p + p {
	margin-top: 60px;
}
.oc-single__access .p__access-data-button {
	display: block;
}
.oc-single__access .p__access-data-button a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	max-width: 800px;
	background-color: var(--color-font-r);
	width: 100%;
	color: var(--color-main);
	font-size: 36px;
	padding: 25px 20px 30px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0;
	padding-right: 55px;
	border: solid 4px var(--color-font-r);
}
.oc-single__access .p__access-data-button a:hover {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.oc-single__access .p__access-data-button a i {
	font-style: normal;
	width: 13px;
	height: 25px;
	background-color: var(--color-main);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
	margin-left: 30px;
}
.oc-single__access .p__access-data-button a:hover i {
	background-color: var(--color-font-r);
}
.oc-single__access .p__access-route {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 80px;
	margin-top: 90px;
	max-width: var(--content-lp-oc-width);
	margin-inline: auto;
}
@media (max-width: 1480px) {
	.oc-single__access .p__access-route {
		gap: 40px;
	}
}
@media (max-width: 1024px) {
	.oc-single__access .p__title {
		font-size: 60px;
	}
	.oc-single__access .p__access-data-item:nth-of-type(1) {
		width: 400px;
	}
	.oc-single__access .p__access-data-button {
		max-width: 600px;
		margin-left: auto;
	}
	.oc-single__access .p__access-data-button a {
		font-size: 28px;
	}
	.oc-single__access .p__access-data-text p {
		font-size: 20px;
	}
}
@media (max-width: 640px) {
	.oc-single__access .p__title {
		font-size: 40px;
	}
	.oc-single__access .p__main {
		margin-top: 60px;
	}
	.oc-single__access .p__access-data {
		flex-direction: column;
		margin-top: 40px;
		align-items: center;
	}
	.oc-single__access .p__access-data-item:nth-of-type(1) {
		max-width: 100%;
		width: max-content;
	}
	.oc-single__access .p__access-data-text p + p {
		margin-top: 20px;
	}
	.oc-single__access .p__access-data-item:nth-of-type(2) {
		width: 100%;
		margin-top: 40px;
	}
	.oc-single__access .p__access-data-button a {
		max-width: 100%;
		font-size: 24px;
		padding: 20px 20px 25px;
	}
	.oc-single__last .p__button-main a i {
		nav-left: 20px;
		width: 10px;
	}
	.oc-single__access .p__access-route {
		grid-template-columns: 1fr;
		margin-top: 60px;
		gap: 0;
	}
}


/* オープンキャンパス：スライダー */
.oc-single__slider {
	margin-top: 90px;
}
.oc-single__slider .p__slider .swiper-wrapper {
	transition-timing-function: linear;
}
.oc-single__slider .p__slider .swiper-slide {
	width: 500px;
	box-sizing: border-box;
	padding-right: 10px;
	padding-left: 10px;
}
.oc-single__slider .p__slider .swiper-slide img {
	max-width: none;
	width: 100%;
	height: auto;
}
@media (max-width: 1024px) {
	.oc-single__slider .p__slider .swiper-slide {
		width: 400px;
	}
}
@media (max-width: 640px) {
	.oc-single__slider .p__slider .swiper-slide {
		width: 280px;
	}
}


/* オープンキャンパス：最後 */
.oc-single__last {
	margin-top: 90px;
	margin-bottom: 180px;
}
.oc-single__last .p__inner {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__last .p__title {
	font-size: 50px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-weight: 700;
	letter-spacing: 0;
	gap: 30px;
}
.oc-single__last .p__title i {
	width: 55px;
	font-style: normal;
	position: relative;
}
.oc-single__last .p__title i::before {
	content: '';
	position: absolute;
	left: calc(50% + 25px);
	bottom: 20px;
	width: 3px;
	height: 80px;
	background-color: var(--color-pickup);
	border-radius: 100vmin;
	transform: translateX(-50%);
	rotate: -20deg;
}
.oc-single__last .p__title i::after {
	content: '';
	position: absolute;
	left: calc(50% + 8px);
	bottom: 8px;
	width: 3px;
	height: 50px;
	background-color: var(--color-pickup);
	border-radius: 100vmin;
	transform: translateX(-50%);
	rotate: -40deg;
}
.oc-single__last .p__title i:first-of-type {
	margin-right: 5px;
}
.oc-single__last .p__title i:last-of-type::before {
	rotate: 20deg;
	left: calc(50% - 25px);
}
.oc-single__last .p__title i:last-of-type::after {
	rotate: 40deg;
	left: calc(50% - 8px);
}
.oc-single__last .p__main {
	margin-top: 80px;
}
.oc-single__last .p__button-main a {
	max-width: 1080px;
	position: relative;
	display: flex;
	text-decoration: none;
	width: 100%;
	background-color: var(--color-main);
	color: var(--color-font-r);
	font-size: 30px;
	padding: 30px 60px 35px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0;
	border: solid 4px var(--color-main);
	align-items: center;
	justify-content: center;
	margin-inline: auto;
}
.oc-single__last .p__button-main a:hover {
	background-color: var(--color-font-r);
	color: var(--color-main);
}
.oc-single__last .p__button-main a i {
	font-style: normal;
	margin-top: 4px;
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	margin-left: 45px;
	position: relative;
	z-index: 1;
}
.oc-single__last .p__button-main a i::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-main);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: 13px auto;
	mask-position: center center;
	z-index: 1;
}
.oc-single__last .p__button-main a:hover i::before {
	background-color: var(--color-font-r);
}
.oc-single__last .p__button-main a i::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 100vmin;
	background-color: var(--color-font-r);
	z-index: -1;
}
.oc-single__last .p__button-main a:hover i::after {
	background-color: var(--color-main);
}
.oc-single__last .p__button-main-text-wrap {
	display: flex;
	flex-direction: column;
}
.oc-single__last .p__button-main-text-wrap > span:first-of-type {
	font-size: 42px;
}
.oc-single__last .p__button-main-text-wrap > span:first-of-type strong {
	color: var(--color-accent);
}
.oc-single__last .p__button-main a:hover .p__button-main-text-wrap > span:first-of-type strong {
	color: var(--color-main);
}
.oc-single__last .p__button-main + .p__button-sub {
	margin-top: 50px;
}
.oc-single__last .p__button-sub {
	list-style: none;
	max-width: 1080px;
	margin-inline: auto;
}
.oc-single__last .p__button-sub li + li {
	margin-top: 50px;
}
.oc-single__last .p__button-sub li a {
	position: relative;
	display: flex;
	text-decoration: none;
	width: 100%;
	background-color: var(--color-font-r);
	color: var(--color-main);
	font-size: 30px;
	padding: 30px 60px 35px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0;
	border: solid 4px var(--color-main);
	align-items: center;
	justify-content: center;
	margin-inline: auto;
}
.oc-single__last .p__button-sub li a:hover {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.oc-single__last .p__button-sub li a i {
	font-style: normal;
	margin-top: 4px;
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	margin-left: 45px;
	position: relative;
	z-index: 1;
}
.oc-single__last .p__button-sub li a i::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-font-r);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: 13px auto;
	mask-position: center center;
	z-index: 1;
}
.oc-single__last .p__button-sub li a:hover i::before {
	background-color: var(--color-main);
}
.oc-single__last .p__button-sub li a i::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 100vmin;
	background-color: var(--color-main);
	z-index: -1;
}
.oc-single__last .p__button-sub li a:hover i::after {
	background-color: var(--color-font-r);
}
.oc-single__last .p__footer {
	margin-top: 90px;
	padding-top: 90px;
	position: relative;
}
.oc-single__last .p__footer::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	max-width: 1350px;
	width: 100%;
	border-top: solid 3px var(--color-main-light03);
}
.oc-single__last .p__f-title-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.oc-single__last .p__f-title {
	font-size: 40px;
	letter-spacing: 0;
}
.oc-single__last .p__f-title strong {
	border-bottom: solid 4px var(--color-accent);
}
.oc-single__last .p__request-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2,1fr);
	margin-top: 70px;
	gap: 150px;
}
.oc-single__last .p__request-list li {
	display: flex;
	width: 100%;
}
.oc-single__last .p__request-list-sec {
	display: flex;
	flex-direction: column;
	border-radius: 20px;
	background-color: var(--color-font-r);
	width: 100%;
	box-shadow: rgba(0,0,0,0.16) 0 5px 6px;
	overflow: hidden;
	gap: 30px;
	padding-bottom: 70px;
}
.oc-single__last .p__request-list-title {
	font-size: 30px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 50px 40px 50px 30px;
	width: 100%;
	gap: 20px;
}
.oc-single__last .p__request-list li:nth-of-type(odd) .p__request-list-title {
	background-color: var(--color-main-light02);
}
.oc-single__last .p__request-list li:nth-of-type(even) .p__request-list-title {
	background-color: var(--color-lp-oc-green-light);
}
.oc-single__last .p__request-list li:nth-of-type(odd) .p__request-list-title i {
	list-style: normal;
	flex-shrink: 0;
}
.oc-single__last .p__request-list-desc {
	padding-left: 40px;
	padding-right: 40px;
	flex-grow: 1;
}
.oc-single__last .p__request-list-desc p {
	text-align: center;
	font-size: 22px;
}
.oc-single__last .p__request-list-button {
	padding-left: 40px;
	padding-right: 40px;
}
.oc-single__last .p__request-list-button a {
	position: relative;
	display: flex;
	text-decoration: none;
	max-width: 420px;
	width: 100%;
	color: var(--color-main);
	font-size: 30px;
	padding: 10px 20px 15px;
	border-radius: 100vmin;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0;
	border: solid 4px var(--color-main);
	align-items: center;
	justify-content: center;
	margin-inline: auto;
}
.oc-single__last .p__request-list-button a:hover {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.oc-single__last .p__request-list-button a i {
	font-style: normal;
	content: '';
	margin-top: 4px;
	width: 13px;
	height: 25px;
	background-color: var(--color-main);
	mask-image: url(../img/arrow01-icon.svg);
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-position: center center;
	flex-shrink: 0;
	margin-left: 30px;
}
.oc-single__last .p__request-list-button a:hover i {
	background-color: var(--color-font-r);
}
@media (max-width: 1024px) {
	.oc-single__last .p__request-list {
		gap: 40px;
	}
	.oc-single__last .p__request-list-title {
		font-size: 24px;
	}
	.oc-single__last .p__request-list .p__request-list-title i {
		width: 80px;
	}
}
@media (max-width: 640px) {
	.oc-single__last {
		margin-bottom: 90px;
	}
	.oc-single__last .p__title {
		font-size: calc(100vmin * 20 / var(--sp-vw));
	}
	.oc-single__last .p__title i {
		width: calc(100vmin * 20 / var(--sp-vw));
	}
	.oc-single__last .p__title i:first-of-type {
		margin-right: calc(100vmin * 15 / var(--sp-vw));
	}
	.oc-single__last .p__title i:last-of-type {
		margin-left: calc(100vmin * 12 / var(--sp-vw));
	}
	.oc-single__last .p__title i::before {
		bottom: calc(100vmin * 3 / var(--sp-vw));
		height: calc(100vmin * 60 / var(--sp-vw));
		left: calc(50% + 100vmin * 10 / var(--sp-vw));
	}
	.oc-single__last .p__title i::after {
		bottom: calc(100vmin * -2 / var(--sp-vw));
		height: calc(100vmin * 30 / var(--sp-vw));
		left: calc(50% + 100vmin * 2 / var(--sp-vw));
	}
	.oc-single__last .p__title i:last-of-type::before {
		left: calc(50% + 100vmin * -8 / var(--sp-vw));
	}
	.oc-single__last .p__title i:last-of-type::after {
		left: calc(50% + 100vmin * -1 / var(--sp-vw));
		bottom: calc(100vmin * -4 / var(--sp-vw));
	}
	.oc-single__last .p__main {
		margin-top: 60px;
	}
	.oc-single__last .p__button-top {
		font-size: 22px;
		font-weight: 600;
		text-align: center;
		margin-bottom: 5px;
	}
	.oc-single__last .p__button-top strong {
		font-weight: inherit;
		color: var(--color-lp-oc-blue02);
	}
	.oc-single__last .p__button-main a {
		font-size: 18px;
		padding: 20px 20px 25px;
	}
	.oc-single__last .p__button-main a i {
		width: 30px;
		height: 30px;
		margin-left: 20px;
	}
	.oc-single__last .p__button-main a i::before {
		mask-size: 10px auto;
	}
	.oc-single__last .p__button-main-text-wrap > span:last-of-type br:not([class*="type-custom"]) {
		display: none !important;
	}
	.oc-single__last .p__button-main + .p__button-sub {
		margin-top: 40px;
	}
	.oc-single__last .p__button-sub li + li {
		margin-top: 40px;
	}
	.oc-single__last .p__button-sub li a {
		font-size: 18px;
		padding: 20px 20px 25px;
	}
	.oc-single__last .p__button-sub li a i::before {
		mask-size: 10px auto;
	}
	.oc-single__last .p__button-sub li a i {
		width: 30px;
		height: 30px;
		margin-left: 20px;
	}
	.oc-single__last .p__footer {
		padding-top: 60px;
		margin-top: 60px;
	}
	.oc-single__last .p__f-title {
		font-size: 30px;
		text-align: center;
	}
	.oc-single__last .p__f-title strong {
		display: inline-block;
	}
	.oc-single__last .p__request-list {
		margin-top: 40px;
		grid-template-columns: 1fr;
	}
	.oc-single__last .p__request-list-title {
		padding: 30px 20px 30px 5px;
		font-size: 22px;
		justify-content: center;
	}
	.oc-single__last .p__request-list-desc p {
		text-align: left;
	}
	.oc-single__last .p__request-list-button a {
		font-size: 18px;
	}
	.oc-single__last .p__request-list-button a i {
		margin-left: 20px;
	}
}



/* オープンキャンパスカスタマイズ：夏のオープンキャンパス */
.oc-single__summer {
	margin-top: 70px;
	padding-bottom: 90px;
}
.oc-single__summer .p__inner {
	max-width: calc(var(--content-lp-oc-mv-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
}
.oc-single__summer .p__title-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}
.oc-single__summer .p__title-group p {
	order: -1;
	color: var(--color-lp-oc-blue-light02);
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0;
}
.oc-single__summer .p__title {
	font-size: 80px;
	color: var(--color-main);
	letter-spacing: 0;
}
.oc-single__summer .p__catch {
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-top: 35px;
	margin-inline: auto;
	width: max-content;
	max-width: 100%;
	min-width: 1100px;
	padding: 10px 15px;
	box-sizing: border-box;
	background-color: var(--color-lp-oc-blue);
	color: var(--color-font-r);
}
.oc-single__summer .p__catch {
	font-size: 52px;
	font-weight: 700;
}
.oc-single__summer .p__box {
	padding-top: 100px;
	position: relative;
	z-index: 1;
	min-height: 600px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.oc-single__summer .p__box-desc p {
	font-size: 24px;
	font-weight: 700;
}
.oc-single__summer .p__box-desc p em {
	font-size: 52px;
	font-style: normal;
	font-weight: inherit;
}
.oc-single__summer .p__box-desc p strong {
	font-size: 52px;
	color: var(--color-lp-oc-blue);
	font-weight: inherit;
}
.oc-single__summer .p__box-bottom {
	margin-top: 25px;
	padding-top: 25px;
	position: relative;
}
.oc-single__summer .p__box-bottom::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background-image: linear-gradient(to right, var(--color-lp-oc-blue02), var(--color-lp-oc-blue02) 5px, transparent 5px, transparent 12px);
	background-size: 12px 3px;
	background-repeat: repeat-x;
}
.oc-single__summer .p__box-bg {
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
	line-height: 0;
}
.oc-single__summer .p__box-bg img {
	user-select: none;
}
.oc-single__summer .p__ao {
	padding: 35px 20px;
	border: solid 5px var(--color-lp-oc-pink);
	border-radius: 20px;
	position: relative;
	z-index: 2;
	background-color: var(--color-font-r);
	margin-right: 15px;
	margin-bottom: 15px;
	box-shadow: var(--color-lp-oc-pink) 15px 15px 0 0;
}
.oc-single__summer .p__ao-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.oc-single__summer .p__ao-title {
	font-size: 42px;
	color: var(--color-lp-oc-pink);
	letter-spacing: 0;
}
.oc-single__summer .p__ao-desc {
	margin-top: 35px;
}
.oc-single__summer .p__ao-desc p {
	font-size: 30px;
	font-weight: 500
}
.oc-single__summer .p__ao-desc strong {
	font-weight: inherit;
	color: var(--color-lp-oc-pink);
}
.oc-single__summer .p__ao-desc a {
	color: var(--color-lp-oc-pink);
	text-decoration: underline;
}
@media (max-width: 1200px) {
	.oc-single__summer .p__catch {
		min-width: 940px;
	}
}
@media (max-width: 1024px) {
	.oc-single__summer .p__title {
		font-size: 60px;
	}
	.oc-single__summer .p__title-group p {
		font-size: 30px;
	}
	.oc-single__summer .p__catch {
		font-size: 42px;
	}
	.oc-single__summer .p__box-desc p em {
		font-size: 42px;
	}
	.oc-single__summer .p__box-desc p strong {
		font-size: 42px;
	}
	.oc-single__summer .p__box-desc p {
		font-size: 20px;
	}
	.oc-single__summer .p__ao-title {
		font-size: 32px;
		color: var(--color-lp-oc-pink);
	}
	.oc-single__summer .p__ao-desc p {
		font-size: 20px;
		font-weight: 500
	}
}
@media (max-width: 640px) {
	.oc-single__summer .p__title {
		font-size: 40px;
	}
	.oc-single__summer .p__title-group p {
		font-size: 20px;
	}
	.oc-single__summer .p__catch {
		font-size: 22px;
		min-width: 0;
	}
	.oc-single__summer .p__box {
		min-height: none;
		padding-top: 60px;
	}
	.oc-single__summer .p__catch {
		font-size: 22px;
		margin-top: 20px;
	}
	.oc-single__summer .p__box-top {
		width: 100%;
	}
	.oc-single__summer .p__box-bottom {
		width: 100%;
	}
	.oc-single__summer .p__box-desc p em {
		font-size: 32px;
	}
	.oc-single__summer .p__box-desc p strong {
		font-size: 32px;
	}
	.oc-single__summer .p__box-bg {
		position: static;
	}
	.oc-single__summer .p__ao-title {
		font-size: 28px;
	}
	.oc-single__summer .p__ao-desc p {
		font-size: 20px;
	}
}











/*------------------------------------
 * カスタム投稿：部・サークル
 ------------------------------------*/
.club-single__post-slider {
	max-width: 800px;
	margin-inline: auto;
}
#js-club-single__slider-thum .club-single__slide {
	cursor: pointer;
	position: relative;
}
#js-club-single__slider-thum .club-single__slide::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .25);
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none; 
}
#js-club-single__slider-thum .club-single__slide:hover::after {
	opacity: 1;
}

.flex.schedule-flex {
	align-items: stretch; 
}
.schedule-flex > .col-pc-6 {
	display: flex;
	flex-direction: column;
}
.schedule-flex > .col-pc-6 > .textbox {
	flex: 1;
}

.related__post-link{
	text-decoration:none;
}

.related__post-thum {
	position: relative;
	overflow: hidden;
}
.related__post-thum::before {
	content: '';
	position: absolute;
	inset: 0;
	border: solid 1px var(--color-gray02);
	z-index: 2;
	pointer-events: none;
}
.related__post-thum img.image-border {
	border: none;
	display: block;
	width: 100%;
	transition: scale .2s;
}
.related__post-link:hover .related__post-thum img {
	scale: 1.15;
}



/*------------------------------------
 * フォーム
 ------------------------------------*/
body.page-oc-form-child,
body.page-oc-form {
	font-family: var(--font-sub);
	color: var(--color-font-dark02);
}
.form-content {
	margin-top: 120px;
}
@media (max-width: 640px) {
	.form-content {
		margin-top: 50px;
	}
}

/* form-fv */
.form-fv {
	position: relative;
}
.form-fv picture {
	display: block;
}
.form-fv__title {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	font-size: 40px;
	text-shadow: 3px 3px 0 var(--color-font-r);
	text-align: center;
	padding-top: 3%;
	line-height: 1.2;
}
@media (max-width: 640px) {
	.form-fv__title {
		font-size: calc(100vmin * 23 / var(--sp-vw));
		text-shadow: 2px 2px 0 var(--color-font-r);
		padding-bottom: 5%;
		padding-top: 0;
	}
}

/* form-head */
.form-head {
	margin-bottom: 100px;
	text-align: center;

}
.form-head__inner {
	max-width: calc(1166px + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	word-break: break-all;
}
.form-head__link {
	font-size: 13px;
	font-weight: 400;
	color: var(--color-font-dark02);
	text-align: left;
	line-height: 1;
	letter-spacing: 0;
	margin-top: 10px;
}
.form-head__title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0;
	background-color: var(--color-font-dark02);
	color: var(--color-font-r);
	padding: 8px 15px;
	display: inline-block;
	margin-bottom: 40px;
}
.form-head__desc p {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	line-height: 1.6;
	letter-spacing: 0;
}
.form-head__desc p em {
	font-style: normal;
	color: var(--color-attention);
}
.form-head__desc p + p {
	margin-top: 20px;
}
@media (max-width: 640px) {
	.form-head {
		margin-bottom: 40px;
	}
	.form-head__link {
		font-size: 11px;
	}
	.form-head__title {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.form-head__desc p {
		font-size: 14px;
	}
	.form-head__desc p + p {
		margin-top: 10px;
	}
}

/* form-body */
.form-body {
	padding: 100px 0;
	background-color: var(--color-accent02);
	overflow: hidden;
}
.form-body__inner {
	max-width: calc(1166px + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	word-break: break-all;
}
.form-body__no-oc {
	border: solid 3px var(--color-font-dark02);
	padding: 20px 40px;
	color: var(--color-font-dark02);
	margin-top: 80px;
	max-width: 800px;
	margin-inline: auto;
}
.form-body__no-oc p {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
.form-body__lib-hidden {
	display: none !important;
}
.form-body__form-contents {
	margin-top: 80px;
}
.form-body__form-contents > div {
	display: flex;
	gap: 40px;
	position: relative;
	z-index: 1;
}
.form-body__form-contents > div + div::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	border-top: solid 1px var(--color-font-dark02);
	mix-blend-mode: multiply;
	opacity: .1;
}
.form-body__form-contents > div + div {
	margin-top: 50px;
	padding-top: 50px;
}
.type-confirm .form-body__form-contents > div {
	padding-left: 20px;
	padding-right: 20px;
}
.type-confirm .form-body__form-contents > div:first-of-type {
	padding-bottom: 50px;
}
.type-confirm .form-body__form-contents > div + div {
	padding-top: 50px;
	padding-bottom: 50px;
	margin-top: 0 !important;
}
.type-confirm .form-body__form-contents > div::after {
	content: '';
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-font-r);
    opacity: .5;
}
.type-confirm .form-body__form-contents > div:nth-of-type(odd)::after {
	display: none !important;
}
.form-body__form-contents > div > dt {
	width: 400px;
	font-size: 18px;
	font-weight: 400;
	text-align: left;
	line-height: 1.4;
	letter-spacing: 0.2em;
	flex-shrink: 0;
	position: relative;
	padding-right: 70px;
	/*
	margin-top: 50px;
	margin-bottom: 50px;
	*/
}
.type-confirm .form-body__form-contents > div > dt {
	font-weight: 700;
}
.form-body__form-contents > div > dt p {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}
.form-body__form-contents > div > dt span {
	display: inline-block;
	position: absolute;
	right: 0;
	top: 0;
	max-width: 60px;
	width: 100%;
	text-align: center;
	background-color: var(--color-attention);
	color: var(--color-font-r);
	font-size: 14px;
	font-weight: 700;
	padding: 4px;
	letter-spacing: 0;
}
.type-confirm .form-body__form-contents > div > dt span {
	display: none !important;
}
.form-body__form-contents > div > dd {
	flex-grow: 1;
	font-size: 18px;
	font-weight: 400;
	text-align: left;
	line-height: 1.4;
	letter-spacing: 0.1em;
	position: relative;
	min-width: 0;
}
.form-body__form-contents > div > dd label span {
	position: relative;
	cursor: pointer;
	padding-left: 45px;
	display: inline-block;
}
.form-body__form-contents > div > dd label span::before,
.form-body__form-contents > div > dd label span::after {
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.form-body__form-contents > div > dd label span::before {
	background-color: var(--color-font-r);
	border: 1px solid var(--color-font-dark02);
	border-radius: 50%;
	width: 25px;
	height: 25px;
	left: 5px;
	box-sizing: content-box;
}
.form-body__form-contents > div > dd .wpcf7-list-item {
	display: block;
}
.form-body__form-contents .wpcf7-checkbox .wpcf7-list-item,
.form-body__form-contents .wpcf7-radio .wpcf7-list-item {
	margin-left: 0 !important;
}
.form-body__form-contents > div > dd label input[type="checkbox"],
.form-body__form-contents > div > dd label input[type="radio"] {
	opacity: 0;
	position: absolute;
}
.form-body__form-contents > div > dd label [type="checkbox"]:focus-visible + span::before,
.form-body__form-contents > div > dd label [type="radio"]:focus-visible + span::before {
	outline: solid 1px AccentColor;
}
.form-body__form-contents > div > dd label [type="radio"] + span::after {
    background-color: #51535b;
    border-radius: 50%;
    opacity: 0;
    width: 8px;
    height: 8px;
    left: 14.5px;
	box-sizing: content-box;
}
.form-body__form-contents > div > dd label [type="radio"]:checked + span::after {
	opacity: 1;
}
.form-body__form-contents > div > dd label [type="checkbox"] + span::before {
	border-radius: 0;
	border-left: 1px solid var(--color-font-dark02);
	border-top: 1px solid var(--color-font-dark02);
	border-right: none;
	border-bottom: none;
}
.form-body__form-contents > div > dd label [type="checkbox"] + span::after {
	background: none;
	border: none;
	border-radius: 0;
	border-right: 3px solid var(--color-font-dark02);
	border-bottom: 3px solid var(--color-font-dark02);
	height: 12px;
	left: 13px;
	opacity: 0;
	top: calc(50% - 2px);
	transform: translateY(-50%) rotate(45deg);
	width: 7px;
	box-sizing: content-box;
}
.form-body__form-contents > div > dd label [type="checkbox"]:checked  + span::after {
	opacity: 1;
}
.form-body__form-contents > div > dd select {
	width: 226px;
	height: 80px;
	background-color: #2169f9;
	color: #fff;
	padding-left: 16px;
	appearance: none;
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 15px 22px;
	border: none;
	outline: none;
	font-size: 15px;
	position: relative;
	cursor: pointer;
}
.form-body__form-contents > div > dd select[name="your-prefecture"] {
	width: 300px;
}
.form-body__form-contents > div > dd .form-body__form-select-wrap {
	position: relative;
	display: inline-block;
}
.form-body__form-contents > div > dd .form-body__form-select-wrap::after,
.form-body__form-contents > div > dd .form-body__form-select-wrap::before {
	position: absolute;
	right: 15px;
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--color-font-r);
	border-right: 2px solid var(--color-font-r);
	display: block;
	transform: rotate(-45deg);
	z-index: 1;
}
.form-body__form-contents > div > dd .form-body__form-select-wrap::before {
	top: 28px;
	transform: rotate(-45deg);
}
.form-body__form-contents > div > dd .form-body__form-select-wrap::after {
	bottom: 28px;
	transform: rotate(135deg);
}
.form-body__form-contents .wpcf7-form-control-wrap textarea,
.form-body__form-contents > div > dd input[type="text"],
.form-body__form-contents > div > dd input[type="email"],
.form-body__form-contents > div > dd input[type="tel"],
.form-body__form-contents > div > dd input[type="text"] {
	background-color: var(--color-font-r);
	box-sizing: border-box;
	padding: 20px 20px;
	border-left: 1px solid var(--color-font-dark02);
	border-top: 1px solid var(--color-font-dark02);
	border-right: none;
	border-bottom: none;
	border-radius: 0;
	max-width: 100%;
}
.form-body__form-contents .wpcf7-form-control-wrap textarea {
	resize: vertical;
}
.form-body__form-contents .wpcf7-radio,
.form-body__form-contents .wpcf7-checkbox {
	display: block;
}
.form-body__form-contents .wpcf7-list-item + .wpcf7-list-item {
	margin-top: 25px;
}
.form-body__btn {
	margin-top: 50px;
}
.form-body__form-text-box {
    margin-top: 15px;
}
.form-body__form-contents > div > dd .form-body__form-open {
	position: relative;
	z-index: 1;
	padding: 30px 40px;
	margin-top: 20px;
}
.form-body__form-contents > div > dd .form-body__form-open::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-font-r);
	opacity: .5;
}
.form-body__form-contents > div > dd .form-body__form-open > div:first-of-type {
	margin-top: 0;
}
.form-body__form-contents > div > dd > div:first-of-type {
	margin-bottom: 0;
}
.form-body__form-contents > div > dd .form-body__form-open > div + div {
	margin-top: 15px;
}
.form-body__form-text-box p,
.form-body__form-text-box ul li {
    line-height: 1.3;
    letter-spacing: 0;
    font-size: 16px;
}
.form-body__form-text-box b {
	font-weight: inherit;
	color: var(--color-attention);
}
.form-body__form-text-box ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.form-body__form-text-box ul li {
	padding-left: 1em;
	text-indent: -1em;
}
.wpcf7-not-valid-tip {
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1.3;
	margin-top: 10px;
	margin-bottom: 20px;
	color: var(--color-attention);
	font-weight: 700;
}
.form-content .wpcf7-response-output {
	border-color: var(--color-attention) !important;
	color: var(--color-attention);
	padding: 30px 40px !important;
	margin: 20px 0 0 !important;
	font-weight: 700;
}
.form-body__form-attention {
	border: solid 2px var(--color-gray);
	padding: 30px 40px;
	margin: 20px 0 0;
	font-weight: 700;
	background-color: var(--color-font-r);
}
.form-content .mw_wp_form .error {
  margin-top: 5px;
}
.form-body__form-buttons {
	text-align: center;
	margin-top: 100px;
}
.form-body__form-button {
	text-align: center;
	display: inline-block;
	position: relative;
	border-radius: 100vmin;
	overflow: hidden;
	height: 80px;
}
.form-body__form-button::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 40px;
	transform: translateY(-50%) rotate(45deg);
	transition-property: background-color, border-color;
	transition-duration: 0.3s;
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--color-font-r);
	border-right: 2px solid var(--color-font-r);
	z-index: 2;
}
.form-body__form-button:hover::before {
	border-color: var(--color-page-oc-form-button);
}
.form-body__form-button.type-prev:hover::before {
	border-color: var(--color-gray03);
}
.form-body__form-button input {
	all: unset;
	font-family: var(--font-sub);
	cursor: pointer;
	font-size: 18px;
	font-weight: 400;
	color: var(--color-font-r);
	text-align: center;
	line-height: 1;
	letter-spacing: .1em;
	background-color: var(--color-page-oc-form-button);
	width: 420px;
	position: relative;
	display: block;
	transition-property: background-color, color;
	transition-duration: 0.3s;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
	border-radius: 100vmin;
	border: solid 2px var(--color-page-oc-form-button) !important;
	box-sizing: border-box;
}
.form-body__form-button input.wpcf7-previous {
	background-color: var(--color-gray03);
	border-color: var(--color-gray03) !important;
	color: var(--color-font-r);
}
.form-body__form-button input:hover {
	background-color: var(--color-font-r);
	color: var(--color-page-oc-form-button);
}
.form-body__form-button input.wpcf7-previous:hover {
	color: var(--color-font-dark02);
}
@media (max-width: 640px) {
	.form-body {
		padding: 60px 0;
	}
	.form-body__no-oc {
		margin-top: 40px;
		margin-bottom: 10px;
	}
	.form-body__no-oc p {
		font-size: 16px;
	}
	.form-body__form-contents {
		margin-top: 40px;
	}
	.form-body__form-contents > div {
		flex-direction: column;
		gap: 30px;
	}
	.form-body__form-contents > div + div {
		padding-top: 30px;
		margin-top: 60px;
	}
	.type-confirm .form-body__form-contents > div {
		padding-left: var(--content-margin);
		padding-right: var(--content-margin);
		margin-right: calc(var(--content-margin) * -1);
		margin-left: calc(var(--content-margin) * -1);
	}
	.type-confirm .form-body__form-contents > div:first-of-type {
		padding-bottom: 30px;
	}
	.type-confirm .form-body__form-contents > div + div {
		padding-top: 30px;
		padding-bottom: 30px;
		margin-top: 0 !important;
	}
	.form-body__form-contents > div > dt {
		width: max-content;
		max-width: 100%;
		font-weight: 700;
		letter-spacing: 0.1em;
	}
	.form-body__form-contents > div > dd {
		font-size: 16px;
	}
	.form-body__form-contents > div > dt span {
		top: -2px;
	}
	.form-body__form-contents > div > dd label span {
		display: inline-block;
	}
	.form-body__form-contents > div > dd .form-body__form-open {
		padding: 30px 20px 30px 50px;
	}
	.form-body__btn {
		margin-top: 30px;
	}
	.form-body__form-contents .wpcf7-not-valid-tip {
		font-size: 14px;
	}
	.form-content .wpcf7-response-output {
		padding: 20px !important;
	}
	.form-body__form-attention {
		padding: 20px;
		
	}
	.form-body__form-buttons {
		margin-top: 60px;
	}
	.form-body__form-button {
		height: 50px;
	}
	.form-body__form-button::before {
		right: 20px;
		width: 6px;
		height: 6px;
		border-top-width: 1px;
		border-right-width: 1px;
	}
	.form-body__form-button input {
		height: 50px;
		font-size: 14px;
		width: 300px;
		font-weight: 700;
	}
}



/*------------------------------------
 * インターネット出願申込フォーム
 ------------------------------------*/
body.page-apply_form .page-content__inner {
	max-width: calc(var(--content-width-sm) + var(--content-margin) * 2);
}
.smf-form > *:first-child {
	margin-top: 0 !important;
}
.smf-form h2.wp-block-heading {
	padding: 10px 20px;
	border-top: solid 2px var(--color-accent02);
	background:repeating-linear-gradient(
	-45deg,
	var(--color-accent-light),
	var(--color-accent-light) 2px,
	var(--color-bg) 0,
	var(--color-bg) 8px
	);
	margin-top: 80px;
	margin-bottom: 30px;
	color: var(--color-font-dark02);
	font-size: 24px;
}
.smf-form h3.wp-block-heading {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
}
.smf-item__col--label {
	position: relative;
	display: inline-flex;
	padding-right: 50px;
	margin-bottom: 10px;
}
.smf-item__label__text {
	font-size: 18px;
}
.smf-item__description {
	position: absolute;
	right: 0;
	top: 4px;
	white-space: nowrap;
	margin: 0;
	background-color: var(--color-attention);
	color: var(--color-font-r);
	font-weight: 500;
	padding: 3px 4px 4px;
	line-height: 1.2;
	font-size: 12px;
}
.wp-block-snow-monkey-forms-item + .wp-block-snow-monkey-forms-item {
	margin-top: 20px;
}
.smf-form > div + div {
	margin-top: 25px !important;
	padding-top: 20px !important;
	border-top: solid 1px var(--_lighter-color-gray);
}
.smf-item__col--controls .wp-block-group + .wp-block-group {
	margin-top: 20px;
}
.smf-action {
	margin-top: 70px;
    display: flex;
    justify-content: center;
}
.smf-action .smf-button-control__control {
	all: unset;
	font-family: var(--font-main);
	background-color: var(--color-page-oc-form-button);
	color: var(--color-font-r) !important;
	padding: 10px;
	width: 420px;
	cursor: pointer;
	transition-property: background-color, color;
	transition-duration: 0.3s;
	font-size: 18px;
	font-weight: 700;
	height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1;
	border-radius: 100vmin;
	border: solid 2px var(--color-page-oc-form-button) !important;
	box-sizing: border-box;
}
.smf-action .smf-button-control__control:hover {
	background-color: var(--color-font-r);
	color: var(--color-page-oc-form-button) !important;
}
.smf-action .smf-button-control__control[data-action="back"] {
	background-color: var(--color-gray03);
	border-color: var(--color-gray03) !important;
	color: var(--color-font-r) !important;
}
.smf-action .smf-button-control__control[data-action="back"]:hover {
	color: var(--color-font-dark02) !important;
}
@media (max-width: 767px) {
	.smf-action {
		margin-top: 40px;
		flex-direction: column;
		align-items: center;
	}
	.smf-action .smf-button-control+.smf-button-control {
		margin-left: 0;
		margin-top: 20px;
	}
}


/* 非表示領域 */
.form-lib-hidden {
	display: none !important;
}

/* 補足情報 */
.form-attention-open {
	position: relative;
	z-index: 3;
}
.form-attention-open.no-hover {
	z-index: unset;
}
.form-attention-open__area {
	display: inline-block;
	cursor: pointer;
	margin-top: 20px;
	background-color: var(--color-accent-light);
	padding: 10px;
	color: var(--color-font-dark02);
	font-weight: 700;
	position: relative;
}
.no-hover .form-attention-open__area {
	padding: 20px 20px 20px 30px;
}
.no-hover .form-attention-open__area::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background-color: var(--color-font-dark02);
	width: 6px;
	height: 8px;
}
.form-attention-open__target {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: translateY(100%);
	transition-property: opacity, visibility;
	transition-duration: .2s;
	padding-top: 5px;
}
.no-hover .form-attention-open__target {
	position: static;
	transform: none;
	padding: 0;
	transition-property: none;
}
.form-attention-open__target.active {
	opacity: 1;
	visibility: visible;
}
.form-attention-open__target-bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	min-height: 100%;
	height: auto;
	background-color: var(--color-font-dark02);
	opacity: .6;
	z-index: 299;
	padding-top: env(safe-area-inset-top);
	padding-bottom: env(safe-area-inset-bottom, 16px);
}
.form-attention-open__target-close-button {
	all: unset;
	position: fixed;
	font-family: var(--font-en);
	font-weight: 600;
	font-size: 16px;
	left: 50%;
	transform: translateX(-50%);
	bottom: 20px;
	z-index: 301;
	color: var(--color-font-r);
	display: flex;
	flex-direction: column;
	align-items: center;
	letter-spacing: 0.04em;
}
.form-attention-open__target-close-button i {
	font-style: normal;
	width: 50px;
	height: 50px;
	background-color: var(--color-font-r);
	border-radius: 100vmin;
	position: relative;
}
.form-attention-open__target-close-button i::after,
.form-attention-open__target-close-button i::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 3px;
	background-color: var(--color-main);
	border-radius: 100vmin;
	height: 60%;
}
.form-attention-open__target-close-button i::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.form-attention-open__target-close-button i::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.form-attention-open__target-inner {
	background-color: var(--color-accent-light);
	margin: 0 !important;
	padding: 20px;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}
.no-hover .form-attention-open__target-inner {
	position: fixed;
	left: 50%;
	top: calc(50% - 40px);
	bottom: auto;
	transform: translate(-50%,-50%);
	z-index: 300;
	width: calc( 100% - 40px );
	min-height: calc( 100% - 160px );
	height: auto;
	overflow-y: scroll;
	padding: calc( 40px + env(safe-area-inset-top)) 20px calc(60px + env(safe-area-inset-bottom,16px));
	max-width: 760px;
}
.form-attention-open__target-box {
	position: relative;
	z-index: 1;
}

/* ラベル：写真 */
.form-attention-open__label-photo {
	max-width: 600px;
}
.form-attention-open__label-photo p {
	font-size: 14px;
	line-height: 1.4;
	font-weight: 500;
}
.form-attention-open__label-photo li {
	font-size: 13px;
	line-height: 1.4;
	font-weight: 500;
}
.form-attention-open__label-photo li + li {
	margin-top: 5px !important;
}

/* 値代入ボタン */
.form-data-input__button {
	background: var(--color-gray02);
	border-radius: 0;
	border: none;
	color: var(--color-font-dark02);
	font-weight: 700;
	padding: 20px 20px 20px 30px;
	position: relative;
	cursor: pointer;
}
.form-data-input__button::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background-color: var(--color-font-dark02);
	width: 6px;
	height: 8px;
}

@media (hover: hover) {
	.form-attention-open__target:hover,
	.form-attention-open__area:hover + .form-attention-open__target {
		opacity: 1;
		visibility: visible;
	}
	.form-attention-open__target-bg,
	.form-attention-open__target-close-button {
		display: none !important;
	}
}
@media (max-width: 640px) {
	.no-hover .form-attention-open__target-inner {
		max-height: 70%;
	}
	.form-attention-open__label-photo .photo {
		max-width: 200px;
	}
	.form-attention-open__target-close-button {
		bottom: auto;
		top: 90%;
	}
}



/*------------------------------------
 * ヘッダー
 ------------------------------------*/
.header-pc-001 {
	position: relative;
}
.header-pc-001::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background-image: var(--grad-logo);
}
.header-pc-001-inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	height: 90px;
}
.header-pc-001-logo {
	line-height: 0;
	width: 365px;
}
.header-pc-001-logo h1 {
	margin: 0;
	line-height: 0;
}
.nav-pc-001 ul {
	align-items: center;
}
.nav-pc-001 li a {
	color: var(--color-main);
	padding-bottom: 0;
}
.nav-pc-001-nav > ul > li {
	border-left: solid 3px var(--color-gray);
}
.nav-pc-001 .sub-menu {
	padding: 25px;
	border-radius: 10px;
	background-color: var(--color-font-r);
	box-sizing: border-box;
	min-width: 355px;
	border: none;
}
.nav-pc-001 .sub-menu > li > a {
	border-color: var(--color-gray);
	text-align: left;
	padding-left: 0;
	padding-right: 0;
	position: relative;
	font-weight: 400;
	transition-duration: .2s;
}
.nav-pc-001 .sub-menu > li > a:hover {
	background-color: var(--color-main-light);
}
.nav-pc-001 .sub-menu > li:last-of-type > a {
	border: none;
}
.nav-common-001-button {
	display: flex;
	align-items: center;
}
.nav-common-001-button ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.nav-common-001-button > ul > li {
	padding: 0;
	line-height: 1.2;
}
.nav-common-001-button > ul > li a {
	background-color: var(--color-accent);
	color: var(--color-main);
	font-size: 25px;
	font-family: var(--font-en);
	font-weight: 900;
	min-width: 240px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	min-height: 62px;
	padding: 15px 45px 15px 15px;
	border-radius: 100vmin;
	border: solid 3px var(--color-font-r);
	box-shadow: 0 0 10px rgba(0,0,0,.25);
	letter-spacing: 0;
	transition-duration: .2s;
	text-decoration: none !important;
	white-space: nowrap;
}
.nav-common-001-button > ul > li a::before {
	content: '';
	position: absolute;
	right: 18px;
	top: 50%;
	width: 13px;
	height: 13px;
	box-sizing: border-box;
	border-top: solid 3px;
	border-left: solid 3px;
	transform: translateY(-50%) rotate(135deg);
}
.nav-common-001-button > ul > li a::after {
	content: '';
	position: absolute;
	right: 18px;
	top: 50%;
	width: 19px;
	border-top: solid 3px;
	transform: translateY(-50%);
}
.nav-common-001-button > ul > li a:hover {
	background-color: var(--color-main);
	color: var(--color-font-r);
}
.nav-common-001-character {
	max-width: 56px;
	height: 90px;
	margin-left: 5px;
	display: flex;
	align-items: center;
}
.nav-common-001-character video {
	background-image: url(../../../uploads/header-cankey01-poster.jpg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
	height: 79px;
}
.header-sp-001-space {
	height: calc(100vmin * 60 / var(--sp-vw));
}
.header-sp-001 {
	height: calc(100vmin * 60 / var(--sp-vw));
	background-color: var(--color-font-r);
	flex-wrap: nowrap;
}
.header-sp-001-logo {
	padding-left: calc(100vmin * 5 / var(--sp-vw));
}
.header-sp-001-logo h1 {
	margin: 0;
	line-height: 0;
}
.header-sp-001-logo img {
	width: calc(100vmin * 156 / var(--sp-vw));
	height: auto;
}
.header-sp-001-icon {
	margin: 0;
	padding: 0;
	max-width: 80px;
	width: calc(100vmin * 50 / var(--sp-vw));
	height: calc(100vmin * 60 / var(--sp-vw));
}
.header-sp-001-button {
	border-radius: 0;
	max-width: 80px;
	width: calc(100vmin * 50 / var(--sp-vw));
	height: calc(100vmin * 60 / var(--sp-vw));
	background: none;
}
.header-sp-001-button span {
	background-color: var(--color-main);
	max-width: 60px;
	width: calc(100vmin * 36 / var(--sp-vw));
	left: 0;
	height: 3px;
}
.header-sp-001-button span:nth-of-type(1) {
	top: calc(100vmin * 20 / var(--sp-vw));
}
.header-sp-001-button span:nth-of-type(2) {
	top: calc(100vmin * 30 / var(--sp-vw));
}
.header-sp-001-button span:nth-of-type(3) {
	top: calc(100vmin * 40 / var(--sp-vw));
}
.header-sp-001-button span:nth-of-type(1)::before {
	display: none !important;
}
.header-nav-sp-001 {
	background: none !important;
	z-index: 11;
}
.header-nav-sp-001::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-header-bg-sp);
	opacity: .94;
}
.header-nav-sp-001-inner {
	height: calc(100% - 78px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
	padding-top: 70px;
	padding-right: 35px;
	padding-left: 35px;
}
.header-nav-sp-001-inner-button {
	font-style: normal;
	position: absolute;
	right: 12px;
	top: 12px;
	height: 40px;
	width: 40px;
	z-index: 2;
}
.header-nav-sp-001-inner-button::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(45deg);
	border-left: solid 2px var(--color-font-r);
	height: 100%;
}
.header-nav-sp-001-inner-button::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(-45deg);
	border-left: solid 2px var(--color-font-r);
	height: 100%;
}
.header-nav-sp-001 ul {
	overflow: revert;
	height: unset;
	border-top: none;
}
.header-nav-sp-001 {
	background: none !important;
}
.header-nav-sp-001::before {
	content: '';
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-header-bg-sp);
	opacity: .94;
}
.header-nav-sp-001-inner {
	padding-top: 70px;
	padding-right: 35px;
	padding-left: 35px;
    height: calc(100% - 78px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
	padding-bottom: 30px;
}
.header-nav-sp-001 .wp-header-nav-sp .sub-menu {
	border-top: solid 2px var(--color-font-r);
}
.header-nav-sp-001 .wp-header-nav-sp li {
	position: relative;
	border-bottom: none;
}
.header-nav-sp-001 .wp-header-nav-sp > ul > li {
	border-bottom: solid 2px var(--color-font-r);
}
.header-nav-sp-001 .wp-header-nav-sp li a {
	position: relative;
}
.header-nav-sp-001 .wp-header-nav-sp > ul > li > a {
	font-size: 26px;
	font-weight: 500;
	padding: 20px 10px;
}
.header-nav-sp-001 .wp-header-nav-sp li a::before {
	content: '';
	position: absolute;
	top: 35px;
	right: 9px;
	height: 14px;
	width: 14px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-font-r);
	border-right: solid 2px var(--color-font-r);
	transform: rotate(45deg);
}
.header-nav-sp-001 .wp-header-nav-sp li.menu-item-has-children a::after,
.header-nav-sp-001 .wp-header-nav-sp li.menu-item-has-children a::before {
	display: none !important;
}
.header-nav-sp-001 .wp-header-nav-sp li:not(.menu-item-has-children) .parent-arrow {
	display: none !important;
}
.header-nav-sp-001 .wp-header-nav-sp li.menu-item-has-children .parent-arrow {
	position: absolute;
	right: 0;
	top: 0;
	height: 80px;
	width: 50px;
	font-style: normal;
	z-index: 1;
}
.header-nav-sp-001 .wp-header-nav-sp li.menu-item-has-children .parent-arrow::before {
	content: '';
	position: absolute;
	top: 31px;
	right: 5px;
	height: 14px;
	width: 14px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-font-r);
	border-right: solid 2px var(--color-font-r);
	transform: rotate(135deg);
}
.header-nav-sp-001 .wp-header-nav-sp li.menu-item-has-children .parent-arrow.open::before {
	transform: scale(1,-1) rotate(135deg);
	top: 38px;
}
.header-nav-sp-001 .wp-header-nav-sp .sub-menu {
	margin-bottom: 30px;
}
.header-nav-sp-001 .wp-header-nav-sp .sub-menu > li {
	padding-left: 50px;
	margin-top: 30px;
}
.header-nav-sp-001 .wp-header-nav-sp .sub-menu > li::before {
	content: '';
	position: absolute;
	left: 25px;
	top: 14px;
	width: 12px;
	border-top: solid 2px var(--color-header-hover-text-sp);
}
.header-nav-sp-001 .wp-header-nav-sp .sub-menu > li > a {
	font-size: 18px;
	padding: 0;
	font-weight: 400;
	color: var(--color-header-hover-text-sp);
	position: relative;
}
.header-nav-sp-001 .wp-header-nav-sp .sub-menu > li > a::before {
	content: '';
	display: block !important;
	position: absolute;
	top: 7px;
	right: 9px;
	height: 14px;
	width: 14px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-font-r);
	border-right: solid 2px var(--color-font-r);
	transform: rotate(45deg);
}
.header-nav-sp-001 .wp-header-nav-button-sp {
	margin-top: 25px;
}
.header-nav-sp-001 .wp-header-nav-button-sp li {
	border: none;
}
.header-nav-sp-001 .wp-header-nav-button-sp li + li {
	margin-top: 20px;
}
.header-nav-sp-001 .wp-header-nav-button-sp li a {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 56px;
	border-radius: 100vmin;
	justify-content: center;
	gap: 7px;
}
.header-nav-sp-001 .wp-header-nav-button-sp li a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	height: 14px;
	width: 14px;
	box-sizing: border-box;
	border-top: solid 2px var(--color-font-r);
	border-right: solid 2px var(--color-font-r);
	transform: translateY(-50%) rotate(45deg);
}
.header-nav-sp-001 .wp-header-nav-button-sp li a img {
	flex-shrink: 0;
}
.header-nav-sp-001 .wp-header-nav-button-sp li.type-oc {
	font-size: 17px;
	text-align: center;
}
.header-nav-sp-001 .wp-header-nav-button-sp li.type-oc a {
	background-color: var(--color-accent);
	color: var(--color-main);
	font-family: var(--font-en);
	font-weight: 900;
	border: solid 1px var(--color-accent);
}
.header-nav-sp-001 .wp-header-nav-button-sp li.type-oc a::before {
	border-color: var(--color-main);
}
.header-nav-sp-001 .wp-header-nav-button-sp li.type-line {
	font-size: 15px;
}
.header-nav-sp-001 .wp-header-nav-button-sp li.type-line a {
	border: solid 1px var(--color-font-r);
	font-weight: 500;
}
@media (min-width: 1025px) {
	.header-type-sp {
		display: none !important;
	}
}
@media (max-width: 1024px) {
	.header-type-pc {
		display: none !important;
	}
}
@media (min-width: 741px) and (max-width: 1024px) {
	.header-sp-001-space {
		height: 80px;
	}
	.header-sp-001 {
		height: 80px;
	}
	.header-sp-001-logo img {
		width: 300px;
	}
	.nav-common-001-button {
		margin-right: 20px;
	}
	.header-sp-001-icon {
		height: 80px;
		width: 70px;
	}
	.header-sp-001-button {
		height: 80px;
		width: 70px;
	}
	.header-sp-001-button span {
		width: 46px;
	}
	.header-sp-001-button span:nth-of-type(1) {
		top: 30px;
	}
	.header-sp-001-button span:nth-of-type(2) {
		top: 40px;
	}
	.header-sp-001-button span:nth-of-type(3) {
		top: 50px;
	}
	.header-nav-sp-001 {
		top: 80px;
	}
}
@media (min-width: 641px) and (max-width: 1024px) {
	.header-sp-001 {
		justify-content: flex-start;
	}
	.nav-common-001-button {
		flex-grow: 1;
		justify-content: flex-end;
	}
}
@media (max-width: 740px) {
	.nav-common-001-button > ul > li a {
		min-width: 0 !important;
		/*width: calc(100vmin * 124 / var(--sp-vw));*/
		width: auto;
		font-size: calc(100vmin * 13 / var(--sp-vw));
		white-space: nowrap;
		padding: calc(100vmin * 8 / var(--sp-vw)) calc(100vmin * 8 / var(--sp-vw));
		min-height: 0 !important;
	}
	.nav-common-001-button > ul > li a::after,
	.nav-common-001-button > ul > li a::before {
		opacity: 0 !important;
	}
	.nav-common-001-character {
		max-width: calc(100vmin * 28 / var(--sp-vw));
		height: calc(100vmin * 60 / var(--sp-vw));
		background-size: calc(100vmin * 30 / var(--sp-vw)) auto;
		margin-left: calc(100vmin * 5 / var(--sp-vw));
	}
	.nav-common-001-character video {
		width: calc(100vmin * 28 / var(--sp-vw));
		height: calc(100vmin * 39 / var(--sp-vw));
	}
}




/*------------------------------------
 * フッター
 ------------------------------------*/
.footer {
	position: relative;
}
.footer::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 4px;
	background-image: var(--grad-logo);
}
.footer {
	
}
.footer__image-group {
	display: grid;
	grid-template-columns: repeat(4,1fr);
}
.footer__image {
	margin: 0;
}
.footer__image img {
	aspect-ratio: 12 / 7;
	object-fit: cover;
	user-select: none;
	width: 100%;
	height: 100%;
}
.footer__data {
	background-color: var(--color-main-dark);
	color: var(--color-font-r);
}
.footer__data-inner {
	max-width: calc(var(--content-width) + var(--content-margin) * 2);
	width: 100%;
	padding-right: var(--content-margin);
	padding-left: var(--content-margin);
	margin-inline: auto;
	display: grid;
	grid-template-areas: "logo address"
		"list list"
		"copyright copyright";
	align-items: center;
	grid-template-columns: auto 1fr;
	gap: 15px 25px;
	position: relative;
	padding-top: 60px;
	padding-bottom: 50px;
}
.footer__data .pagetop-btn {
	position: absolute;
	right: var(--content-margin);
	bottom: auto;
	top: 0;
	width: 138px;
	height: 138px;
	box-sizing: border-box;
	border-radius: 100vmin;
	border: none;
	background: var(--color-font-r);
	transform: translate(100%,-50%);
}
.footer__data .pagetop-btn img {
	display: none !important;
}
.footer__data .pagetop-btn::before {
	content: '';
	position: absolute;
	left: 50%;
	top: calc(50% + 5px);
	width: 22px;
	height: 22px;
	box-sizing: border-box;
	border-top: solid 5px var(--color-main-dark);
	border-left: solid 5px var(--color-main-dark);
	transform: translate(-50%,-50%) rotate(45deg);
}
.footer__logo {
	grid-area: logo;
}
.footer__address {
	grid-area: address;
	margin-bottom: 0;
	font-style: normal;
	font-size: 14px;
	font-weight: 300;
}
.footer__data-list {
	grid-area: list;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	font-weight: 300;
}
.footer__data-list li + li {
	margin-left: 30px;
}
.footer__data-list li:not([class*="type-"]) a {
	text-decoration: none;
}
.footer__data-list li:not([class*="type-"]) a:hover {
	text-decoration: underline;
}
.footer__data-list-text {
	display: flex;
	align-items: center;
	gap: 10px;
}
.footer__data-list-text i {
	font-style: normal;
	flex-shrink: 0;
	line-height: 0;
}
.footer__data-list .type-text-only {
	font-size: 15px;
}
.footer__data-list .type-text-only a {
	text-decoration: none;
	border: solid 1px;
	padding: 2px 10px 3px;
	box-sizing: border-box;
}
.footer__data-list .type-text-only a:hover {
	background-color: var(--color-font-r);
	color: var(--color-main-dark);
}
.footer__copyright {
	grid-area: copyright;
	opacity: .5;
	font-family: var(--font-en);
	font-weight: 300;
	font-size: 12px;
}
.footer-follow {
  background-color: var(--color-main);
  padding: 30px 20px 36px;
  text-align: center;
}
.footer-follow__title {
  font-family: var(--font-en);
  font-size: 13px;
  letter-spacing: 0.2em;
  color: rgba(255,255,255,0.7);
  margin: 0 0 24px;
}
.footer-follow__title span {
  color: rgba(255,255,255,0.4);
}
.footer-follow__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: center;
  gap: 16px;
}
.footer-follow__li-btn a,
.footer-follow__btn {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: #161784;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.3s;
}
.footer-follow__li-btn a img,
.footer-follow__btn img{
    width:30px;
    height: 30px;
}
.footer-follow__li-btn a:hover,
.footer-follow__btn:hover {
  background-color: rgba(22,23,132,0.18);
}
.footer-nav {
  background-color: var(--color-main);
  padding: 30px 0;
  display:none;
}
.footer-nav a,
.footer-department a {
  text-decoration: none;
}
.footer-nav__inner {
  max-width: calc(var(--content-width-lg) + var(--content-margin) * 2);
  margin-inline: auto;
  padding-inline: var(--content-margin);
}
.footer-nav__cols {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer-nav__col {
  display: flex;
  flex-direction: column;
}
.footer-nav__head {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  margin: 0 0 14px;
  white-space: nowrap;
}
.footer-nav__col-body {
  display: flex;
  flex-direction: column;
}
.footer-nav__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-nav__list li {
  font-size: 13px;
  line-height: 1;
  margin-bottom: 13px;
  color: rgba(255,255,255,0.8);
}
.footer-nav__list a:hover {
  opacity: 0.7;
}
.footer-nav__special {
  margin-top: 20px;
  padding-top: 24px;
  padding-left: 20px;
  border-top: 1px solid rgba(255,255,255,0.3);
  border-left: 1px solid rgba(255,255,255,0.3);
}
.footer-nav__special-list {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
}
.footer-nav__special-list li {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
  color: #fff;
}
.footer-nav__special-list a {
  color: #fff;
}
.footer-nav__list--sub li {
  color: rgba(255,255,255,0.7);
}
.footer-department {
  background-color: var(--color-main);
  padding: 30px 0;
  display: none;
}
.footer-department__inner {
  max-width: calc(var(--content-width-lg) + var(--content-margin) * 2);
  margin-inline: auto;
  padding-inline: var(--content-margin);
}
.footer-department__head {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.05em;
  margin: 0 0 20px;
  white-space: nowrap;
}
.footer-department__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.footer-department__item {
  min-width: 0;
}
.footer-department__name {
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
  line-height: 1.5;
}
.footer-department__name a {
  color: #fff;
}
.footer-department__name a:hover {
  opacity: 0.7;
}
.footer-department__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-department__list li {
  font-size: 12px;
  color: rgba(255,255,255,0.7);
  margin-bottom: 6px;
  line-height: 1.4;
}
.footer-department__list a:hover {
  opacity: 0.7;
}
@media (max-width: 1420px) {
	.footer__data .pagetop-btn {
		right: 0;
		transform: translateY(-50%);
	}
}
@media (min-width: 641px) {
  .footer-follow {
    padding: 50px 20px 60px;
  }
	.footer-follow__li-btn a,
  .footer-follow__btn {
    width: 90px;
    height: 90px;
  }
  .footer-nav {
    padding: 60px 0;
    display: block;
  }
  .footer-nav__cols {
    flex-direction: row;
    gap: 60px;
  }
  .footer-nav__col {
    flex: 1;
    flex-direction: row;
    align-items: stretch;
    min-width: 0;
    max-width:320px;
  }
  .footer-nav__col:last-child {
    flex: 1.5;
  }
  .footer-nav__col--support {
    flex-direction: column;
    align-items: stretch;
  }
  .footer-nav__col--support .footer-nav__col-main {
    display: flex;
    flex-direction: row;
    align-items: stretch;
  }
  .footer-nav__head {
    margin: 0;
    padding-right: 20px;
    border-right: 1px solid rgba(255,255,255,0.3);
    flex-shrink: 0;
  }
  .footer-nav__col-body {
    flex: 1;
    padding-left: 20px;
    min-width: 0;
  }
  .footer-department {
    padding: 60px 0;
    display: block;
  }
  .footer-department__inner {
    display: flex;
    align-items: stretch;
  }
  .footer-department__head {
    flex-shrink: 0;
    margin: 0;
    padding-right:20px;
    border-right: 1px solid rgba(255,255,255,0.3);
    display: flex;
    align-items: flex-start;
  }
  .footer-department__grid {
    flex: 1;
    padding-left: 20px;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 20px;
  }
}
@media (max-width: 640px) {
	.footer {

	}
	.footer__image-group {
		grid-template-columns: repeat(2,1fr);
	}
	.footer__image-group .footer__image:nth-of-type(n+3) {
		display: none !important;
	}
	.footer__logo img {
		width: calc(100vmin * 266 / var(--sp-vw));
	}
	.footer__address {
		margin-top: 5px;
		font-size: calc(100vmin * 16 / var(--sp-vw));
	}
	.footer__data-inner {
		grid-template-areas:
			"logo"
			"address"
			"list"
			"copyright";
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 0;
		padding-top: calc(100vmin * 45 / var(--sp-vw));
		padding-bottom: calc(100vmin * 40 / var(--sp-vw));
	}
	.footer__data-list {
		flex-direction: column;
		align-items: center;
		margin-top: 35px;
	}
	.footer__data-list li + li {
		margin-left: 0;
		margin-top: 20px;
	}
	.footer__copyright {
		margin-top: 35px;
		font-size: calc(100vmin * 10 / var(--sp-vw));
		text-align: center;
	}
	.footer__data .pagetop-btn {
		width: calc(100vmin * 60 / var(--sp-vw));
		height: calc(100vmin * 60 / var(--sp-vw));
		transform: none;
		top: auto;
		bottom: calc(100vmin * 130 / var(--sp-vw));
	}
	.footer__data .pagetop-btn::before {
		border-top-width: 2px;
		border-left-width: 2px;
		width: calc(100vmin * 10 / var(--sp-vw));
		height: calc(100vmin * 10 / var(--sp-vw));
		top: calc(50% + 100vmin * 2 / var(--sp-vw));)
	}
}



/*------------------------------------
 * 【フォーム】ヘッダー
 ------------------------------------*/
.header-form__logo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	line-height: 0;
}
.header-form__logo img {
	width: 152px;
}
@media (min-width: 641px) {
	.header-form__logo {
		height: 121px;
		padding-left: 30px;
	}
}
@media (max-width: 640px) {
	.header-form__logo {
		padding: 10px 20px;
	}
	.header-form__logo img {
		width: 100px;
	}
}


/*------------------------------------
 * 【フォーム】フッター
 ------------------------------------*/
.footer-form {
	font-family: var(--font-sub);
}
.footer-form__info {
	background-image: var(--grad-page-oc-form-footer);
	padding: 40px 0;
	color: #fff;
}
.footer-form__logo {
	text-align: center;
}
.footer-form__logo img {
	width: 400px;
}
.footer-form__text {
	font-size: 18px;
	font-weight: 400;
	color: var(--color-font-r);
	text-align: center;
	line-height: 1.75;
	letter-spacing: 0.1em;
	margin-top: 25px;
	margin-bottom: 0;
}
.footer-form__text a {
	color: var(--color-font-r);
}
.footer-form__sns ul {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 0;
}
.footer-form__sns li {
	margin-left: 15px;
	display: inline-block;
	line-height: 0;
}
.footer-form__sns li a {
	display: block;
}
.footer-form__sns li img {
	width: auto;
	height: 30px;
}
.footer-form__copy-wrap {
	position: relative;
	background-color: var(--color-font-dark02);
	padding: 15px 0;
}
.footer-form__copy {
	color: var(--color-font-r);
	text-align: center;
	font-size: 14px;
}
@media (hover: hover) {
	.footer-form__sns li a:hover img {
		opacity: .6;
	}
}
@media (min-width: 641px) {
	.footer-form__sns {
		position: absolute;
		top: 50%;
		right: 20px;
		transform: translateY(-50%);
	}
}
@media (max-width: 640px) {
	.footer-form__info {
		padding: 25px 0;
	}
	.footer-form__logo img {
		width: 240px;
	}
	.footer-form__text {
		font-size: 11px;
		margin-top: 15px;
	}
	.footer-form__sns ul {
		text-align: center;
		margin-bottom: 10px;
	}
	.footer-form__sns li {
		margin-left: 10px;
	}
	.footer-form__sns li img {
		height: 20px;
	}
	.footer-form__copy-wrap {
		padding: 15px 0 55px;
	}
	.footer-form__copy {
		font-size: 10px;
	}
}


/* 部・サークル一覧 一時的な非リンク対応（2026/9/16） 素材が揃ったらファイルごと削除or非表示 */
/* ▼▼▼ ここから ▼▼▼ */
.etl-club-post .archive__post-thum a:hover img{scale:1;}
.etl-club-post + .etl-club-post{border-top:solid 1px var(--color-gray02);margin-top:40px;padding-top:40px;}
.etl-club-post .archive__post-thum{align-self:start;}
.etl-club-post .archive__post-thum img{aspect-ratio:4 / 3;height:auto;}
.etl-club-post:first-child .archive__post-thum{overflow:hidden;}
.etl-club-post:first-child .archive__post-thum img{transform:scale(1.3);}
@media (min-width:641px){
.etl-club-post .archive__post{grid-template-areas:"text-box thum";grid-template-columns:1fr 300px;}
}
@media (min-width:1025px){
.etl-club-post .archive__post{grid-template-columns:1fr 400px;}
}
/* ▲▲▲ ここまで ▲▲▲ */