@charset "utf-8";

/*========================

module.css

========================*/

.module {
	--module-font-size: 1.6rem;
	--module-line-height: 1.6;
 position:relative;
 z-index:11;
}

.module .wp-block-group {
 padding:0 50px;
}

.module > *,
.module .wp-block-group > * {
	margin-top: 0;
	margin-bottom: 1.6em;
 width:100%;
}
	
.module > *:last-child,
.module > .section,
.module .wp-block-group > *:last-child,
.module .wp-block-column > *:last-child {
	margin-bottom: 0;
}

/*------------------------------------------------------------
Heading
------------------------------------------------------------*/
.module h1.wp-block-heading {
	font-size:4.0rem;
	font-weight:600;
	line-height:1.3;
	margin-bottom: 0.6em;
}

.module h2.wp-block-heading {
	font-size:3.6rem;
	font-weight:600;
	line-height:1.3;
	margin-bottom: 0.6em;
}

.module h3.wp-block-heading {
	font-size:2.8rem;
	font-weight:600;
	line-height:1.35;
 margin-bottom: 0.6em;
}

.module h4.wp-block-heading {
	font-size:2.4rem;
	font-weight:600;
	line-height:1.35;
	margin-bottom: 0.6em;
}

.module h5.wp-block-heading {
	font-size:1.8rem;
	font-weight:600;
	line-height:1.4;
	margin-bottom: 0.6em;
}

.module h6.wp-block-heading {
	font-size:1.6rem;
	font-weight:600;
	line-height:1.4;
	margin-bottom: 0.6em;
}

/*------------------------------------------------------------
Paragraph
------------------------------------------------------------*/
.module :where(p, p.wp-block-paragraph, .wp-block-paragraph) {
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
 margin-bottom: 1.6em;
}

