@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html {
	scroll-behavior: smooth;
	font-size: 62.5%;
}
body {
	background: #fff;
	margin: 0;
	padding: 0;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-feature-settings: "palt";
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	text-align: center;
}
p {
	margin:0;
	padding: 0;
	overflow-wrap: break-word;
}
a {
	color: #000;
	text-decoration: none;
	transition : all 500ms;
}
ul,ol {
	list-style-type: none;
	padding:0;
	margin:0;
}

/* ----------------------------- */
/* Common
/* ----------------------------- */
/* 初期状態 */
.fade-up,
.fade-left,
.zoom-in {
  opacity: 0;
  transition: all 0.6s ease-in-out;
}

/* 各アニメーション */
.fade-up {
  transform: translateY(40px);
}

.fade-left {
  transform: translateX(-40px);
}

.zoom-in {
  transform: scale(0.9);
}

/* 表示状態 */
.is-show {
	opacity: 1;
	transform: none;
}

.sans {
	font-family: "Noto Sans JP", sans-serif;
}
.alp {
	font-family: "Bodoni Moda", serif;
}
.bgcl_g {
	background-color: #aa8e59;
	color: #fff;
}
.bgcl_r {
	background-color: #d35344;
	color: #fff;
}
.bgcl_y {
	background-color: #f5e92e;
	color: #595757;
}
.bgcl_n {
	background-color: #1f2a66;
	color: #fff;
}
.txcl_g {
	color: #aa8e59;
}
.txcl_r {
	color: #d35344;
}
.txcl_y {
	color: #cdbf00;
}
.txcl_n {
	color: #1f2a66;
}

.arrow {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-style: italic;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	position: relative;
	padding-top: 5px;
	padding-right: 30px;
	color: transparent;
	background: linear-gradient(to right, #bfbfbf 50%, #000 50%) 100%;
	background-clip: text;
	background-size: 200% 100%;
	transition: background-position 0.3s;
}
.arrow:hover {
	background-position: 0 100%;
}
.arrow::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: 4px;
	width: 16.5px;
	height: 16.5px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transition : all 500ms;
}
.arrow::before{
	content: "";
	position: absolute;
	right: -3px;
	bottom: 12px;
	width: 24px;
	height: 1px;
	background: #000;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	transition : all 500ms;
}
.arrow:hover::after{
	right: -4px;
	bottom: 3px;
	width: 22px;
	height: 22px;
}
.arrow:hover::before {
	right: -8px;
	bottom: 14.5px;
	width: 30px;
}
.wrapper {
	width: 94%;
	max-width: 1170px;
	margin:0 auto;
}
.pc_none {
	display: none;
}
@media screen and (max-width: 480px) {
	.fade-left {
	  transition: all 0.3s ease-in-out;
	}
	.pc_none {
		display: inline;
	}
}


/* ----------------------------- */
/* Header
/* ----------------------------- */
header .oita {
	display: flex;
	align-items: center;
	padding: 1rem 2rem;
	position: relative;
}
header .oita img {
	display: block;
}
header .oita img:first-child {
	width: 22%;
	max-width: 100px;
	margin-right: 2rem;
}
header .oita img:last-child {
	width: 50%;
	max-width: 300px;
}
.hamburger-overlay {
	position: fixed;
	top: 10px;
	right: 30px;
	z-index: 1000;
	width: 35px;
	height: 35px;
	border: none;
	background: transparent;
	cursor: pointer;
	font-size: 2.8rem;
}
.hamburger-overlay__line {
	position: absolute;
	left: 11px;
	width: 35px;
	height: 2px;
	background-color: #1f2a66;
	transition: all .6s;
}
.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 24px; }
.hamburger-overlay__line:nth-of-type(3) { top: 34px; }
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
	opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
	transform: translateY(-10px) rotate(45deg);
}
.nav-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(15px);
	visibility: hidden;
	opacity: 0;
	transition: all .6s;
	z-index: 900;
}
.nav-overlay.active {
	visibility: visible;
	opacity: 1;
}
.nav-overlay__content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
}
.nav-overlay__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.nav-overlay__item {
	opacity: 0;
	transform: translateY(20px);
	transition: all .6s;
}
.nav-overlay.active .nav-overlay__item {
	opacity: 1;
	transform: translateY(0);
}
.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
.nav-overlay.active .nav-overlay__item:nth-child(5) { transition-delay: 0.5s; }
.nav-overlay.active .nav-overlay__item:nth-child(6) { transition-delay: 0.6s; }
.nav-overlay.active .nav-overlay__item:nth-child(7) { transition-delay: 0.7s; }
.nav-overlay__link {
	display: inline-block;
	padding: 20px;
	color: #000;
	font-size: 1.8rem;
	text-decoration: none;
	transition: color .3s;
}
.nav-overlay__link:hover {
	color: #1f2a66;
}
@media screen and (max-width: 480px) {
	header .oita {
		padding: 1rem;
	}
	header .oita img:first-child {
		margin-right: 1rem;
	}
	.hamburger-overlay {
		top: 0;
		right: 2rem;
	}
}