/*------------------------------------------------------------
Preformatted 
------------------------------------------------------------*/
.module pre.wp-block-preformatted {
	font-size: var(--module-font-size);
	line-height: 2.4;
	padding: 1em;
	background: var(--gray_f5, #f5f5f5);
	overflow-x: auto;
}

.module pre.wp-block-code {
	font-size: var(--module-font-size);
	line-height: 1.6;
	padding: 1em;
	background: var(--gray_f5, #f5f5f5);
	overflow-x: auto;
}

.module pre.wp-block-code code{
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/*------------------------------------------------------------
List
-----------------------------------------------------------*/
.module :where(ul.wp-block-list, ol.wp-block-list) {
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
	padding-left: 2.0em;
	list-style: decimal;
 margin-left: 0;
}

.module ul.wp-block-list {
	list-style: disc;
 width:100%;
}

.module ol.wp-block-list {
	list-style: decimal;
 list-style-position: outside; 
}

.module :where(ul.wp-block-list li) {
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
	margin: .3em 0;
	list-style: disc;
}

.module :where(ol.wp-block-list li) {
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
	margin: .3em 0;
	list-style: decimal;
}

/*------------------------------------------------------------
Definition List
------------------------------------------------------------*/
.module dl {
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
}

.module dt {
	font-weight: 600;
	margin-top: .6em;
}

.module dd {
	margin: .3em 0 .8em 0;
}

/*------------------------------------------------------------
Details
------------------------------------------------------------*/
.module .wp-block-details summary {
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
	cursor: pointer;
}

.module .wp-block-details p {
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
	margin-top: .8em;
}

/*------------------------------------------------------------
Quote
------------------------------------------------------------*/
.module blockquote.wp-block-quote{
	padding: 1em 1.2em;
	border-left: 4px solid var(--gray_cc);
	background: var(--gray_f5, #f5f5f5);
}

.module blockquote.wp-block-quote p{
	margin: 0;
}

.module blockquote.wp-block-quote cite{
	display: block;
	margin-top: .6em;
	font-size: 1.4rem;
	opacity: .8;
}

/*------------------------------------------------------------
Separator
------------------------------------------------------------*/
.module hr.wp-block-separator{
	border: 0;
	border-top: 1px solid var(--gray_cc);
	margin: 3em 0;
}

/*------------------------------------------------------------
Table
------------------------------------------------------------*/
.module .wp-block-table {
	background-color:var(--white);
	border:3px solid var(--gray_cc);
	border-radius:0;
	overflow-x:auto;
}

.module .wp-block-table table{
	width:100%;
	border-collapse: collapse;
}

.module .wp-block-table th,
.module .wp-block-table td{
	border:1px solid var(--gray_cc);
	padding:.8em 1em;
	font-size: var(--module-font-size);
	line-height: var(--module-line-height);
	vertical-align: top;
}

.module .wp-block-table thead th{
	background: var(--gray_f5);
	font-weight: 600;
}

/*--- scroll table ---*/
.module figure.wp-block-table{
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.module figure.wp-block-table table{
	width: max-content;
	min-width: 100%;
	border-collapse: collapse;
}

/*
.module figure.wp-block-table :where(th, td){
	white-space: nowrap;
}
*/

/*------------------------------------------------------------
Buttons
------------------------------------------------------------*/
.module .wp-block-buttons {
 display: flex;
 position: relative;
 z-index: 2;
 gap: 1.75rem;
 flex-wrap: wrap;
}

.module .wp-block-button__link,
.module .wp-element-button {
 font-size: var(--module-font-size);
 line-height: 1.2;
 padding: .9em 1.4em;
 text-decoration: none;
 white-space: nowrap;
 flex-grow:1;
}

/* 背景色 */
.module .wp-block-button__link.has-primary-background-color,
.module .wp-block-button.has-primary-background-color .wp-block-button__link {
 background-color: var(--wp--preset--color--primary);
}

/* 文字色 */
.module .wp-block-button__link.has-white-color,
.module .wp-block-button.has-white-color .wp-block-button__link {
 color: var(--wp--preset--color--white);
}

/* ボーダー色 */
.module .wp-block-button__link.has-primary-border-color,
.module .wp-block-button.has-primary-border-color .wp-block-button__link {
 border-color: var(--wp--preset--color--primary);
}

.wp-block-button {
 align-items:center;
 display:flex;
 justify-content:center;
}

/*------------------------------------------------------------
Image
------------------------------------------------------------*/
.module .wp-block-image {
 margin-bottom:2.4rem;
}

.module .wp-block-image img{
	max-width: 100%;
	height: auto;
	display: block;
 object-fit:cover;
 opacity:0;
 -webkit-transition:opacity 3s;
 transition: opacity 3s; 
}

.module .wp-block-image img.lazyloaded {
 opacity:1;
}

.module .wp-block-image figcaption{
	font-size: 1.4rem;
	line-height: 1.4;
	margin-top: .5em;
	opacity: .8;
}

.module .wp-block-image.is-size-small {
	max-width: 320px;
}

.module .wp-block-image.is-size-medium {
	max-width: 520px;
}

.module .wp-block-image.is-size-large {
	max-width: 800px;
}

.module .wp-block-image.is-size-full {
	max-width: 100%;
}

.module .wp-block-image:is(.is-size-small, .is-size-medium, .is-size-large):not(.alignleft):not(.alignright){
	margin-left: auto;
	margin-right: auto;
}

/*------------------------------------------------------------
Columns
------------------------------------------------------------*/
.module .wp-block-columns.module-cols{
	display: flex;
	flex-wrap: nowrap;
	gap: 2.4rem;
 margin-bottom:2.4rem;
}

.module .wp-block-columns.module-cols > .wp-block-column{
 margin: 0;
	min-width: 0;
	flex: 1 1 0%;
}

/*--- 1:1 ---*/
.module .wp-block-columns.module-cols.col-1-1 > .wp-block-column:nth-child(1) { flex-grow: 1; }

.module .wp-block-columns.module-cols.col-1-1 > .wp-block-column:nth-child(2) { flex-grow: 1; }

/*--- 1:2 ---*/
.module .wp-block-columns.module-cols.col-1-2 > .wp-block-column:nth-child(1) { flex-grow: 1; }

.module .wp-block-columns.module-cols.col-1-2 > .wp-block-column:nth-child(2) { flex-grow: 2; }

/*--- 1:3 ---*/
.module .wp-block-columns.module-cols.col-1-3 > .wp-block-column:nth-child(1) { flex-grow: 1; }

.module .wp-block-columns.module-cols.col-1-3 > .wp-block-column:nth-child(2) { flex-grow: 3; }

/*--- 2:1 ---*/
.module .wp-block-columns.module-cols.col-2-1 > .wp-block-column:nth-child(1) { flex-grow: 2; }

.module .wp-block-columns.module-cols.col-2-1 > .wp-block-column:nth-child(2) { flex-grow: 1; }

/*--- 3:1 ---*/
.module .wp-block-columns.module-cols.col-3-1 > .wp-block-column:nth-child(1) { flex-grow: 3; }

.module .wp-block-columns.module-cols.col-3-1 > .wp-block-column:nth-child(2) { flex-grow: 1; }

/*=============================
column-2〜5
=============================*/
.column-2,
.column-3,
.column-4,
.column-5{
	display: flex;
	flex-wrap: wrap;
	gap: 3vw;
 align-items: stretch;
}

.column-2 > *,
.column-3 > *,
.column-4 > *,
.column-5 > *{
	min-width: 0;
}

.wp-block-columns.column-2 > .wp-block-column,
.wp-block-columns.column-3 > .wp-block-column,
.wp-block-columns.column-4 > .wp-block-column,
.wp-block-columns.column-5 > .wp-block-column{
 display:flex;
 flex-direction:column;
 margin: 0;
}

/* 2列 */
.column-2 > *{ flex: 0 0 calc((100% - 3vw) / 2); }

/* 3列（1:1:1） */
.column-3 > *{ flex: 0 0 calc((100% - 6vw) / 3); }

/* 4列（1:1:1:1） */
.column-4 > *{ flex: 0 0 calc((100% - 9vw) / 4); }

/* 5列 */
.column-5 > *{ flex: 0 0 calc((100% - 12vw) / 5); }


ul.column-2,
ul.column-3,
ul.column-4,
ul.column-5{
	list-style: none;
	padding: 0;
}

.column-1-2,
.column-1-3,
.column-1-4,
.column-1-5,
.column-2-1,
.column-3-1,
.column-4-1,
.column-5-1{
	display: flex;
}

.column-1-2 > *,
.column-1-3 > *,
.column-1-4 > *,
.column-1-5 > *,
.column-2-1 > *,
.column-3-1 > *,
.column-4-1 > *,
.column-5-1 > *{
	min-width: 0;
}

/* 1:2 */
.column-1-2 > :nth-child(1){ flex: 1 1 0%; }
.column-1-2 > :nth-child(2){ flex: 2 1 0%; }

/* 1:3 */
.column-1-3 > :nth-child(1){ flex: 1 1 0%; }
.column-1-3 > :nth-child(2){ flex: 3 1 0%; }

/* 1:4 */
.column-1-4 > :nth-child(1){ flex: 1 1 0%; }
.column-1-4 > :nth-child(2){ flex: 4 1 0%; }

/* 1:5 */
.column-1-5 > :nth-child(1){ flex: 1 1 0%; }
.column-1-5 > :nth-child(2){ flex: 5 1 0%; }

/* 2:1 */
.column-2-1 > :nth-child(1){ flex: 2 1 0%; }
.column-2-1 > :nth-child(2){ flex: 1 1 0%; }

/* 3:1 */
.column-3-1 > :nth-child(1){ flex: 3 1 0%; }
.column-3-1 > :nth-child(2){ flex: 1 1 0%; }

/* 4:1 */
.column-4-1 > :nth-child(1){ flex: 4 1 0%; }
.column-4-1 > :nth-child(2){ flex: 1 1 0%; }

/* 5:1 */
.column-5-1 > :nth-child(1){ flex: 5 1 0%; }
.column-5-1 > :nth-child(2){ flex: 1 1 0%; }


@media screen and (max-width: 1080px){
.module .wp-block-columns.module-cols{
 flex-wrap: wrap;
}

.module .wp-block-columns.module-cols > .wp-block-column{
 flex: 0 0 calc((100% - 3vw) / 2);
}

/*--- column-2〜5 ---*/
.column-2 > *,
.column-3 > *,
.column-4 > *,
.column-5 > * {
 flex: 0 0 calc((100% - 3vw) / 2);
}

.tb-column-3 > * {
 flex: 0 0 calc((100% - 6vw) / 3);
}

.column-1-2,
.column-1-3,
.column-1-4,
.column-1-5,
.column-2-1,
.column-3-1,
.column-4-1,
.column-5-1 {
 flex-wrap: wrap;
}

.column-1-2 > *,
.column-1-3 > *,
.column-1-4 > *,
.column-1-5 > *,
.column-2-1 > *,
.column-3-1 > *,
.column-4-1 > *,
.column-5-1 > * {
 flex: 0 0 calc((100% - 3vw) / 2);
	}
}


@media screen and (max-width: 768px){
.module .wp-block-columns.module-cols{
 flex-wrap: wrap;
}

.module .wp-block-columns.module-cols > .wp-block-column{
 flex: 0 0 100%;
}

/*--- column-2〜5 ---*/
.column-2 > *,
.column-3 > *,
.column-4 > *,
.column-5 > * {
 flex: 0 0 100%;
}

.column-2.sp-column-2 > *,
.column-3.sp-column-2 > *,
.column-4.sp-column-2 > *,
.column-5.sp-column-2 > * {
 flex: 0 0 calc((100% - 3vw) / 2);
}

.column-1-2,
.column-1-3,
.column-1-4,
.column-1-5,
.column-2-1,
.column-3-1,
.column-4-1,
.column-5-1 {
 flex-wrap: wrap;
}

.column-1-2 > *,
.column-1-3 > *,
.column-1-4 > *,
.column-1-5 > *,
.column-2-1 > *,
.column-3-1 > *,
.column-4-1 > *,
.column-5-1 > * {
 flex: 0 0 100%;
	}
}