/* ----------------------------- */
/* Main
/* ----------------------------- */
.mv {
	margin-bottom: 5rem;
}
.mv .title {
	text-align: center;
    position: relative;
    z-index: 1;
}
.mv .title h1 {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 0.5rem;;
}
.mv .title h1 b {
	font-size: 2.8rem;
	font-weight: 500;
	color: #1e2b66;
	letter-spacing: 0.3em;
	display: block;
	margin-bottom: 0.75rem;
}
.mv .title p {
	font-size: 2.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.mv .title p span {
	color: #cd1321;	
}
.mv .main {
	position: relative;
}
.mv .main .main_index {
	position: absolute;
	top: 13.5rem;
	width: 100%;
}
.mv .main h2 {
	text-align: center;
	font-size: 3rem;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0.05em;
	margin-bottom: 1.5rem;
}
.mv .main h2 span {
	color: #fff;
	background: #1e2b66;
	padding: 0 1rem;
}
.mv .main h2 span:nth-child(3) {
	padding-right: 0;	
}
.mv .main .main_image {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70%;
	max-width: 800px;
	margin: -8rem auto 0;
	aspect-ratio: 1 / 1;
}
.mv .main .main_image div {
	width: 0%;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 100vw;
	animation: circle 0.8s 0.5s ease-in-out forwards;
}
.mv .main .main_image div img {
	display: block;
	width: 800px;
}
@keyframes circle {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

.mv .main ul {
	display: flex;
	justify-content: space-between;
	align-items:  flex-start;
}
.mv .main ul li {
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.2;
	width: 32.5%;
	border-radius: 3px;
	box-sizing: border-box;
	box-shadow: 0 5px 5px rgba(0,0,0,0.25);
}
.mv .main ul li a {
	padding: 1.5rem 0.75rem;
	display: block;
}
.mv .main ul li:nth-child(1) {
	background: #aa8e59;
	transition-delay: 1.25s;	
}
.mv .main ul li:nth-child(1) a {
	color: #fff;
}
.mv .main ul li:nth-child(2) {
	background: #d35344;
	transition-delay: 1.75s;	
}
.mv .main ul li:nth-child(2) a {
	color: #fff;
}
.mv .main ul li:nth-child(3){
	background: #f5e92e;
	transition-delay: 2.25s;	
}
.mv .main ul li:nth-child(3) a {
	color: #595757;
}
.mv .main p {
	font-size: 5.4rem;
	line-height: 1.4;
	font-weight: 600;
	color: #1f2a66;
	writing-mode: vertical-rl;
	position: absolute;
	top: 30%;
	right: 0.5rem;
	height: 100%;
}
.mv .main p span {
	display: inline-block;
	position: relative;
}
.mv .main p span::before {
	content: "";
	position: absolute;
	width: 1px;
	top: 0;
	right: 0.5rem;
	bottom: 2rem;
	background: #1f2a66;
}

@media screen and (max-width: 1200px) {
	.mv .title h1 b {
	    font-size: 2.4vw;
	}
	.mv .title p {
		font-size: 2.4vw;
	}
	.mv .main .main_image {
		padding-top: 6vw;	
	}
	.mv .main .main_image div img {
		width: 66vw;
	}
	.mv .main h2 {
		font-size: 2.6vw;
	}
	.mv .main ul li {
		font-size: 1.9vw;
	}
	.mv .main p {
		font-size: 4.2vw;
		top: 35%;
	}
}
@media screen and (max-width: 640px) {
	.mv .main .main_image {
		margin: 0 auto 0 2vw;
		width: 74%;
		padding-top: 5vw;
	}
	.mv .main .main_image div img {
		width: 69.5vw;
	}
	.mv .main .main_index {
		top: 3rem;
	}
    .mv .main ul li {
        font-size: 3.4vw;
    }
	.mv .main ul li .pc_none {
		display: inline;
	}
	.mv .main p {
        font-size: 6.4vw;
        top: 38%;
    }
}
@media screen and (max-width: 480px) {
	.mv {
		margin-bottom: 3rem;
	}
	.mv .title h1 b {
        font-size: 3.2vw;
    }
	.mv .title h1 {
		margin-bottom: 0;	
	}
    .mv .title p {
        font-size: 3.6vw;
    }
    .mv .main h2 {
        font-size: 4.2vw;
    }
	.mv .main .main_image {
		padding-top: 10vw;
	}
	.mv .main .main_image div {
		animation: circle 0.5s 0.3s ease-in-out forwards;
	}
    .mv .main .main_index {
        top: 1.5rem;
    }
	.mv .main ul li {
        font-size: 3.5vw;
    }
	.mv .main ul li:nth-child(1) {
		transition-delay: 0.7s;	
	}
	.mv .main ul li:nth-child(2) {
		transition-delay: 1.1s;	
	}
	.mv .main ul li:nth-child(3){
		transition-delay: 1.4s;	
	}
	.mv .main p {
		font-size: 7vw;
        top: 33%;
    }

}

/* ----------------------------- */
/* Message
/* ----------------------------- */
.message {
	text-align: center;
	margin-bottom: 8rem;
}
.message h3 {
	font-size: 3.6rem;
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: 0.1em;
	margin-bottom: 2rem;
}
.message p {
	font-size: 1.8rem;
	line-height: 1.8;
	margin-bottom: 2rem;
}
.message p span {
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 800;
	display: inline-block;
	padding: 3px 5px 3px 0;
	margin-bottom: 0.5rem;
}
.message_target {
	font-size: 2rem;
	font-weight: 600;
	display: flex;
	justify-content: center;
}
.message_target p {
	text-align: left;
	line-height: 1.3 !important;
}
.message_target p span {
	padding: 0;
}
.message_concept {
	font-size: 2.4rem !important;
	margin-bottom: 5rem !important;
}
.certification {
	padding: 2rem;
	font-size: 1.6rem;
	width: 90%;
	max-width: 800px;
	margin: 0 auto 5rem;
	border: solid 1px #d35344;
	border-radius: 3px;
	color: #d35344;
	box-sizing: border-box;
}
@media screen and (max-width: 480px) {
	.message  {
		margin-bottom: 4rem;	
	}
	.message h3 {
	    font-size: 2.8rem;
	}
	.message p {
		font-size: 1.6rem;
	}
	.message p span {
		font-size: 1.8rem;
	}
	.message_target p span {
		padding-top: 1rem;
	}
	.message_concept {
		font-size: 2rem !important;	
	}
}

/* ----------------------------- */
/* Step
/* ----------------------------- */
.step {
	background: #dddfe8;
	padding: 5rem;
	border-radius: 2rem;
	margin-bottom: 7rem;
}
.step h3 {
	font-size: 3.4rem;
	line-height: 1.4;
	margin-bottom: 2rem;
}
.step ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.step_frame {
	width: 46%;
	background: #fff;
	border-radius: 1rem;
}
.step_frame h4 {
	background: #1f2a66;
	padding: 1rem 3rem;
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
	color: #fff;
	display: flex;
	align-items: center;
	font-size: 3.6rem;
}
.step_frame h4 p {
	position: relative;
	padding-right: 1.5rem;
	margin-right: 2rem;
	letter-spacing: 0.05em;
}
.step_frame h4 p span {
	font-size: 115%;	
}
.step_frame h4 p::after {
	content: "";
	position: absolute;
	width: 1px;
	top: 1rem;
	right: 0;
	bottom: 1rem;
	background: #fff;
}
.step_frame h4 b {
	font-size: 3rem;
	font-weight: 500;
}
.step_frame h4+p {
	text-align: center;
	font-size: 3rem;
	line-height: 1.2;
	font-weight: 600;
	padding: 2rem;
}
.step ul li:nth-child(2) {
	width: 4%;
}
.step ul li:nth-child(2) img {
	width: 100%;	
}

.step_ttl {
	text-align: center;
	margin-bottom: 3rem;
}
.step_ttl h4 {
	display: inline-block;
	font-size: 4rem;
	line-height: 1.2;
	padding: 0 1.5rem;
	letter-spacing: 0.05em;
	margin-bottom: 1rem;
}
.step_ttl h4 span {
	font-size: 115%;
	display: inline-block;
	margin-left: 1rem;
}
.step_ttl b {
	display: block;
	font-size: 3.6rem;
	margin-bottom: 1rem;
}
.step_ttl p {
	font-size: 1.8rem;
	line-height: 1.6;
}
@media screen and (max-width: 1200px) {
	.step_frame h4 {
		font-size: 2.8vw;	
	}
	.step_frame h4 b {
		font-size: 2.2vw;	
	}
	.step_frame h4+p {
		font-size: 2.4vw;
	}
}
@media screen and (max-width: 960px) {
	.step_frame h4 {
		padding: 1rem 2rem;
	}
	.step_frame h4+p {
		padding: 1rem;
	}
}
@media screen and (max-width: 640px) {
	.step { 
		padding: 3rem;	
	}
}
@media screen and (max-width: 480px) {
	.step h3 {
		font-size: 2.4rem;	
	}
	.step ul {
		display: block;
	}
	.step_frame {
	    width: 100%;
	}
	.step_frame h4 {
		font-size: 2rem;;	
	}
	.step_frame h4 p::after {
		top: 0.5rem;
		bottom: 0.5rem;
	}
	.step_frame h4 b {
		font-size: 1.8rem;	
	}
	.step_frame h4+p {
		font-size: 2rem;
	}
	.step ul li:nth-child(2) {
		width: 100%;
		text-align: center;
	}
	.step ul li:nth-child(2) img {
		transform: rotate(90deg);
		width: 12%;
	}
	.step_ttl h4 {
		font-size: 3rem;
	}
	.step_ttl b {
		font-size: 2.5rem;
	}
}

/* ----------------------------- */
/* Structure
/* ----------------------------- */
.structure {
	margin-bottom: 12rem;
}
.str_map {
	margin-bottom: 10rem;
}
.structure .str_seminar {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	margin-top: 8rem;
	margin-bottom: 8rem;
}
.structure .str_seminar li {
	width: 32%;
	box-sizing: border-box;
	border-radius: 2rem;
	position: relative;
	
}
.structure .str_seminar li:nth-child(2) {
	transition-delay: .20s;	
}
.structure .str_seminar li:nth-child(3) {
	transition-delay: .40s;	
}
.structure .str_seminar li a {
	display: block;
	height: 100%;
	border-radius: 2rem;
	padding: 3rem;
	box-sizing: border-box;
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	transition : all 500ms;
}
.structure .str_seminar li a:hover {
	box-shadow: -10px 15px 25px rgba(0,0,0,0.4);
}

.structure .str_seminar li .alp {
	position: absolute;
	font-size: 3.6rem;
	line-height: 1;
	border-bottom: solid 1px #fff;
	color: #fff;
	top: 3rem;
	left: 3rem;
}
.structure .str_seminar li img {
	display: block;
	width: 40%;
	margin: -7rem auto 2rem;
}
.structure .str_seminar li b {
	display: block;
	text-align: center;
	font-size: 3.8rem;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	margin-bottom: 2rem;
}
.structure .str_seminar li p {
	color: #fff;
	font-size: 2.4rem;
	display: inline-block;
	line-height: 1;
	margin-bottom: 2rem;
}
.structure .str_seminar li.bgcl_y .alp,
.structure .str_seminar li.bgcl_y b,
.structure .str_seminar li.bgcl_y p {
	color: #595757;
}
.structure .str_seminar li.bgcl_y .alp {
	border-bottom: solid 1px #595757;
}
.structure .str_seminar ol {
	width: calc(100% - 50px);
}
.structure .str_seminar ol li {
	width: 100%;
	padding: 3px 1rem;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 0.75rem;
}
.structure .str_seminar ol li:last-child {
	margin-bottom: 0;	
}
.structure .str_seminar li .down {
	position: absolute;
	text-align: center;
	width: 45px;
	height: 45px;
	line-height: 45px;
	background: #fff;
	font-size: 2rem;
	border-radius: 100vw;
	right: 1.5rem;
	bottom: 1.5rem;
	transition : all 500ms;
}
.structure .str_seminar li a:hover .down {
	transform: translateY(5px);	
}
.structure .str_seminar .str_line {
	width: 100%;
	box-shadow: none;
	margin-bottom: 1rem;
}
.structure .str_seminar .str_line img {
	display: block;
	width: 68%;
	margin: 0 auto;
}
.structure .str_seminar li.bgcl_n {
	width: 100%;
	
}
.structure .str_seminar li.bgcl_n a {
	padding-left: 27%;
}
.structure .str_seminar li.bgcl_n img {
	width: 22%;
	position: absolute;
	margin-bottom: 0;
	left: 3%;
	bottom: 0;
}
.structure .str_seminar li.bgcl_n .meets {
	display: flex;
	align-items: center;
	color: #fff;
	font-size: 2.2rem;
	margin-bottom: 1rem;
}
.structure .str_seminar li.bgcl_n .meets span {
	padding: 5px 1rem;	
}
.structure .str_seminar li.bgcl_n .meets span:nth-child(1), 
.structure .str_seminar li.bgcl_n .meets span:nth-child(3), 
.structure .str_seminar li.bgcl_n .meets span:nth-child(5) {
	width: 22.5%;
	text-align: center;
}
.structure .str_seminar li.bgcl_n .meets span.cross {
	font-size: 3rem;
	font-weight: 100;
	padding: 0 0.5rem;
}
.structure .str_seminar li.bgcl_n .meetup_ttl {
	display: flex;
	align-items: center;
	line-height: 1;
	flex-wrap: wrap;
}
.structure .str_seminar li.bgcl_n .meetup_ttl p {
	font-size: 2.6rem;
	margin-right: 1rem;
	margin-bottom: 0;
}
.structure .str_seminar li.bgcl_n .meetup_ttl b {
	margin-bottom: 0;
	padding-right: 6rem;
}
.structure .str_map img {
	display: block;
	margin: 0 auto;
}
.structure .str_map img {
	width: 100%;
	max-width: 560px;
}

@media screen and (max-width: 1260px) {
	.structure .str_seminar li a {
		padding: 2.5vw;	
	}
	.structure .str_seminar li .alp {
		font-size: 3vw;
		top: 2vw;
		left: 3vw;
	}
	.structure .str_seminar li b {
		font-size: 3.2vw;
	}
	.structure .str_seminar li p {
		font-size: 1.8vw;
	}
	.structure .str_seminar ol li {
		font-size: 1.4vw;
	}	
}
@media screen and (max-width: 1120px) {
	.structure .str_seminar li.bgcl_n .meets {
		font-size: 1.8vw;
	}
}
@media screen and (max-width: 860px) {
	.structure .str_seminar li.bgcl_n a {
		padding: 2rem 3rem;
		padding-left: 32%;
	}
	.structure .str_seminar li.bgcl_n img {
	    width: 27%;
	}
	.structure .str_seminar li.bgcl_n .meets {
		font-size: 1.5vw;
	}
}
@media screen and (max-width: 640px) {
	
	.structure .str_seminar li a {
		padding-bottom: 5.5rem;
	}
	.structure .str_seminar li img {
		width: 55%;
		margin: -6vw auto 1rem;
	}
	.structure .str_seminar li p {
        font-size: 3.5vw;
		line-height: 1.3;
		margin-bottom: 1rem;
    }
	.structure .str_seminar li p .pc_none {
		display: inline;
	}
	.structure .str_seminar ol {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		width: 100%;
	}
	.structure .str_seminar ol li {
		writing-mode: vertical-rl;
		font-size: 1.6rem;
		width: 30%;
		line-height: 1;
		display: flex;
		align-items: center;
		margin: 0 0.5rem;
		height: 180px;
		padding-top: 0.5rem;
	}
	.structure .str_seminar ol li:first-child {
		margin-left: 0;	
	}
	.structure .str_seminar ol li:last-child {
		margin-right: 0;	
	}
	.structure .str_seminar li .down {
		width: 30px;
		height: 30px;
		line-height: 30px;
		font-size: 1.6rem;
		right: 1.5rem;
		bottom: 1.5rem;
	}
	.structure .str_seminar li:nth-child(-n+3) .down {
		right: inherit;
		left: calc(50% - 15px);
		bottom: 1rem;
	}	
	
	.structure .str_seminar li.bgcl_n a {
		padding: 2rem 3rem;
		padding-bottom: 13rem;
	}

	.structure .str_seminar li.bgcl_n img {
	    width: 32%;
		left: 34%;
		bottom: -2rem;
	}
	.structure .str_seminar li.bgcl_n .meets {
		font-size: 2.2vw;
		margin-bottom: 4px;
	}
	.structure .str_seminar li.bgcl_n .meets span.cross {
		font-size: 2.8rem;
	}
	.structure .str_seminar li.bgcl_n .meetup_ttl b {
		padding-right: 0;
		font-size: 3.6rem;
	}
	
	
}
@media screen and (max-width: 480px) {
	.structure .str_seminar {
		margin-top: 0;
		margin-bottom: 4rem;
	}
	.structure .str_seminar li a {
		padding-left: 2vw;	
		padding-right: 2vw;	
	}
	.structure .str_seminar li .alp {
		font-size: 1.2rem;
		top: 1.5rem;
	}
	.structure .str_seminar li img {
		width: 65%;
	}
	.structure .str_seminar li:nth-child(-n+3) b {
		writing-mode: vertical-rl;
		font-feature-settings: 'pkna';
		text-align: left;
		font-size: 20px;
		width: 100%;
		height: 160px;
		margin-bottom: 1rem;
		display: flex;
		align-items: center;
	}
	.structure .str_seminar ol li {
		font-size: 1.4rem;
		margin: 0 0.25rem;
	}
	.structure .str_seminar ol li:first-child {
		margin-left: 0;	
	}
	.structure .str_seminar ol li:last-child {
		margin-right: 0;	
	}
	
	.structure .str_seminar li.bgcl_n a {
		padding: 2rem;
		padding-bottom: 10rem;
	}
	.structure .str_seminar li.bgcl_n img {
	    width: 50%;
		left: 25%;
	}
	.structure .str_seminar li.bgcl_n .meetup_ttl p {
		font-size: 1.9rem;
	}
	.structure .str_seminar li.bgcl_n .meets {
		font-size: 3.4vw;
		line-height: 1.2;
		margin-bottom: 1rem;
	}
	.structure .str_seminar li.bgcl_n .meets span {
		padding: 5px 0.5rem;
	}
}

/* ----------------------------- */
/* Program
/* ----------------------------- */
.program {
	margin-bottom: 10rem;
}
.program h3 {
	font-size: 4.8rem;
	line-height: 1;
	margin-bottom: 3rem;
}
.program .pg_tab {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	max-width: 770px;
	margin: 0 auto;
}
.program .pg_tab li {
	width: 32%;
	text-align: center;
	font-size: 2rem;
	line-height: 1.2;
	font-weight: 500;
}
.program .pg_tab li:nth-child(1) .current,
.program .pg_tab li:nth-child(2) .current {
	color: #fff;
}
.program .pg_tab li:nth-child(3) .current {
	color: #595757;
}
.program .pg_tab li:nth-child(1) a:hover {
	background: #aa8e59;
	color: #fff;
}
.program .pg_tab li:nth-child(2) a:hover {
	background: #d35344;
	color: #fff;
}
.program .pg_tab li:nth-child(3) a:hover {
	background: #f5e92e;
	color: #595757;
}
.program .pg_tab li:nth-child(1) a {
	border-top: solid 1px #aa8e59;
	border-left: solid 1px #aa8e59;
	border-right: solid 1px #aa8e59;
}
.program .pg_tab li:nth-child(1) .current {
	border-bottom: solid 5px #aa8e59;
}
.program .pg_tab li:nth-child(2) a {
	border-top: solid 1px #d35344;
	border-left: solid 1px #d35344;
	border-right: solid 1px #d35344;
}
.program .pg_tab li:nth-child(2) .current {
	border-bottom: solid 5px #d35344;
}
.program .pg_tab li:nth-child(3) a {
	border-top: solid 1px #f5e92e;
	border-left: solid 1px #f5e92e;
	border-right: solid 1px #f5e92e;
}
.program .pg_tab li:nth-child(3) .current {
	border-bottom: solid 5px #f5e92e;
}
.program .pg_tab li a {
	padding: 1.5rem 0;
	display: block;
	transition : all 500ms;
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
}

.program .pg_frame {
	background: #fff;
	border-bottom-left-radius: 2rem;
	border-bottom-right-radius: 2rem;
	box-shadow: 0px 10px 10px rgba(0,0,0,0.2);
	padding: 5rem;
	margin-bottom: 10rem;
}

.program .pg_frame.pg01 {
	border-top: solid 2px #aa8e59;	
}
.program .pg_frame.pg02 {
	border-top: solid 2px #d9374b;	
}
.program .pg_frame.pg03 {
	border-top: solid 2px #f5e92e;	
}

.program .pg_frame .pg_cont {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 5rem;
}

.program .pg_frame .pg_catch {
	position: sticky;
	top: 3rem;
	width: 180px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.program .pg_frame .pg_catch .pg_merit {
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 1rem;
	position: relative;
	width: 110%;
}
.program .pg_frame .pg_catch .pg_merit img {
	/*animation: rotation 12s linear infinite;*/
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.program .pg_frame .pg_catch .pg_merit a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.program .pg_frame .pg_catch .pg_merit a span {
	display: block;
	text-align: center;
	color: #fff;
}
.program .pg03 .pg_catch .pg_merit a span {
	color: #595757;
}
.program .pg_frame .pg_catch .pg_copy {
	font-size: 4.5rem;
	line-height: 1.4;
	font-feature-settings: "palt";
	writing-mode: vertical-rl;
}
.program .pg01 .pg_catch .pg_copy span {
	color: #cd1321;	
}
.program .pg02 .pg_catch .pg_copy span {
	color: #0075c2;	
}
.program .pg03 .pg_catch .pg_copy span {
	color: #d9374b;	
}
.program .pg_frame .pg_cont .pg_detail {
	width: calc(100% - 200px);
}
.program .pg_frame .pg_cont .pg_detail .pg_outline_wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 3rem;
}
.program .pg_frame .pg_cont .pg_detail .pg_image {
	display: block;
	width: 35%;
	border-radius: 5px;
	order: 2;
}
.program .pg_frame .pg_cont .pg_detail .pg_exp {
	width: 62%;	
}
.program .pg_frame .pg_cont .pg_detail .pg_title {
	display: flex;
	align-items: center;
	line-height: 1;
	margin-bottom: 1rem;
}
.program .pg_frame .pg_cont .pg_detail .pg_title span {
	font-size: 3.6rem;
	margin-right: 1rem;
	font-weight: 600;
}
.program .pg_frame .pg_cont .pg_detail .pg_title p {
	font-size: 2.6rem;
	line-height: 1.2;
	font-weight: 500;
}
.program .pg_frame .pg_cont .pg_detail .pg_point {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}
.program .pg_frame .pg_cont .pg_detail .pg_point li {
	padding: 0.5rem 1.5rem;
	border-radius: 100vw;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	font-size: 1.8rem;
}
.program .pg_frame .pg_cont .pg_detail .pg_point li:last-child {
	margin-right: 0;	
}
.program .pg01 .pg_cont .pg_detail .pg_point li {
	background: #cd1321;
	color: #fff;
}
.program .pg02 .pg_cont .pg_detail .pg_point li {
	background: #0075c2;
	color: #fff;
}
.program .pg03 .pg_cont .pg_detail .pg_point li {
	background: #d9374b;
	color: #fff;
}
.program .pg_frame .pg_cont .pg_detail .pg_lead {
	font-size: 1.6rem;
	line-height: 2;
	padding-bottom: 1.5rem;
	border-bottom: solid 1px #000;
	margin-bottom: 2rem;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline,
.pg04 .meetup_outline div ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	font-size: 1.6rem;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li,
.pg04 .meetup_outline div ul li {
	margin-right: 1rem;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(1),
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(4){
	width: 130px;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(1) span {
	font-size: 1.8rem;
	display: block;
	width: 100%;
	text-align: center;
	padding: 4px 0;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(n+2) span:nth-child(1),
.pg04 .meetup_outline div ul li span:nth-child(1) {
	display: inline-block;
	border: solid 1px #000;
	padding: 4px 1rem;
	text-align: center;
	margin-right: 6px;
	box-sizing: border-box;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(2) span:nth-child(1),
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(5) span:nth-child(1) {
	/*width: 88px;*/
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(2) span:nth-child(2) small {
	font-size: 1.3rem;
	line-height: 1.3;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(2) span:nth-child(2),
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(5) span:nth-child(2),
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(6) span:nth-child(2),
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(7) span:nth-child(2) {
	line-height: 1;
}
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(5) small,
.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(7) small,
.pg04 .meetup_outline div ul li:last-child small {
	font-size: 1.2rem;	
}
.program .pg01 .pg_cont .pg_detail .pg_exp b {
	font-size: 1.6rem;
	position: relative;
	display: inline-block;
	z-index: 1;
}
.program .pg01 .pg_cont .pg_detail .pg_exp b::after {
	content: "";
	position: absolute;
	height: 5px;
	width: 100%;
	background: #f5e92e;
	left: 0;
	bottom: 1px;
	z-index: -1;
}

.program .pg_frame .pg_cont .pg_detail .pg_seminar {
	padding-top: 3rem;
	padding-left: 3rem;
	border-top-left-radius: 0.75rem;
	margin-bottom: 3rem;
}
.program .pg01 .pg_cont .pg_detail .pg_seminar {
	border-top: solid 2px #aa8e59;
	border-left: solid 2px #aa8e59;
}
.program .pg02 .pg_cont .pg_detail .pg_seminar {
	border-top: solid 2px #d35344;
	border-left: solid 2px #d35344;
}
.program .pg03 .pg_cont .pg_detail .pg_seminar {
	border-top: solid 2px #f5e92e;
	border-left: solid 2px #f5e92e;
}

.program .pg_frame .pg_cont .pg_detail .seminar_main {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 2rem;
}
.program .pg_frame .pg_cont .pg_detail .seminar_main .seminar_info {
	width: 80%;
}
.program .pg_frame .pg_cont .pg_detail .seminar_main .seminar_illust {
	width: 16%;
}
.program .pg_frame .pg_cont .pg_detail .seminar_main .seminar_illust img {
	display: block;
	width: 100%;
}
.program .pg_frame .pg_cont .pg_detail .seminar_main .date,
.program .pg04 .meetup_outline .date {
	font-size: 4.8rem;
	font-weight: 800;
	line-height: 1;
	margin-right: 5px;
}
.program .pg_frame .pg_cont .pg_detail .seminar_main .dow,
.program .pg04 .meetup_outline .dow {
	font-size: 1.6rem;
	background: #000;
	color: #fff;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	border-radius: 50%;
	margin-right: 1rem;
	display: inline-block;
	transform: translateY(-3px);
}
.program .pg_frame .pg_cont .pg_detail .seminar_main .time,
.program .pg04 .meetup_outline .time{
	font-size: 2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
}
.program .pg_frame .pg_cont .pg_detail .seminar_main h5 {
	text-align: left;
	font-size: 2.8rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
	margin-bottom: 1rem;
}
.program .pg_frame .pg_cont .pg_detail .seminar_main .seminar_lead {
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: 500;
	text-align: justify;
}
.program .pg_frame .pg_cont .pg_detail .seminar_subject {
	font-size: 1.6rem;
	padding-bottom: 2rem;
	margin-bottom: 3rem;
}
.program .pg01 .pg_cont .pg_detail .seminar_subject { 
	border-bottom: solid 1px #aa8e59;
}
.program .pg02 .pg_cont .pg_detail .seminar_subject { 
	border-bottom: solid 1px #d35344;
}
.program .pg03 .pg_cont .pg_detail .seminar_subject { 
	border-bottom: solid 1px #f5e92e;
}
.program .pg_frame .pg_cont .pg_detail .seminar_subject li {
	margin-bottom: 0.5rem;
	position: relative;
	padding-left: 1.6rem;
}
.program .pg_frame .pg_cont .pg_detail .seminar_subject li::before {
	content: "●";
	position: absolute;
	font-size: 1.4rem;
	top: 2px;
	left: 0;
}
.program .pg01 .pg_cont .pg_detail .seminar_subject li::before {
	color: #aa8e59;
}
.program .pg02 .pg_cont .pg_detail .seminar_subject li::before {
	color: #d35344;
}
.program .pg03 .pg_cont .pg_detail .seminar_subject li::before {
	color: #bba90c;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture img {
	display: block;
	border-radius: 2rem;
	width: 30%;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div {
	width: 67.5%;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div .name {
	font-size: 2rem;
	font-weight: 500;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div .name span {
	font-size: 1.6rem;
	margin-right: 10px;
	letter-spacing: 0.1em;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div .position {
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 0.75rem;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 0.5rem;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div ul li {
	font-size: 1.6rem;
	padding: 2px 1.25rem;
	border-radius: 100vw;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div ul li:last-child {
	margin-right: 0;	
}
.program .pg_frame .pg_cont .pg_detail .seminar_lecture div .profile {
	text-align: justify;
	font-size: 1.4rem;
	line-height: 1.8;
}

.program .pg_frame .pg_cont .pg_detail .form_button {
	display: block;
	width: 90%;
	max-width: 740px;
	font-size: 3.2rem;
	text-align: center;
	margin: 2rem auto;
	border-radius: 5px;
	padding: 1.5rem;
	box-sizing: border-box;
	box-shadow: 0 6px 0 #9d9e9e;
	transition : all 500ms;
	position: relative;
}
.program .pg_frame .pg_cont .pg_detail .form_button::after {
	content: "→";
	width: 30px;
	height: 30px;
	line-height: 30px;
	border-radius: 50%;
	text-align: center;
	display: block;
	position: absolute;
	right: 1.5rem;
	top: calc(50% - 15px);
	background: #000;
	color: #fff;
	font-size: 1.3rem;
}
.program .pg_frame .pg_cont .pg_detail .form_button:hover {
	box-shadow: 0 0 0 #9d9e9e;
	transform: translateY(6px);
}
.program .pg_frame .pg_cont .pg_detail .form_button p {
	font-size: 1.6rem;
	font-weight: 500;
}
.program .pg_frame .pg_cont .pg_detail .form_button p span {
	display: inline-block;
	font-size: 1.4rem;
	background: #fff;
	padding: 2px 8px;
	margin-right: 0.5rem;
}
.program .pg_frame .pg_cont .pg_detail .flyer_link {
	text-align: center;
}
.program .pg_frame .pg_cont .pg_detail .flyer_link a {
	font-size: 1.6rem;
	text-decoration: underline;
}

.program .pg_frame .qa {
	padding: 3.5rem 5rem;
	border-radius: 2rem;
}
.program .pg01 .qa {
	background: #f2eee6;
}
.program .pg02 .qa {
	background: #f8e5e3;
}
.program .pg03 .qa {
	background: #fdf9cb;
}

.program .pg_frame .qa h5 {
	font-size: 6rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	margin-bottom: 2rem;
	line-height: 1;
}
.program .pg_frame .qa h5 span:nth-child(1) {
	color: #1f2a66;
}
.program .pg_frame .qa h5 span:nth-child(2) {
	font-size: 5rem;
	color: #3e3a39;
}
.program .pg_frame .qa h5 span:nth-child(3) {
	color: #e40012;
}

.toggle {
	display: none;
}
.qa_q {
	font-size: 1.8rem;
	padding: 2rem;
	display: block;
	background: #fff;
	border-radius: 1rem;
	padding-left: 9rem;
	padding-right: 7rem;
	cursor: pointer;
}
.qa_q:before {
	content: "Q";
	font-family: "Bodoni Moda", serif;
	color: #1f2a66;
	font-size: 4.2rem;
	font-weight: 700;
	position: absolute;
	top: calc(50% - 0.5em);
	left: 2rem;
	line-height: 1;
	padding-right: 2rem;
	border-right: solid 1px #666;
}
.qa_q::after{	
	content:"";
	width: 16px;
	height: 16px;
	border-top: 2px solid #1f2a66;
	border-right: 2px solid #1f2a66;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 12px );
	right: 2rem;
	transform: rotate(135deg);
}
.qa_q,
.qa_a {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.qa_a  {
	height: 0;
	margin-bottom: 2.5rem;
	padding-left: 9rem;
	overflow: hidden;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.6;
}
.qa_a:before  {
	content: "A";
	font-family: "Bodoni Moda", serif;
	color: #e40012;
	font-size: 4.2rem;
	font-weight: 700;
	position: absolute;
	top: 2rem;
	left: 2rem;
	line-height: 1;
}
.toggle:checked + .qa_q + .qa_a  {
	height: auto;
	padding: 2rem;
	padding-left: 9rem;
	transition: all .3s;
}
.toggle:checked + .qa_q + .qa_a.last_a  {
	padding-bottom: 0;	
}
.toggle:checked + .qa_q::after {
	transform: rotate(-45deg) !important;
	top:calc( 50% - 6px );
}

@media screen and (max-width: 960px) {
	
	.program .pg_frame {
		padding: 3rem 4rem;	
	}
	
	.program .pg_frame .pg_cont {
		display: block;

	}
	.program .pg_frame .pg_catch {
		position: static;
		width: 100%;
		align-items: center;
		justify-content: flex-start;
		margin-bottom: 1.5rem;
	}

	.program .pg_frame .pg_catch .pg_merit {
		font-size: 2.1rem;
		width: 140px;
		margin-right: 1rem;
	}
	.program .pg_frame .pg_catch .pg_copy {
		font-size: 3.6rem;
		writing-mode: inherit;
	}
	
	
	.program .pg_frame .pg_cont .pg_detail {
		width: 100%;
	}
	
}
@media screen and (max-width: 640px) {
	.program .pg_frame .pg_catch {
		display: block;
	}
	.program .pg_frame .pg_catch .pg_merit {
		margin: 0 auto 0.5rem;
	}
	.program .pg_frame .pg_catch .pg_copy {
		text-align: center;
	}

	.program .pg_frame .pg_cont .pg_detail .pg_outline_wrap {
		display: block;
		margin-bottom: 1.5rem;
	}
	.program .pg_frame .pg_cont .pg_detail .pg_image,
	.program .pg_frame .pg_cont .pg_detail .pg_exp {
		width: 100%;
	}
	.program .pg_frame .pg_cont .pg_detail .pg_image {
		margin-bottom: 1.5rem;
	}
	
	.program .pg_frame .qa {
		padding: 2rem 3.5rem;
	}
}
@media screen and (max-width: 480px) {
	.program {
		margin-bottom: 6rem;
	}
	.program h3 {
	    font-size: 3.2rem;
	}
	.program .pg_tab li {
		font-size: 1.6rem;	
	}
	.program .pg_tab li a {
		border-top-left-radius: 1.25rem;
		border-top-right-radius: 1.25rem;
		padding: 1rem 0;
	}	
	.program .pg_frame {
		padding: 2rem 1.5rem;	
	}
	.program .pg_frame .pg_catch .pg_merit {
		font-size: 1.9rem;
		width: 120px;
	}
	.program .pg_frame .pg_catch .pg_copy {
		font-size: 2.8rem;
	}
	.program .pg01 .pg_cont .pg_detail .pg_exp b {
	    font-size: 1.35rem;
	}

	.program .pg_frame .pg_cont .pg_detail .pg_seminar {
		padding-top: 1.5rem;
		padding-left: 2rem;
		padding-right: 1rem;
	}
	.program .pg_frame .pg_cont .pg_detail .pg_outline li:nth-child(3) span:nth-child(1) {
	    width: 88px;
	}
	.program .pg_frame .pg_cont .pg_detail .seminar_main {
		display: block;
	}
	.program .pg_frame .pg_cont .pg_detail .seminar_main .seminar_info {
		width: 100%;
	}
	.program .pg_frame .pg_cont .pg_detail .seminar_datetime {
		margin-bottom: 0.5rem;
	}
	.program .pg_frame .pg_cont .pg_detail .seminar_main h5 {
		font-size: 2.6rem;
	}
	.program .pg_frame .pg_cont .pg_detail .seminar_main .seminar_illust {
		width: 40%;
		margin: 1rem auto;
	}
	
	.program .pg_frame .pg_cont .pg_detail .seminar_lecture {
		display: block;
	}
	.program .pg_frame .pg_cont .pg_detail .seminar_lecture img,
	.program .pg_frame .pg_cont .pg_detail .seminar_lecture div {
		width: 100%;
	}
	.program .pg_frame .pg_cont .pg_detail .seminar_lecture img {
		width: 80%;
		margin-bottom: 1rem;
	}
	.program .pg_frame .pg_cont .pg_detail .form_button {
		font-size: 2.4rem;
		line-height: 1.2;
	}
	.program .pg_frame .pg_cont .pg_detail .form_button::after {
		right: 1rem;
	}
	.program .pg_frame .pg_cont .pg_detail .form_button p {
		margin-top: 0.5rem;
	}
	.program .pg_frame .qa {
		padding: 2.5rem 1.5rem 1.5rem;
	}
	.qa {
		padding: 4rem 2rem 2rem;
	}
	.program .pg_frame .qa h5 {
		font-size: 4rem;
	}
	.program .pg_frame .qa h5 span:nth-child(2) {
		font-size: 3rem;
	}
	.qa_q  {
		padding-left: 7rem;
		padding-right: 5.5rem;	
	}
	.qa_a  {
		font-size: 1.8rem;
		margin-bottom: 1.5rem;
	}
	.qa_q:before, .qa_a:before {
		font-size: 3.6rem;	
		left: 1.5rem;
		padding-right: 1.5rem;
	}
	.toggle:checked + .qa_q + .qa_a {
		padding-left: 7rem;	
	}
}

/* 交流会 */
.pg04 {
	padding: 5rem;
	border-radius: 2rem;
	border: solid 3rem #1f2a66;
}
.pg04 h5 {
	text-align: center;
	margin-top: -11rem;
	margin-bottom: 3rem;
}
.pg04 h5 span {
	font-size: 6rem;
	font-weight: 800;
	background: #fff;
	display: inline-block;
	padding: 0 1rem;
}
.pg04 .meetup_info {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 3rem;
}
.pg04 .meetup_info .meetup_image {
	display: block;
	width: 35%;
	border-radius: 2rem;
}
.pg04 .meetup_info_right {
	width: 61%;	
}
.pg04 .meetup_info_right img {
	display: block;
	width: 100%;
	margin: 0 auto;
}
.pg04 .meetup_info_right .collabo {
	max-width: 540px;
	margin-bottom: 1.5rem;
}
.pg04 .meetup_outline {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.pg04 .meetup_outline div {
	width: 100%;
}
.pg04 .meetup_outline div .meetup_datetime {
	position: relative;
	margin-bottom: 1rem;
}
.pg04 .meetup_outline div .meetup_datetime img {
	position: absolute;
	display: block;
	width: 16%;
	top: 0;
	right: -1rem;
}
.pg04 .meetup_outline div ul li {
	font-size: 2rem;
	line-height: 1.2;
}
.pg04 .meetup_outline div ul li span:nth-child(1) {
	border: solid 1px #1e2b66;
	font-size: 1.8rem;
}
.pg04 .meetup_point {
	width: 100%;
	margin-bottom: 3.5rem;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.pg04 .meetup_point li {
	margin-bottom: 0.75rem;
	padding: 0.6rem 1.25rem;
	font-size: 2.2rem;
	line-height: 1.2;
	position: relative;
	width: 32.5%;
	height: 6rem;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}
.pg04 .meetup_point li::after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
	top: 0;
	right: 0;
	border-width: 3rem 1.5rem 3rem 0px;
	border-color: transparent #fff transparent transparent;
	border-style: solid;
}
.pg04 .meetup_point li:last-child {
	margin-bottom: 0;	
}
.pg04 .meetup_detail {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.pg04 .meetup_detail .meetup_program,
.pg04 .meetup_detail .meetup_model {
	width: 48.5%;	
}
.pg04 .meetup_detail .meetup_program b {
	font-size: 4.2rem;
	line-height: 1;
}
.pg04 .meetup_detail .meetup_program b+p {
	font-size: 2.2rem;
	font-weight: 500;
	margin-bottom: 1rem;
}
.pg04 .meetup_detail .meetup_program ul li {
	padding: 1.5rem 2rem 2rem;
	position: relative;
	background: #e4e5ed;
	border-radius: 5px;
	margin-bottom: 1.75rem;
}
.pg04 .meetup_detail .meetup_program ul li:last-child {
	margin-bottom: 0;	
}
.pg04 .meetup_detail .meetup_program ul li::after {
	content: "";
	position: absolute;
    border-right: 24px solid transparent;
    border-left: 24px solid transparent;
    border-top: 24px solid #1e2b66;
    border-bottom: 0;
	left: calc(50% - 24px);
	bottom: -1.5rem;
	z-index: 1;
}
.pg04 .meetup_detail .meetup_program ul li:last-child::after {
	display: none;
}
.pg04 .meetup_detail .meetup_program ul li h6 {
	font-size: 2.4rem;
	line-height: 1.2;
	margin-bottom: 0.5rem;
	text-align: left;
}
.pg04 .meetup_detail .meetup_program ul li p {
	font-size: 1.8rem;
	line-height: 1.2;
}
.pg04 .meetup_detail .meetup_program ul+small {
	font-size: 1.4rem;
}
.pg04 .meetup_detail .meetup_model h6 {
	font-size: 2rem;
	font-weight: 500;
	text-align: left;
}
.pg04 .meetup_detail .meetup_model ul li {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 2rem 0;
	border-bottom: dotted 1px #1f2a66;
}
.pg04 .meetup_detail .meetup_model ul li:last-child {
	border-bottom: 0;
}
.pg04 .meetup_detail .meetup_model ul li img {
	display: block;
	width: 17%;
}
.pg04 .meetup_detail .meetup_model ul li div {
	width: 80%;	
}
.pg04 .meetup_detail .meetup_model ul li div b {
	font-size: 2.8rem;
	line-height: 1.2;
	position: relative;
	display: inline-block;
	border: 1px solid #1f2a66;
	padding: 0.75rem 1.25rem;
	background-color: #fff;
	border-radius: 5px;
	margin-bottom: 1rem;
}
.pg04 .meetup_detail .meetup_model ul li div b small {
	font-size: 1.6rem;	
}
.pg04 .meetup_detail .meetup_model ul li div b::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 10px 15px 10px 0;
  border-color: transparent #1f2a66 transparent transparent;
  translate: -100% -50%;
}
.pg04 .meetup_detail .meetup_model ul li div b::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 8.8px 13.2px 8.8px 0;
  border-color: transparent #ffffff transparent transparent;
  translate: -100% -50%;
}
.pg04 .meetup_detail .meetup_model ul li div p {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.3;
	position: relative;
	padding-left: 2rem;
	margin-bottom: 0.5rem;
}
.pg04 .meetup_detail .meetup_model ul li div p::before {
	content: "◆";
	font-size: 1.6rem;
	position: absolute;
	top: 4px;
	left: 0;
	color: #1e2b66;
	margin-right: 3px;
}
.pg04 .meetup_detail+small {
	display: inline-block;
	font-size: 1.3rem;
	margin-top: 1rem;
}
@media screen and (max-width: 1200px) {
	
	.pg04 .meetup_outline div ul li:nth-child(1) {
		width: 100%;
	}
	.pg04 .meetup_outline div .meetup_datetime img {
		width: 18%;
	}
	.pg04 .meetup_outline div ul li:nth-child(4) small {
		display: block;
	}
	.pg04 .meetup_point li {
		padding: 0.6rem 1.25rem;
		font-size: 1.8vw;
	}
}
@media screen and (max-width: 960px) {
	.pg04 h5 {
		margin-top: -11vw;
		margin-bottom: 3rem;
		width: 120%;
        transform: translateX(-10%);
	}	
	.pg04 h5 span {
		font-size: 6vw;
		line-height: 1.2;
	}
	.pg04 .meetup_outline div ul li {
		font-size: 1.8rem;
	}	
	.pg04 .meetup_detail .meetup_program b+p {
		font-size: 2rem;
	}	
	.pg04 .meetup_detail .meetup_model ul li img {
		width: 22%;
	}
	.pg04 .meetup_detail .meetup_model ul li div {
		width: 75%;	
	}
}
@media screen and (max-width: 640px) {
	.pg04 {
		padding: 3rem;
		border-radius: 2rem;
		border: solid 2rem #1f2a66;
	}
	.pg04 .meetup_info {
		display: block;
	}
	.pg04 .meetup_info .meetup_image {
		width: 100%;
		margin-bottom: 2rem;
	}
	.pg04 .meetup_info_right {
		width: 100%;	
	}

	.pg04 .meetup_point li {
		font-size: 2.6vw;
	}	
	.pg04 .meetup_detail {
		display: block;
	}
	.pg04 .meetup_detail .meetup_program,
	.pg04 .meetup_detail .meetup_model {
		width: 100%;	
	}
	.pg04 .meetup_detail .meetup_program {
		margin-bottom: 3rem;
	}
	
	.pg04 .meetup_detail .meetup_model ul li img {
		width: 17%;
	}
	.pg04 .meetup_detail .meetup_model ul li div {
		width: 80%;	
	}
}
@media screen and (max-width: 480px) {
	.pg04 {
		padding-top: 4rem;
		padding-bottom: 2rem;
		padding: 2.5rem;
	}
	.pg04 h5 {
		margin-top: -17vw;
		margin-bottom: 1.5rem;
	}
	.pg04 h5 span {
		font-size: 7vw;
	}	
	.pg04 .meetup_info_right .collabo {
		width: 110%;
        transform: translateX(-5%);
		margin-top: 1rem;
	}
	.pg04 .meetup_outline {
		display: block;
		margin-bottom: 1rem;
	}
	.pg04 .meetup_outline div ul li {
		font-size: 1.6rem;
		width: 100%;
	}
	.pg04 .meetup_outline div ul li span:nth-child(1) {
		width: 82px;
		font-size: 1.5rem;
	}
	.pg04 .meetup_outline div ul li span:nth-child(2) {
		width: calc(100% - 92px);
	}
	.program .pg04 .meetup_outline .date {
		font-size: 12vw;
	}
	.program .pg04 .meetup_outline .time {
		font-size: 5.4vw;
	}
	.program .pg04 .meetup_outline .dow {
		font-size: 4vw;
		width: 6vw;
		height: 6vw;
		line-height: 6vw;
	}
	.pg04 .meetup_outline div .meetup_datetime img {
		width: 30%;
	}

	.pg04 .meetup_point {
		display: block;
	}
	.pg04 .meetup_point li {
		width: 100%;
		font-size: 4.5vw;
	}	
	.pg04 .meetup_detail .meetup_model ul li img {
		width: 22%;
	}
	.pg04 .meetup_detail .meetup_model ul li div {
		width: 72%;	
	}
}

/* ----------------------------- */
/* Information
/* ----------------------------- */
.information {
	margin-bottom: 10rem;
}
.information h3 {
	font-size: 3.6rem;
	line-height: 1.2;
	font-weight: 600;
	margin-bottom: 4rem;
}
.information .info_links {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 92%;
	max-width: 1170px;
	margin: 0 auto;
}
.information .info_links img {
	order: 2;
	display: block;
	width: 48.5%;
	border-radius: 2rem;
}
.information .info_links ul {
	width: 48.5%;
}
.information .info_links ul li {
	font-size: 1.8rem;
	line-height: 1.2;
	background: #fff;
	margin-bottom: 1.5rem;
}
.information .info_links ul li a {
	padding: 1.5rem 5.5rem 1.5rem 2.5rem;
	display: block;
	border-radius: 1rem;
	box-shadow: 0 5px 10px rgba(0,0,0,0.1);
	position: relative;
	transition : all 500ms;
}
.information .info_links ul li a:hover {
	box-shadow: 0 7px 15px rgba(0,0,0,0.3);
}
.information .info_links ul li a::after {
	content: "→";
	position: absolute;
	width: 2.2rem;
	height: 2.2rem;
	line-height: 2.2rem;
	text-align: center;
	font-size: 1rem;
	background: #1f2a66;
	color: #fff;
	top: calc(50% - 1.1rem);
	right: 2rem;
	border-radius: 50%;
	transition : all 500ms;
}
.information .info_links ul li a:hover::after {
	right: 1.5rem;	
}
.information .info_links ul li span {
	font-size: 1.4rem;	
}
@media screen and (max-width: 480px) {
	.information {
		margin-bottom: 8rem;
	}	
	.information h3 {
		font-size: 2.8rem;
		margin-bottom: 2rem;
	}
	.information .info_links {
		display: block;
	}
	.information .info_links img {
		width: 100%;
		border-radius: 2rem;
		margin-bottom: 2rem;
	}
	.information .info_links ul {
		width: 100%;
	}
}

/* ----------------------------- */
/* Request
/* ----------------------------- */
.request {
	padding: 5rem;
	background: #1f2a66;
	border-radius: 8rem;
	margin-bottom: 10rem;
}
.request h3 {
	font-size: 4.8rem;
	line-height: 1;
	font-weight: 600;
	color: #fff;
	margin-bottom: 2rem;
}
.request h3+p {
	text-align: center;
	font-size: 2.8rem;
	color: #fff;
	line-height: 1.3;
	margin-bottom: 3rem;
}
.request h3+p span {
	display: inline-block;
	margin-right: 1rem;
	font-size: 2.2rem;
	background: #fff;
	color: #1f2a66;
	padding: 3px 1rem;
}
.request ul {
	width: 100%;
	max-width: 1170px;
	margin: 0 auto 4rem;
}
.request ul li {
	font-size: 3.2rem;
	line-height: 1.2;
	border-radius: 2rem;
	position: relative;
	margin-bottom: 1.5rem;
	font-weight: 500;
}
.request ul li::after {
	content: "→";
	position: absolute;
	width: 3.6rem;
	height: 3.6rem;
	line-height: 3.6rem;
	text-align: center;
	font-size: 1.6rem;
	background: #000;
	color: #fff;
	top: calc(50% - 1.8rem);
	right: 2rem;
	border-radius: 50%;
	cursor: pointer;
	transition : all 500ms;
}
.request ul li:hover::after {
	right: 1.5rem;	
}
.request ul li a {
	padding: 1.25rem 6rem 1.25rem 3rem;
	display: block;
}
.request ul li:nth-child(-n+2) a {
	color: #fff;	
}
.request ul li:nth-child(3) a {
	color: #595757;	
}
.request ul+p {
	text-align: center;
	font-size: 2rem;
	color: #fff;
}
.request ul+p a {
	font-size: 3.6rem;
	font-weight: 700;
	display: inline-block;
	color: #fff;
	margin: 0 1rem;
}
@media screen and (max-width: 640px) {
	.request {
		padding: 5rem 3rem;
		border-radius: 4rem;
		margin-bottom: 10rem;
	}
	.request ul li {
		font-size: 2.6rem;
		border-radius: 1.5rem;
	}	
}
@media screen and (max-width: 480px) {
	.request {
		padding: 5rem 2rem;
		margin-bottom: 6rem;
	}
	.request h3 {
		font-size: 3.4rem;
	}
	.request h3+p {
		font-size: 2.4rem;
	}
	.request ul {
		margin-bottom: 2.5rem;
	}
	.request ul li {
		font-size: 2.2rem;
	}	
	.request ul li a {
		padding: 1.25rem 5rem 1.25rem 2rem;
	}
	.request ul li::after {
		right: 1.25rem;
	}
	
}

/* ----------------------------- */
/* Footer
/* ----------------------------- */
footer {
	padding-bottom: 3rem;
	position: relative;
}
footer h4 {
	font-size: 3.6rem;
	font-weight: 600;
	padding-top: 5rem;
	border-top: solid 1px #1f2a66;
	width: 92%;
	max-width: 1170px;
	margin: 0 auto 2rem;
}
footer h4+p {
	text-align: center;
	font-size: 2.8rem;
	margin-bottom: 2rem;
	letter-spacing: 0.05em;
}
footer h4+p span {
	font-size: 2rem;
}
footer h4+p small {
	display: block;
	font-size: 1.6rem;
}
footer .contact,
footer .credit {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
footer .contact {
	margin-bottom: 8rem;
}
footer .contact a:nth-child(1) {
	font-size: 3.2rem;
	font-weight: 700;
	padding-right: 2rem;
	border-right: solid 1px #000;
}
footer .contact a:nth-child(2) {
	font-size: 2.2rem;
	font-weight: 700;
	padding-left: 2rem;
}
footer .credit {
	font-size: 1.6rem;
	font-weight: 400;
	margin-bottom: 3rem;
}
footer .credit p:nth-child(1) {
	margin-right: 1.5rem;	
}
footer .credit p span {
	padding: 0.25rem 1rem;
	margin-right: 0.5rem;
}
footer .credit p span:nth-child(4) {
	margin-left: 2rem;	
}
footer .copyright {
	text-align: center;
	font-size: 1.4rem;
	display: block;
	letter-spacing: 0.1em;
}
footer .pagetop {
	position: absolute;
	right: 3rem;
	bottom: 5rem;
	font-size: 1.4rem;
	padding-right: 3rem;
	display: flex;
	align-items: center;
}
footer .pagetop::after {
	content: "↑";
	position: absolute;
	right: 0;
	font-size: 2rem;
	
}
@media screen and (max-width: 480px) {
	footer {
		padding-bottom: 1.5rem;
	}
	footer h4+p span {
		font-size: 1.6rem;
	}	
	footer .contact {
		display: block;
		text-align: center;
		margin-bottom: 5rem;
	}
	footer .contact a {
		display: inline-block;	
	}
	footer .contact a:nth-child(1) {
		border-right: 0;
		padding-right: 0;
		margin-bottom: 1rem;
	}
	footer .contact a:nth-child(2) {
		padding-left: 0;
	}
	footer .credit {
		display: block;
		text-align: center;
	}
	footer .credit p:nth-child(1) {
		margin-right: 0;
		margin-bottom: 2.5rem;
	}
	footer .credit p a {
		font-size: 1.6rem;	
	}
	footer .pagetop {
		bottom: 1.5rem;
		right: 1rem;
	}
	footer .copyright {
		text-align: left;
		font-size: 1.1rem;
		padding-left: 1rem;
	}
}	

@media screen and (max-width: 768px) {
	html {
		font-size: 54.5%;
	}
}
@media screen and (max-width: 480px) {
	html {
		font-size: 62.5%;
	}
}
@media screen and (max-width: 480px) {
	.pc_none {
		display: inline;
	}
}
