@charset "UTF-8";
/*
Theme Name: 【最新】シンプル　天野企画テーマ１
Author: amanokikaku
Author URI: http://amnk.co.jp/
Description: 2019.5.10
Version: 1.0
*/


:root{
	--main_color:#28318c;
	--sub_color:#e7163b;
	--zkga:"zen-kaku-gothic-antique", sans-serif;
}
.section-common[data-back="sub-color"] {
    background: var(--sub_color);
}

@layer reset, form, base, layout, design, common;
/*--------------------reset.css--------------------*/
@layer reset {
	html, body, div, span, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	abbr, address, cite, code,
	del, dfn, em, img, ins, kbd, q, samp,
	small, strong, sub, sup, var,
	b, i,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td,
	article, aside, canvas, details, figcaption, figure,
	footer, header, hgroup, menu, nav, section, summary,
	time, mark, audio, video {
	  margin: 0;
	  padding: 0;
	  border: 0;
	  outline: 0;
	  background: transparent;
	  font-size: 100%;
	/*  font-weight: normal;*/
	  vertical-align: baseline;
	}

	html{
		width:100%;
		overflow-x:hidden;
/* 		height: -webkit-fill-available!important; */
		height: inherit !important;
	}

	body {
	  -webkit-text-size-adjust: 100%;
	  line-height: 1;
	}

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

	ol, ul, li {
	  list-style: none;
	}

	blockquote, q {
	  quotes: none;
	}

	blockquote:before, blockquote:after,
	q:before, q:after {
	  content: '';
	  content: none;
	}

	a {
		margin: 0;
		padding: 0;
		background: transparent;
		/* 	  color: #000; */
		color:#333;
		font-size: 100%;
		text-decoration: none;
		vertical-align: baseline;
/* 		@media(width < 641px){
			touch-action: manipulation;
		} */
	}

	/* change colours to suit your needs */
	ins {
	  background-color: #ff9;
	  color: #000;
	  text-decoration: none;
	}

	/* change colours to suit your needs */
	mark {
	  background-color: #ff9;
	  color: #000;
	  font-style: italic;
	  font-weight: bold;
	}

	del {
	  text-decoration: line-through;
	}

	abbr[title], dfn[title] {
	  border-bottom: 1px dotted;
	  cursor: help;
	}

	table {
	  border-collapse: collapse;
	  border-spacing: 0;
	}

	/* change border colour to suit your needs
	*/
	hr {
		display: block;
		height: 1px;
/* 		margin: 1em 0; */
		margin: min(13vw, 4.1rem) 0;
		padding: 0;
		border: 0;
		border-top: 1px solid #cccccc !important;
		& + *{
			margin-top:0!important;
		}
	}

	input, select {
	  vertical-align: middle;
	}

	img{
	  vertical-align: bottom;
	  max-width: 100%;
	  height: auto;
	}

	iframe {
	  vertical-align: bottom;
	  max-width: 100%;
	}

	th {
	  text-align: left;
	}

	*, *:before, *:after {
	  box-sizing: border-box;
	}
}
/*--------------------reset.cssここまで--------------------*/

/*--------------------form.css--------------------*/
@layer form {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="number"],
	input[type="range"],
	input[type="color"],
	input[type="radio"],
	input[type="checkbox"],
	input[type="submit"],
	input[type="button"],
	input[type="image"],
	select,
	button,
	textarea {
	  -webkit-appearance: none;
		 -moz-appearance: none;
			  appearance: none;
	  margin: 0;
	  padding: 0;
	  border: none;
	  border-radius: 0;
	  outline: none;
	  background: none;
	  font-family: "メイリオ", Meiryo, "Noto Sans JP",  sans-serif;
	}

	/* プレースホルダー */
	::-webkit-input-placeholder {
	  color: #ccc;
	}
	:-ms-input-placeholder {
	  color: #ccc;
	}
	::-ms-input-placeholder {
	  color: #ccc;
	}
	::placeholder {
	  color: #ccc;
	}

	/* 入力欄 */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="number"],
	input[type="range"] {
	  width: 100%;
	  padding: 0.5em 1em;
	  border: 1px solid #ccc;
	  color: #666666;
	}

	/* 入力欄 */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	textarea {
		background: #fff;
		font-size: 16px;
		border-radius: 4px;
		box-shadow: inset 1.5px 1.5px 0px #cccccc;
		border: none;
		border-bottom: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
	}

	/* 日付 */
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"] {
	  font-size: 16px;
	}

	/* 数値 */
	/* スピンボタン非表示*/
	input[type="number"]::-webkit-outer-spin-button,
	input[type="number"]::-webkit-inner-spin-button {
	  -webkit-appearance: none;
	  margin: 0;
	}
	input[type="number"] {
	  -moz-appearance: textfield;
	}

	/* レンジ */
	/* カラーピッカー */
	select {
	  width: 100%;
	  padding: 0.5em 1em;
	  border: 1px solid #ccc;
	  background: url(images/down-select.png) no-repeat right 1em center;
	  cursor: pointer;
	}
	select::-ms-expand {
	  display: none;
	}

	textarea {
	  width: 100%;
	  /* ieでスクロールバー非表示 */
	  padding: 0.5em 1em;
	  overflow: hidden;
	  border: 1px solid #ccc;
	}

	input[type="submit"],
	input[type="button"],
	button {
	  cursor: pointer;
	}

	form input[type="radio"] {
	  display: none;
	}
	form input[type="radio"] + span {
	  display: inline-block;
	  vertical-align: middle;
	  cursor: pointer;
	  position:relative;
		line-height:1;
	}
	form input[type="radio"] + span:before {
	  margin-right: 0.3em;
	  content: "";
	  width:14px;
	  height:14px;
	  display:inline-block;
	  border-radius:10px;
	  border:1px solid #cccccc;
	  position:relative;
	  top:2px;
	}
	form input[type="radio"]:checked + span:after {
	  content: "";
	  width:10px;
	  height:10px;
	  background:var(--main_color);
	  display:inline-block;
	  border-radius: 5px;
	  position: absolute;
	  left: 2px;
	  top: 4px;
	}

	form input[type="checkbox"] {
	  display: none;
	}
	form input[type="checkbox"] + span {
	  display: inline-block;
	  vertical-align: middle;
	  cursor: pointer;
	  position:relative;
		line-height:1;
	}
	form input[type="checkbox"] + span:before {
	  margin-right: 0.3em;
	  content: "";
	  width:14px;
	  height:14px;
	  display:inline-block;
	  border:1px solid #cccccc;
	  position:relative;
	  top:2px;
	}
	form input[type="checkbox"]:checked + span:after {
	  content: "";
	  width: 14px;
	  height: 10px;
	  display: inline-block;
	  position: absolute;
	  left: 1px;
	  top: 3px;
	  border-bottom: 3px solid var(--main_color);
	  border-left: 3px solid var(--main_color);
	  transform: rotate(-45deg);
	}

	.prefbox select{
	  width:100px;
	  margin-bottom:0.5em;
	  font-size:16px;
	}

	.wrap .contact-form table th,.wrap .contact-form table td {
		vertical-align: middle;
	}
	.contact-form button{
		display: block;
		z-index: 1;
		position: relative;
		width: min(300px,100%);
		padding: 0.85rem;
		background: #fff;
		text-align: center;
		transition: 0.5s;
		color: var(--main_color);
		border: 1px solid var(--main_color);
		border-radius: 4px;
		filter: drop-shadow(1px 1px 0px #ccc);
		font-size: 14px;
		margin: min(3vw,25px) auto 0;
	}
	.contact-form button:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 12px;
		height: 12px;
		margin: auto;
		transform: rotate(45deg);
		border-top: 3px solid var(--main_color);
		border-right: 3px solid var(--main_color);
		content: "";
	}
	.contact-form button:hover{
		background: var(--main_color);
		color: #fff;
		opacity: 1;
	}
	.contact-form button:hover:after{
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;	
	}

	.mw_wp_form_preview .list-caution{
	  display:none;
	}
	
	@media screen and (min-width: 900px),print{
		  select {
/* 			width: 410px; */
		    width: auto;
		  }
		  textarea {
			height: 210px;
			display:block;
			border: none;
			border-bottom: 1px solid #cccccc;
			border-right: 1px solid #cccccc;
		  }
	}
	
	@media screen and (max-width: 640px) {
		textarea {
			height: 60vw;
			display: block;
		}
		
		/*翻訳*/
/* 		#glt-translate-trigger, #glt-translate-trigger span{
			touch-action: manipulation!important;
		}
		#glt-translate-trigger{
			bottom: auto!important;
			top: 5vw!important;
			display: block!important;
			height: auto!important;
			translate: -50% 0%;
			left: 50%!important;
			font-weight: 500!important;
			font-size: min(3.7vw, 15px)!important;
			padding: 0.5rem 1rem!important;
		}
		.tool-container{
			top: 17vw !important;
			bottom: auto !important;
			translate: -50% 0%;
			left: 50% !important;
			background: linear-gradient(to top, #d0cbcb 14%, #e9e5e5 100%)!important;
		}
		.tool-container.tool-top .arrow{
			bottom: auto!important;
			top: -3.5vw!important;
			transform: rotate(180deg);
		} */
	}
}
/*--------------------form.cssここまで--------------------*/

/* ////////////////////////////////////////
PC,SP共通 base.css
//////////////////////////////////////// */
@layer base{
body {
	color: #333;
/* 	font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif; */
	font-family: var(--zkga),"游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	font-size: min(16px, 3.7vw);
	letter-spacing: .05rem;
	font-weight: 500;
	text-align: justify;
    font-feature-settings: "palt";
	text-rendering: optimizeLegibility;
}

body p{
	line-height: 1.75;
}

.block-none{
	display:none!important;
}

.textLeft {
  text-align: left;
}
.textRight {
  text-align: right;
}
.textCenter {
  text-align: center;
}
.textJustify {
  text-align: justify;
  text-justify: inter-ideograph;
}
.weightBold {
  font-weight: bold;
}
.colorBlue {
  color: var(--main_color);
}

body {
/* 	overflow-x: hidden; */
	display: flex;
	flex-direction: column;
	min-height: 100vh!important;
	position: relative;
/*     background-color: #808080; */
	background-image: linear-gradient(0deg, #d7d7d7 0%, #ffffff 100%);
}
body:before{
	content: "";
    display: block;
    width: 100%;
	height:100%;
    position: absolute;
    left: 0;
    bottom: 0;
	background: url(images/sub-backimg.png) bottom/contain no-repeat;
	mix-blend-mode: overlay;
    z-index: -1;
	@media(900px < width){
		height: auto;
		aspect-ratio: 640 / 557;
	}
}
/* body:not(.index):after{
	content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
	z-index: -1;
	background-image: linear-gradient(to bottom, #d7d7d7, #ffffff);
	opacity: 0.5;
    mix-blend-mode: overlay;
} */
/* body:not(.index):after{
	content: "";
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 640 / 557;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
	background:url(images/sub-backimg.png) bottom/cover no-repeat; 
} */

.main-column{
	container: main-size / inline-size;
	& h1{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
			line-height: min(8vw, 2.4rem);
			font-size: min(6vw, 28px);
			padding-bottom: min(5vw, 1rem);
			border-bottom: 2px solid var(--main_color);
			margin-top: min(25vw, 120px);
			margin-bottom: min(6vw, 3.1rem);
			position: relative;
			&::before{
				content: "";
				width: min(20vw, 103px);
				height: 2px;
				background: var(--sub_color);
				position: absolute;
				bottom: -2px;
				left: 0;
			}
			& + *{
				margin-top:0!important;
			}
		}
	}
	& h2{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
			line-height: min(7.7vw, 2.1rem);
			margin: min(20vw, 5.6rem) 0 min(4vw, 1.3rem);
			font-size: min(5vw, 20px);
			padding: min(2.5vw, 0.8rem) min(4vw, 1.3rem) min(3vw, 1rem);
			background: #333;
			font-weight: 500;
			color: #fff;
			& + :is(h3, h4, h5){
				margin-top:0!important;
			}
		}
	}
	& h3:not(.box-post-text h3):not(.box-post-archive h3){
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
			margin: min(20vw, 5.6rem) 0 min(4vw, 1.3rem);
			font-size: min(4.5vw,18px);
			line-height: min(6.8vw, 1.7rem);
            border-bottom: 1px solid var(--main_color);
            background: #f7f7f7;
            padding: min(2.5vw, 0.5rem) min(4vw, 1.3rem) min(3vw, 0.6rem);
			& + :is(h4, h5){
				margin-top:0;
				margin-bottom:min(3vw, 1rem);
			}
		}
	}
	& .box-post-text h3{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
			margin:0;
			border-bottom:none;
			padding:0;
		}
	}
	& .box-post-archive h3{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
            width: 100%;
			line-height: min(5.5vw, 1.75rem);
            font-size: min(3.7vw, 20px);
            padding: 0;
            border: none;
            font-weight: bold;
/* 			margin: min(2.5vw, 12px) 0 min(2.2vw, 8px); */
			margin: min(2.5vw, 7px) 0 min(2.2vw, 4px);
		}	
	}
	& h4{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
			margin: min(15vw, 3.8rem) 0 min(4vw, 1.3rem);
/* 			padding-left: min(2.5vw, 1rem);
			font-size: min(4vw,18px);
			line-height: 1.25;
			border-left: 4px solid var(--main_color); */
			font-size: min(4.2vw, 18px);
            line-height: min(6.8vw, 1.7rem);
            border-left: 2px solid var(--sub_color);
            padding: min(2.5vw, 0.25rem) min(3.5vw, 1rem) min(2.5vw, 0.35rem);
			& + h5{
				margin-top:0;
			}
		}
	}
	& h5{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
            margin: min(13vw, 4.1rem) 0 min(4vw, 0.9rem);
            font-size: min(3.9vw, 18px);
            line-height: min(6.8vw, 1.7rem);
			color:var(--main_color);
		}
	}
	& h6{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
/*             margin: min(13vw, 4.1rem) 0 min(4vw, 0.9rem); */
            font-size: min(3.7vw, 16px);
            line-height: min(6.8vw, 1.7rem);
		}
	}
	& p + h6{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
            margin-top: min(4vw, 0.9rem);
		}
	}
	& :is(p, ul, ol) + h5{
		:is(&:not([class]), &.wp-block-heading:not([class*=" "])){
			margin-top: min(9vw, 2.7rem);
		}
	}
	& > .card > div > *:first-child{
		margin-top:0;
	}
	& p{
		& + ul{
			:is(&:not([class]), &.wp-block-list:not([class*=" "])){
/* 				margin-top:min(4vw,1rem); */
				margin-top:min(4vw, 1.7rem);
			}
		}
		& + ol{
			:is(&:not([class]), &.wp-block-list:not([class*=" "])){
/* 				margin-top:min(4vw,1rem); */
				margin-top:min(4vw, 1.7rem);
			}
		}
	}
	& ul {
		& li {
			position: relative;			
			& + li{
				margin-top: 0.4rem
			}
		}
		:is(&:not([class]), &.wp-block-list:not([class*=" "])){
			& li:not([class]){
				line-height: 1.55;
				padding-left: min(4vw,1.05rem);
				&::before{
					content: "";
					display: block;
					position: absolute;
/* 					top: 7px; */
/* 					top: min(2.1vw,0.62rem); */
					top: min(2.1vw, 0.65rem);
					left: 2px;
/* 					width: min(1.9vw,8px);
					height: auto;
					aspect-ratio: 1; */
					width: min(1.5vw, 6px);
                    height: min(1.5vw, 6px);
					background: var(--main_color);
					border-radius: 15px;
				}
			}
		}
	}
	& ol{
		counter-reset: ol-count;
		& > li {
			position: relative;
			line-height: 1.55;
			&:before {
				counter-increment: ol-count;
				content: counter(ol-count);
			}
			[style*="upper-alpha"] &:before {
				content: counter(ol-count, upper-alpha);
			}
			[style*="lower-alpha"] &:before {
				content: counter(ol-count, lower-alpha);
			}
			[style*="upper-roman"] &:before {
				content: counter(ol-count, upper-roman);
			}
			[style*="lower-roman"] &:before {
				content: counter(ol-count, lower-roman);
			}
			& + li{
				margin-top: 0.4rem
			}
		}
		:is(&:not([class]), &.wp-block-list:not([class*=" "])){
			list-style-type: decimal;
			padding-left: 27px;
			& li:not([class]){
				list-style-type: decimal-leading-zero;
/* 				padding-left: min(7vw,1.5rem); */
				&::before{
					display:none;
/* 					counter-increment: ol-count;
					content: counter(tmcount, decimal-leading-zero)".";
					color: #fff;
					font-weight: bold;
					background: var(--main_color);
					line-height: 1;
					display: flex;
					align-items: center;
					justify-content: center;
					padding: min(1.3vw,0.35rem) min(1.3vw,0.2rem) min(1.3vw,0.2rem);
					width: min(4.8vw,20px);
					height: min(4.8vw,20px);
					border-radius: 50%;
					font-size: 80%;
					position: absolute;
					left: 0;
					top: 1px; */
				}
				[style*="lower-alpha"]{
					list-style-type:lower-alpha;
				}
				[style*="upper-roman"]{
					list-style-type:upper-roman;
				}
				[style*="lower-roman"]{
					list-style-type:lower-roman;
				}
/* 				[style*="lower-alpha"] &:before {
					color: var(--main_color);
					font-weight: bold;
					content: counter(ol-count, lower-alpha) ".";
					background: none;
					border-radius: 0;
					padding: 0;
					top: 2px;
					font-size: 100%;
				}
				[style*="upper-roman"] &:before {
					color: var(--main_color);
					font-weight: bold;
					content: counter(ol-count, upper-roman) ".";
					background: none;
					border-radius: 0;
					padding: 0;
					top: 2px;
					font-size: 100%;
				}
				[style*="lower-roman"] &:before {
					color: var(--main_color);
					font-weight: bold;
					content: counter(ol-count, lower-roman) ".";
					background: none;
					border-radius: 0;
					padding: 0;
					top: 2px;
					font-size: 100%;
				} */
			}
		}
	}
}

.main-column p + p {
/*     margin-top: min(3vw,1rem); */
	margin-top: min(4vw, 1.7rem);
}
p{
  word-break: break-all;
}
p:not([class]) a{
	text-decoration:underline;
	&:link{
		color:#0000ee;
	}
	&:active{
		color:#ff0000;
	}
	&:hover{
		color:#0000ee;
	}
	&:visited{
		color:#551a8b;
	}
}
.card li:not([class]) a{
	text-decoration:underline;
	&:link{
		color:#0000ee;
	}
	&:active{
		color:#ff0000;
	}
	&:hover{
		color:#0000ee;
	}
	&:visited{
		color:#551a8b;
	}
}
	
.clearfix:after {
  display: block;
  clear: both;
  content: "";
}
.flexCenter {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
}
.flexLeft {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.flexRight {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}
.fullWidth {
  width: 100%;
}
.wp-block-image figcaption{
  text-align:center;
  margin:15px 0 0;
  font-size:14px;
}
	
/*
* object-fitのclassとie対応（ofi.js必要）
*/
.ofi-cover {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.ofi-contain {
  -o-object-fit: contain;
     object-fit: contain;
  font-family: "object-fit: contain;";
}

.wrap-zoom {
  overflow: hidden;
}

.wrap-zoom > img {
  transition: 0.5s;
	width:100%;
    height: auto;
    aspect-ratio: 3 / 2;
}

.wrap-zoom > img:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

/*　疑似要素テキスト　*/
.attrTextLeft:before, .attrTextTop:before, .attrTextBottom:after, .attrTextRight:after {
  content: attr(data-text);
}

.attrTextLeft:before, .attrTextRight:after {
  display: inline-block;
}

.attrTextTop:before, .attrTextBottom:after {
  display: block;
}

/*　疑似要素テキスト　*/
/*　疑似要素アイコン　*/
.attrIconLeft:before, .attrIconTop:before, .attrIconBottom:after, .attrIconRight:after {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  background: var(--main_color);
  position: absolute;
  left: -36px;
  top: -2px;
  border-radius:5px;
}

.attrIconLeft:after{
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background:url(images/tel.svg);
  background-size:cover;
  position: absolute;
  left: -36px;
  top: -2px;
  border-radius:5px;
  margin:5px;
}

.attrIconTop:before, .attrIconBottom:after {
  display: block;
}

.attrIconLeft:before, .attrIconRight:after {
  display: inline-block;
}


/* 共通色指定
*************************** */
.global-nav .sub-menu > li > a, .btn-contact, .pagetop, .category-post, .slick-dots li.slick-active button:before, .sp-nav, .wpcf7-submit {
  background:var(--main_color);
  color: #fff;
}

.main-slider .slick-prev:before, .main-slider .slick-next:before {
  color: #fff;
}

/* カテゴリ表示の背景色 */
/* .bg-cate-1 {
  background: #ffae5e;
}
.bg-cate-2 {
  background: #7a5b44;
}
.bg-cate-3 {
  background: #57b7e8;
}
.bg-cate-4 {
  background: #8fc31f;
}
.bg-cate-5 {
  background: #7e2a00;
}
.bg-cate-6 {
  background: #00a29a;
}
.bg-cate-7 {
  background: #f29c97;
}
.bg-cate-8 {
  background: #9082a4;
}
.bg-cate-9 {
  background: #e6001b;
}
.bg-cate-10 {
  background: #0047cf;
} */

/* カテゴリ表示の背景色 */


/* ウィジェット
*************************** */
.widget_nav_menu li > a {
  padding: 1em 1em;
}

#gallery-1 .gallery-item, #gallery-2 .gallery-item {
  margin-top: 0 !important;
  margin-bottom: 0.5em;
}

#gallery-1 .gallery-caption, #gallery-2 .gallery-caption {
  padding: 0.5em 0;
  line-height: 1.25;
}

/* 見出し */
.contents-page h2, .contents-page h3, .contents-page h4 {
  margin-bottom: 28px;
  line-height: 1.5;
}

.contents-page h2 {
  padding: 0.5em;
  font-size: 22px;
  font-weight: bold;
}

.contents-page h3 {
  padding: 0.5em;
  border-bottom: 1px solid #ccc;
  font-size: 20px;
}

.contents-page h4 {
  padding: 0.5em;
  font-size: 18px;
  font-weight: bold;
}

.contents-page h2 .mincho {
  font-size: 24px;
}

/* 見出し */
.contents-page p, .contents-page span {
  line-height: 1.75;
}
.contents-page img {
  max-width: 100%;
  height: auto;
}

.inner-main h1 {
  margin-bottom: 1em;
}

.inner-main p {
  letter-spacing: 0.1em;
  line-height: 1.75;
}

/* .wrap-2column .list-post{
  margin-top:-20px;
} */

.main-column > p{
	text-align: justify;
/* 	line-height:2.3;
	letter-spacing:.05em; */
    line-height: 1.85;
    letter-spacing: 0.02rem;
}

.main-column .has-text-align-right{
	text-align:right;
}

.main-column .has-text-align-center{
	text-align:center;
}

.main-columnc .is-style-outline .wp-block-button__link {
    background-color: transparent;
	text-decoration:none;
}
.is-style-outline .wp-block-button__link:after{
	-webkit-transform: rotate(45deg);
    display: inline-block;
    top: 0;
    right: 1em;
    bottom: 0;
    width: 10px;
    height: 10px;
    margin: auto;
	margin-left:10px;
    transform: rotate(45deg);
    border-top: 2px solid var(--main_color);
    border-right: 2px solid var(--main_color);
    content: "";
}

.main-column pre{
  max-width:100%;
  font-size: 14px;
  text-align: justify;
  line-height: 1.7;
  white-space: pre-wrap ;
}

.main-column table{
  width:100%;
}

/*テーブル*/
.main-column table th, .main-column table td{
   line-height: 1.75;
}
.main-column table th{
  padding: 1em 1em;
  vertical-align: top;
}
.main-column table td{
  padding: 1em 1em;
  vertical-align: top;
}

/*間隔*/
.section-common{
	padding:min(25vw, 180px) 0;
}
.contents{
/*     width: min(100%,1280px);
    padding: 0 min(8vw,40px); */
    width: min(100%, 1910px);
    padding: 0 min(8vw, 60px);
    margin: 0 auto;
}
.wrap-1column .contents, .wrap-1column-narrow .main-column{
    width: min(100%,1020px);
    margin: 0 auto;
}
/* .wrap-2column {
    gap: min(8vw, 40px);
}
.wrap-2column .main-column {
    flex: 1;
} */
.fullvw-width{
	width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    max-width: unset;
}

/**********************************
 * パスワード画面
 * ********************************/
div:not(.contents):has(section:not(.main-column)) .post-password-form{
    width: min(100%, 1280px);
    padding: 0 min(8vw, 40px);
    margin: 0 auto;
}
.post-password-form{
    text-align: left;
}
.post-password-form input[type="submit"]{
	background: #333;
    color: #fff;
    padding: 0.2rem 0.8rem;
    border-radius: 5px;
    margin-top: 0.7rem;
}
.post-password-form input[type="submit"]:hover{
	opacity:0.8;
}

/**************************
 * リンク
 * ************************/
a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
.btn-archive {
	display: block;
    z-index: 1;
    position: relative;
    width: min(100%,350px);
	margin: min(9vw,45px) auto 0;
    padding: min(5vw,1.3rem) min(13vw,3rem) min(5vw,1.3rem) min(6vw,1.5rem);
    background: var(--main_color);
    text-align: left;
    transition: 0.5s;
    color: #fff;
    border: 1px solid var(--main_color);
    border-radius: 4px;
    font-size: min(4vw,17px);
}
.btn-archive:hover{
	background:#fff;
	color:var(--main_color);
	opacity:1;
}
.btn-archive:after {
    content: "";
	background:url(images/arrow.svg) center/contain no-repeat;
    display: block;
    position: absolute;
	transform:translatey(-50%);
	top:50%;
	right:1rem;
    width: 20px;
    height: auto;
	aspect-ratio:1;
}
.btn-archive:hover:after{
	mask:url(images/arrow.svg) center/contain no-repeat;
	-webkit-mask:url(images/arrow.svg) center/contain no-repeat;
	background:var(--main_color);
}

/******************************************
 * *ヘッダー
* *****************************************/
.header {
    z-index: 6;
/*     background: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5); */
	position: fixed;
	left: 0;
	top: 0;
/* 	transition: all 0.5s 0.5s; */
	transition: 0.3s;
	padding: min(5vw,50px) min(6vw,60px);
/* 	& *{
		transition: all 0.3s 0.3s;
	} */
	& .logo, .global-nav, .global-nav a, .hmember-btn, .header-right{
		transition: 0.3s;
	}
	&.over{
		& .logo, .global-nav, .global-nav a, .hmember-btn, .header-right{
			transition: 0.3s;
		}
	}
	@media(1000px < width){
		&.over{
			background: #f6f6f6;
			box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
			padding: min(3vw, 20px) min(6vw, 60px);
			& .inner-header{
				width: min(8vw, 75px);
			}
			& .header-menu{
				width: calc(100% - min(8vw, 75px) - min(5vw, 25px));
			}
			& .global-nav{
				width: 100%;
				gap: min(1.5vw, 1rem) min(2.5vw, 2.5rem);
				&  > li > a{
					font-size:min(3.2vw,14px);
				}
			}
		}
	}
	@media(width < 1001px){
		background: #fff;
		box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
		position: fixed;
		left: 0;
		top: 0;
	}
	@media(640px < width < 1001px){
		padding: 0.8rem 1.2rem;
	}
	@media(width < 641px){
		padding:0;
	}
}
/* .header.over{
	background: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
	position: fixed;
	left: 0;
	top: 0;	
} */
.inner-header {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
/*   padding: 10px 0 10px; */
}
.wrap-logo {
  display: flex;
  align-items: center;
}
.wrap-logo .logo {
	display: block;
/* 	z-index: 10000; */
}
.wrap-logo .logo:hover {
  opacity:1;
}
.wrap-logo .logo img {
	display: block;
	max-width: 100%;
	height: auto;
	width: min(30vw, 103px);
	aspect-ratio:102/105;
/* 	max-height: 40px;
	width: min(40vw, 333px); */
	@media(width < 1001px){
		width: min(15vw, 50px);
	}
}
.head-header {
    margin-left: min(5vw,1.7rem);
	line-height: 1.25;
    margin-top: 5px;
	font-size:14px;
}
.head-header > *{
	font-weight: 500;
	line-height: 1;
}
.header-tel{
	background:var(--main_color);
	color:#fff;
	display:flex;
	flex-direction:column;
	position:relative;
	padding:min(5vw,1rem) min(3vw,0.5rem) min(5vw,1rem) min(7vw,3.3rem);
	font-weight:bold;
}
.header-tel:before{
	content: "";
    background: url(images/tel.svg) center/contain no-repeat;
    width: min(3.5vw,33px);
    height: auto;
    aspect-ratio: 23/30;
    position: absolute;
    left: min(1.2vw,0.9rem);
    transform: translatey(-50%);
    top: 51%;
}
.htel{
	display:block;
	width:100%;
    font-size: min(3.1vw,35px);
	line-height:1;
}
.htime-holi{
	display:block;
	width:100%;
	font-size: min(1.15vw,12px);
	line-height:1;
	margin-top:0.15rem;
	text-align:center;
}

.nav > .contents {
    width: 100%;
    padding: 0;
}
	
/*ヘッダー右*/
.header-right{
/* 	display:flex;
	flex-direction:column;
	gap:min(7vw,30px); */
    width: 100%;
	& > *{
		width:100%;
	}
	@media(1400px < width){
/* 		width: min(100%, 196px); */
		width: min(100%, 240px);
	}
	@media(1000px < width < 1401px){
		width: min(32vw, 240px);
	}
}
.hmember-btn{
/*     background: var(--sub_color); */
	background: #149edf;
    color: #fff;
/*     font-weight: bold; */
	font-weight: 500;
    text-align: center;
    border-radius: 25rem;
	line-height: 1.2rem;
    padding: min(4vw, 0.45rem) min(7vw, 1.5rem);
    font-size: min(3.5vw, 15px);
    white-space: nowrap;
    letter-spacing: 0;
    display: block;
    margin-bottom: min(3vw,14px);
	@media(900px < width < 1401px){
		padding: min(4vw, 0.45rem) min(1vw, 1.5rem);
		font-size: min(3.2vw, 13px);
	}
	@media(width < 1001px){
		border-radius: 0;
		padding: min(4vw, 1rem) min(7vw, 1rem);
		font-size: min(3.7vw, 15px);
	}
}
.lang-menu{
	display: flex;
/*     flex-flow: row wrap; */
    align-items: center;
    justify-content: end;
	& li {
        font-size: min(3.2vw, 14px);
        position: relative;
        display: flex;
        align-items: center;
		&:not(:last-of-type) {
            &::after {
                content: "";
                width: 2px;
                height: 12px;
                border-right: 2px solid #919191;
                display: block;
/* 				margin: 0 min(1.3vw, 1.3rem); */
				margin: 0 min(1.1vw, 1.3rem);
            }
        }
		& a{
			color: #919191;
			&.lang-menud{
				color:var(--main_color);
			}
		}
		@media(1000px < width){
/* 			font-size: min(1.2vw, 14px); */
			font-size: min(1.2vw, 15px);
		}
    }
/* 	@media(width < 1001px){
		justify-content: center;
	} */
}

	
/*PCメニュー*/
.global-nav {
	display: flex;
/* 	gap: min(2.5vw,3rem); */
    gap: min(1.5vw, 1rem) min(2.5vw, 2.5rem);
	z-index: 2;
/* 	width: 100%; */
	background: #fff;
    box-shadow: 0 0 9px 0px rgba(0, 0, 0, 0.17);
/*     padding: 1.5rem 2.5rem; */
	padding: min(3vw,1.5rem) min(3vw,3.5rem);
    border-radius: 25rem;
/* 	margin-right: min(2.5vw,3rem); */
	margin-right: auto;
    flex-wrap: wrap;
	width: 100%;
	@media(width < 1401px){
		gap: min(1.5vw, 0.7rem) min(2.5vw, 1.1rem);
		padding: min(1.5vw, 1.5rem) min(2.2vw, 3.5rem);
	}
}
.global-nav > li {
  position: relative;
}
.global-nav > li > a {
	display: block;
	text-align: center;
	position:relative;
	font-weight:bold;  
	@media(width < 1401px){
		font-size: min(3.2vw, 14px);
	}
}
/* .global-nav > li > a span{
  display:block;
  font-size:10px;
  margin-top:4px;
  margin-bottom:-4px;
} */
.global-nav > li:before {
  content: none;
  display: block;
  height: 1px;
  width:0;
  background: var(--main_color);
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  transition:0.5s;
}
.global-nav > li:hover:before {
  width: 80%;
}
.global-nav > li > ul {
  z-index: 2;
  position: absolute;
  top: calc(100% + 0px);
  left: 50%;
    transform: translateX(-50%);
    width: 13rem;
  height:auto;
  opacity: 0;
  transition:0.5s;
  visibility: hidden;
}
.global-nav > li:hover > ul{
  height:auto;
  opacity:1;
  transition:0.5s;
  top: calc(100% + 15px);
  visibility: visible;
}
.global-nav > li:hover > ul:before{
	content:"";
	display:block;
	height:15px;
	width:100%;
	position:absolute;
	top:-15px;
	right:0;
	left:0;
	margin:0 auto;
	transition:0.5s;
}
.global-nav > li:hover > ul:after{
  content:"";
  height:0;
  width:0;
  display:block;
  border-color: transparent transparent var(--main_color);
  border-style: solid;
  border-width: 0 10px 10px;
  position:absolute;
  top:-10px;
  right:0;
  left:0;
  margin:0 auto;
  z-index:-1;
}
.global-nav > li > ul.sub-menu > li > ul > li{
	position:relative;
}
.global-nav > li > ul.sub-menu > li > ul > li:nth-child(1):before{
  content: "";
  height: 0;
  width: 0;
  display: block;
  border-color: transparent transparent #104f82;
  border-style: solid;
  border-width: 10px 10px 10px;
  position:absolute;
  top: 0;
  bottom: 0;
  left: -20px;
  margin: auto 0;
  z-index:2;
  transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
}
.global-nav > li:last-child > ul.sub-menu > li > ul > li:nth-child(1):before{
  left:initial;
  right: -20px;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
}
.global-nav > li > ul.sub-menu > li a:hover{
	background:var(--sub_color);
/* 	color:#333; */
	opacity:1;
}
.global-nav > li > ul > li{
  position:relative;
  transition:0.5s;
}
.global-nav > li > ul > li > ul{
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  opacity:0;
  visibility:hidden;
  transition:0.5s;
  z-index:1;
}
.global-nav > li > ul > li:hover > ul{
  opacity:1;
  visibility:visible;
  transition:0.5s;
}
.global-nav > li:last-child > ul > li > ul{
  right:100%;
  left:initial;
}
.global-nav > li > ul > li > ul > li{
  opacity:0;
  visibility:hidden;
}
.global-nav > li > ul > li:hover > ul > li{
  opacity:1;
  visibility:visible;
}
.global-nav > li > ul.sub-menu > li > ul > li > a{
  background:#104f82;
}
.global-nav .sub-menu li:not(:last-child) {
  border-bottom: 1px solid #c9caca;
}
.global-nav .sub-menu a {
	display: block;
/* 	padding: 1em; */
	padding: 0.6rem 0.8rem;
	text-align: center;
	transition:0.5s;
	font-size: min(3.5vw, 14px);
    line-height: 1.25rem;
	& span{
		display: -webkit-box;
		-webkit-box-orient: vertical;
		line-clamp: 2;
		-webkit-line-clamp: 2;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
.global-nav li > ul > li > a{
	z-index:10;
}

/*モバイルメニュー*/
.check {
  display: none;
}
.check + .parent {
  display: flex;
  justify-content: space-between;
  padding: 0.75em 1em;
  background: var(--main_color);
  color: #fff;
  line-height: 1.25;
  cursor: pointer;
}
.check + .parent:after {
  content: "▼";
}
.check + .parent + ul {
  display: none;
}
.check:checked + .parent:after {
  content: "▲";
}
.check:checked + .parent + ul {
  display: block;
}
	
	
@media screen and (max-width:1000px){
.drawer-nav{
    overflow-y: auto;
/*     height: calc(100svh - (70px + 195px)); */
	height: calc(100svh - (70px + 210px));
	border-top: 1px solid #999;
}
}

.drawer-nav > li{
	border-top: 1px solid #ccc;
	&  > a{
		background:#eeeeee;
		font-weight: 700;
	}
	& > button{
		display:none;
	}
}
.drawer-nav > li,.drawer-nav > li > ul > li,.drawer-nav > li > ul > li > ul >li {
  position: relative;
/*   border-bottom: 1px solid #ccc; */
/* 	border-bottom: 1px dotted #ccc; */
  line-height: 1.75;
}
.drawer-nav > li > ul > li:last-child,.drawer-nav > li > ul > li > ul >li:last-child {
  border-bottom: none;
}
 .drawer-nav > li > a,.drawer-nav > li > ul > li > a,.drawer-nav > li > ul > li > ul > li > a {
	 z-index: 1;
	 position: relative;
	 display: flex;
	 align-items: center;
	 justify-content: space-between;
	 width: 100%;
	 /*     min-height: 50px; */
	 white-space: normal;
	 word-break: break-all;
	 text-align: left;
}
.drawer-nav li{
    & > button{
		display:none;
	}
	& a span{
		white-space: normal;
		word-break: break-all;
		text-align: left;	
	}
}
/* .drawer-nav > li > ul > li > a {
	background:#eeeeee;
} */
/* .drawer-nav li a span{
  display:none;
} */
.drawer-nav .sub-menu {
	/*   display: none; */
	border-top: 1px solid #ccc;
	& > li{
		& > a{
			font-size: min(3.3vw, 14px);
			line-height: 1.15rem;
		}
		&:not(:last-of-type){
			border-bottom: 1px dotted #ccc;
		}
	}
}
.drawer-nav a[href$="/journal/"] + .sub-menu{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
	& > li:not(:nth-of-type(5n)){
		border-right:1px dotted #ccc;
	}
}
.drawer-nav a {
	display: block;
	/*   padding: 0.5em 1em; */
	padding: 0.8em 1em;
	position: relative;
}
.drawer-nav .btn-sub + a:after {
	content:none;
}
.drawer-nav .btn-sub {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 50px;
    margin: auto;
    color: #999999;
}
.drawer-nav .fa-angle-down:before{
    content: "";
    border-top: 3px solid #999;
    border-right: 3px solid #999;
    height: 9px;
    width: 9px;
    position: absolute;
    top: 47%;
    right: 10%;
    transform: translate(75%,-50%) rotate( 135deg );
}
.drawer-nav .fa-angle-up:before{
    content: "";
    border-top: 3px solid #999;
    border-right: 3px solid #999;
    height: 9px;
    width: 9px;
    position: absolute;
    top: 44%;
    right: 8%;
    transform: rotate( -45deg );
}
.list-sp-menu {
  display: none;
}
.list-sp-menu li {
    width: 40px;
}
.sp-menu {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  text-align: center;
}
.sp-menu span {
  -webkit-transform: scale(0.8, 0.8);
  display: block;
  padding-top: 0.5em;
          transform: scale(0.8, 0.8);
  font-size: 10px;
  letter-spacing: 0;
}
.sp-menu:before {
  color: var(--main_color);
  font-size: 24px;
}
/* .nav-open {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
}
.nav-open:after {
  -webkit-transform: scale(0.8, 0.8);
          transform: scale(0.8, 0.8);
  font-size: 10px;
  text-align: center;
  content: "MENU";
} */

#nav-content .logo {
    display: block;
/*     margin: 1.5rem 3.5rem; */
    margin: min(2vw,0.8rem) min(4vw,1.2rem);
    overflow: hidden;
}
#nav-drawer {
  position: relative;
}
/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}
#nav-open {
	z-index: 10000;
	position: absolute;
/* 	top: 10px;
	right: 10px; */
/* 	width: 35px;
	height: 40px;
	margin: auto; */
    top: 36px;
    right: 22px;
	vertical-align: middle;
	display:flex;
	justify-content:center;
	align-items:center;
    gap: min(2vw, 9px);
	transition: all 0.5s;
	@media(width < 1001px){
		top: 34px;
		right: 17px;
	}
}
#nav-open:hover {
  cursor: pointer;
}
#nav-open span {
/* 	position: absolute;
	right: 0;
	left: 0;
	width: 80%;
	height: 3px;
	margin: auto;
	background: var(--main_color); */
	transition: all 0.5s;
	background:#333;
    width: min(1.3vw, 6px);
    height: auto;
    aspect-ratio: 1;
	border-radius:50%;
	transition: all 0.5s;
}
/* #nav-open span:nth-of-type(1) {
  top: 2px;
}
#nav-open span:nth-of-type(2) {
  top: 11px;
}
#nav-open span:nth-of-type(3) {
  top: 20px;
} */

/*閉じる用の薄黒カバー*/
.btn-close {
    margin: 40px;
    padding: 1em;
    text-align: center;
    cursor: pointer;
    border: #666666 1px solid;
}
.btn-close:before {
	content:"×";
}
#nav-input:checked ~ #nav-open{
/* 	flex-direction:column; */
	transition: all 0.5s;
    transform: rotate(90deg);
/* 	top: min(1vw, 6px); */
    top: min(8vw, 33px);
	right: min(1vw, 12px);
	width: min(17vw, 60px);
	box-shadow: none;
	background: none;
/* 	display:block;
	gap:0; */
}
#nav-input:checked ~ #nav-open span{
/* 	transition: all 0.5s; */
/*     width: 50%;
	height: 3px;
	margin: auto;
	border-radius:0;
	display:block; */
}
/* #nav-input:checked ~ #nav-open span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) rotate(-45deg);
  -webkit-transform: translateY(50px) rotate(-45deg);
          transform: translateY(50px) rotate(-45deg);
  transition: all 0.5s;
}
#nav-input:checked ~ #nav-open span:nth-of-type(2) {
  opacity: 0;
}
#nav-input:checked ~ #nav-open span:nth-of-type(3) {
   -webkit-transform: translateY(-9px) rotate(45deg);
          transform: translateY(-9px) rotate(45deg);
  -webkit-transform: translateY(45px) rotate(45deg);
          transform: translateY(45px) rotate(45deg);
  transition: all 0.5s;
} */
	
/******************************************
 * *ヘッダー（英語）
* *****************************************/
.header-en{
		
}	
	
/*********************************
 * フッター
 * ********************************/
.footer {
	position:relative;
	margin-top:auto;
/* 	background: var(--main_color); */
}
.footer-top {
    padding: min(10vw,75px) 0;
}
.inner-footer-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: min(5vw,45px);
}
.box-info-footer {
    width: min(70vw,385px);
    text-align: center;
}
.box-info-footer .logo {
  display: block;
    margin-bottom: min(4vw,25px);
}
.box-info-footer img {
  width: 100%;
  height: auto;
}
.info-footer {
	line-height: 1.35;
	font-size: min(3.5vw,15px);
	& a{
		font-weight:500;
		color:#333;
	}
}
.info-footer > * + *{
	margin-top:0.3rem;
}
/* .sns-link{
	gap:min(4vw,15px);
    display: flex;
	& li{
		width: min(15%,52px);
		& a{
			display:block;
			& img{
				width:100%;
			}
		}
	}
}
.footer-one .sns-link{
    justify-content: center;
    margin-top: min(4vw, 25px);
    margin-bottom: 0;
	width: 100%;
} */
.wrap-footer-nav {
    display: flex;
    justify-content: end;
    margin-top: auto;
}
.footer-nav + .footer-nav{
	margin-left:min(5vw,45px);
}
.wrap-footer-nav .footer-nav li a span{
  display:none;
}
.wrap-footer-nav .footer-nav li a{
    padding: 0.3rem 0 0.3rem 1rem;
    display: block;
    color: #fff;
    line-height: 1.25;
    border-left: 3px solid #fff;
    font-size: min(1.6vw,15px);
}
.copyright {
/*     padding: 0.9rem 0;
    font-size: min(3vw,12px); */
    padding: 0.6rem 0;
/*     font-size: min(3.2vw, 14px); */
	font-size: min(2.5vw, 14px);
/*     color: #ffffff; */
    text-align: center;
/*     border-top: 1px solid #fff; */
    border-top: 2px solid #d1d1d3;
	color: #b4b4b4;
}

/* シンプルフッター */
.simple-footer-nav {
    display: flex;
    justify-content: center;
}
.simple-footer-nav li a {
    padding: 0 1em;
    color: #fff;
    font-size: min(3vw,12px);
}
.simple-footer-nav li ul{
	display:none;
}

/*フッター　ワンカラム*/
.inner-footer-one{
/*     padding: min(11vw,75px) 0 min(10vw,20px); */
	margin-bottom: min(7vw,35px);
	& .logo{
		display: block;
		margin: 0 auto min(5vw,20px);
		width: 119px;
		& img{
			width:100%;
		}
		&:hover{
			opacity:1;
		}
	}
}
.inner-footer-one .box-info-footer{
	width:100%;
	margin-bottom: min(10vw,60px);
}
.inner-footer-one .box-info-footer .logo{
    width: min(70vw,385px);
	margin-left: auto;
    margin-right: auto;
}
.inner-footer-one .info-footer{
	text-align:center;
}
	
/******************************************
*投稿モジュール
* *****************************************/
.list-post .box-post-text:not(:last-of-type) {
    border-bottom: 1px dotted var(--main_color);
}
.box-post-text a {
    display: flex;
    align-items: center;
    padding: min(4vw,17px) min(8.5vw,40px) min(4vw,17px) 0;
    position: relative;
    gap: min(2vw,22px);
    flex-wrap: wrap;
}
.box-post-text a:after {
    content: "";
	mask:url(images/arrow.svg) center/contain no-repeat;
	-webkit-mask:url(images/arrow.svg) center/contain no-repeat;
	background:#d9d9d9;
    display: block;
    position: absolute;
    transform: translatey(-50%);
    top: 50%;
    right: 0;
    width: min(5.5vw,28px);
    height: auto;
    aspect-ratio: 1;
}
.box-post-text time {
    margin-right: 0;
    font-size: min(3.2vw,14px);
}

.box-post-text h3 {
	margin:0;
	padding:0;
	position:relative;
    line-height: 1.45;
	color: #333;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
	overflow:hidden;
	text-align:left;
}

.wrap-post-img-text {
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(min(100%,350px),1fr));
    gap: min(14vw,60px);
}

.box-post-img-text a {
  display: block;
}

.img-text-info{
    display: flex;
    flex-direction: column;
    margin-top: min(5.5vw,27px);
}
.img-text-title{
    color: var(--main_color);
    font-size: min(4.5vw,20px);
    line-height: 1.25;
}
.img-text{
	font-size: min(3.5vw,16px);
    margin-top: min(5vw,10px);
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:3;
	overflow:hidden;
}

.time-post{
    display: block;
    font-size: 14px;
    margin-right: 5px;;
}

.wrap-1column .box-post-img-text .btn-flex{
    display: flex;
    flex-flow: column;
    justify-content: space-between;	
	height: 100%;
}

.wrap-1column .box-post-img-text h3[subtxt] {
	display: flex;
    flex-flow: column;
    align-items: baseline;
}
.wrap-1column .box-post-img-text h3[subtxt]:after {
    content: attr(subtxt);
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
    color: var(--main_color);
}

/* .wrap-2column .wrap-post-archive{
  margin-top:max(-20px, -8vw);
} */

.wrap-post-archive h3{
	text-align:left;
}

.box-post-archive:not(:last-of-type) {
  border-bottom: 1px solid #ccc;
}

.box-post-archive a {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding: 20px 0;
    position: relative;
}

.wrap-1column .box-post-archive a {
  padding: min(40px,8vw) 0;
}

.wrap-1column .box-post-archive:first-of-type a {
    padding-top: 0;
}

.box-post-archive a:after {
    content: "";
    content: "続きを読む";
	font-size: min(3vw, 13px);
    padding-right: 20px;
	display: inline-flex;
    align-items: center;
    justify-content: flex-end;
/*     height: 14px; */
	height: min(3.5vw, 14px);
    background: url(images/triangle.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
    margin-top: 15px;
    position: absolute;
	bottom: 20px;
	right: 0;
}
.wrap-1column .box-post-archive a:after {
	bottom: min(40px,8vw);
}

.box-post-archive a > div:nth-child(1) {
/* 	width: 250px;
	margin-right: 20px; */
	width: min(20vw, 100px);
    margin-right: min(4vw, 20px);
	&:has(> img[src*="noimage"]){
		border: 1px solid #ccc;
	}
}
.box-post-archive a > div:nth-child(2) {
    position: relative;
/*     width: calc(100% - 270px); */
    width: calc(100% - 120px);
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    height: 100%;
    padding-bottom: min(3vw, 1.5rem);
	@media(width < 641px){
		width: calc(100% - 19vw - 20px);
	}
}
.box-post-archive a > div:nth-child(2) >div {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 100%;
	align-items: center;
}

.box-post-archive img {
	width: 100%;
	height: auto;
/* 	aspect-ratio: 3/2; */
    aspect-ratio: 1;
	&[src*="noimage"]{
		display:block;
/* 		border: 1px solid #ccc; */
	}
}

.box-post-archive time {
	display: block;
/* 	font-size: 14px;
	line-height: 20px; */
	font-size: min(3.5vw, 14px);
	line-height: 1;
    margin-right: 0.5rem;
}
.box-post-archive time:before {
	content: "";
	display: inline-block;
/* 	width: 14px;
	height: 14px; */
	width: min(3.2vw, 14px);
    height: min(3.2vw, 14px);
	background: url(images/date.svg);
	background-size: cover;
/* 	margin-right: 5px; */
	margin-right: min(1vw, 5px);
	position: relative;
	top: 2px;
}

.wrap-1column .box-post-archive h3 {
	width: 100%;
	line-height: 1.5;
	font-size:20px;
	margin:0;
	padding:0;
	border:none;
	font-weight: bold;
	margin-top:15px;
	margin-bottom:15px;
}

.box-post-archive p {
	width: 100%;
    line-height: min(4.5vw, 1.55rem);
    font-size: min(3.3vw, 14px);
	position:relative;
	text-align: justify;
}

.box-post-archive-side a {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.box-post-archive-side a > div:nth-child(1) {
  width: 75px;
  margin-right:10px;
}
.box-post-archive-side a > div:nth-child(2) {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: calc(100% - 96px);
}

.box-post-archive-side img {
  width: 100%;
	height:75px!important;
  height: auto;
}

.box-post-archive-side time {
display: block;
font-size: 10px;
line-height:10px;
margin-bottom:4px;
}

.box-post-archive-side h3 {
  width: 100%;
  line-height: 1.35;
}

.box-post-archive-side .category-post {
  display:none;
  width: 70px;
  padding:0 5px;
  height: 14px;
  border-radius: 3px;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.wrap-post-archive-side{
	margin-top:12px;
}
.wrap-post-archive-side .box-post-archive-side:not(:last-child){
	margin-bottom:15px;
}

.category-post {
	display: inline-block;
	width: 80px;
/* 	height: 20px; */
	border-radius: 3px;
/* 	font-size: 12px;
	line-height: 20px; */
    font-size: min(2.7vw, 12px);
	text-align: center;
    line-height: 1;
    padding: min(1.2vw, 0.3rem);
	@media(width < 641px){
		margin-top: 0.4rem;
	}
}
.box-post-text .category-post {
    width: auto;
    padding: min(1vw,0.45rem) min(3vw,0.8rem) min(1.2vw,0.4rem);
    height: auto;
    white-space: nowrap;
    margin: 0;
    line-height: 1.25;
    font-size: min(3vw,13px);
}

/*施工事例モジュール*/
.work-tcadr{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(3vw,13px);
    padding-right: min(7vw,30px);
    font-size: min(3.5vw,15px);
    margin-top: min(6vw,25px);
}
.work-tcadr:after{
    content: "";
	mask:url(images/arrow.svg) center/contain no-repeat;
	-webkit-mask:url(images/arrow.svg) center/contain no-repeat;
	background:#d9d9d9;
    display: block;
    position: absolute;
    transform: translatey(-50%);
    top: 45%;
    right: 0;
    width: min(4.5vw,20px);
    height: auto;
    aspect-ratio: 1;
}
.work-tcadr .time-post{
    margin-right: 0;
    font-size: inherit;
}
.work-tcadr .category-post{
    font-size: inherit;
	width:auto;
	height:auto;
	line-height:1;
	background:none;
	color:#333;
}
.wrap-post-img-text + .flexCenter .btn-archive{
    margin-top: min(14vw,70px);
}

/*フッターお問い合わせ*/
body:not(.index) .contact-box {
    border-top: 1px solid #d9d9d9;
}
.contact-box{
	padding: min(7vw,35px) 0;
}
.contact-box-con{
	display:flex;
	align-items:center;
    margin: 0 max(-2vw,-2rem);
    flex-flow: wrap;
}
.contact-box-con > div{
    padding: 0 min(2vw,2rem);
}
.contact-box-title{
    flex: 1 auto;
    position: relative;
}
.contact-box-title:before{
	content: "";
    position: absolute;
	display:block;
	background:var(--main_color);
}
.contact-box-title h2{
    color: var(--main_color);
    font-size: min(6.7vw,29px);
    text-align: left;
    line-height: 1.35;
}
.contact-box-tel{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 400px;
}
.contact-box-tel .header-tel{
    background: none;
    color: #333;
	padding-top:min(5vw,0.5rem);
	padding-bottom:min(5vw,0.5rem);
	margin:0;
}
.contact-box-tel .header-tel:before {
/*     background: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 652.1"><path fill="%2355afbb" d="M44.7,27.63C-0.1,56.69-8.91,147.53,8.01,221.56c13.17,57.65,41.18,134.99,88.42,207.81 c44.43,68.51,106.42,129.94,153.69,165.48c60.7,45.64,147.22,74.65,192.03,45.59c22.66-14.69,56.32-54.84,57.85-62.04 c0,0-19.74-30.43-24.07-37.11l-66.19-102.06c-4.92-7.58-35.77-0.65-51.44,8.22c-21.14,11.98-40.61,44.11-40.61,44.11 c-14.49,8.37-26.63,0.03-52-11.64c-31.17-14.34-66.23-58.91-94.12-99.28c-25.48-41.93-51.88-92.11-52.26-126.43 c-0.31-27.92-2.98-42.41,10.58-52.23c0,0,37.28-4.67,56.84-19.08c14.5-10.69,33.4-36.03,28.49-43.61L149.02,37.23 c-4.33-6.68-24.07-37.11-24.07-37.11C117.74-1.42,67.36,12.94,44.7,27.63z"/></svg>') center/contain no-repeat; */
	mask:url(images/tel.svg) center/contain no-repeat;
	-webkit-mask:url(images/tel.svg) center/contain no-repeat;
	background:var(--main_color);
}
.contact-box-tel .htime-holi{
    margin-top: 0.35rem;
}
.contact-box-form{
	position:relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 420px;
}
.contact-box-form:before{
	content:"";
	background:#d9d9d9;
    display: block;
    position: absolute;
}
.form-link{
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: min(4vw,24px);
    padding: min(5vw,1rem) 0;
}
.form-link:before{
	content:"";
    mask: url(images/mail.svg) center / contain no-repeat;
    -webkit-mask: url(images/mail.svg) center / contain no-repeat;
	background:var(--main_color);
    width: min(10vw,48px);
    height: auto;
    aspect-ratio: 4/3;
    display: block;
    margin-right: 0.8rem;
}
.form-link:after{
    content: "";
    mask: url(images/arrow.svg) center / contain no-repeat;
    -webkit-mask: url(images/arrow.svg) center / contain no-repeat;
    background: #d9d9d9;
    display: block;
    width: min(4.5vw,25px);
    height: auto;
    aspect-ratio: 1;
    margin-left: 1.1rem;
    position: relative;
    top: -0.05rem;
}

/*サイドバー*/
.company_tel a, .company_fax a{
	pointer-events:none!important;
}
.sidebar img {
  max-width: 100%;
  height: auto;
}
.widget_nav_menu:not(:last-child),
.box-side:not(:last-child) {
  margin-bottom: 30px;
}
.widget_nav_menu h3,
.head-side {
  position: relative;
  padding:9px 0;
  font-size: 16px;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: var(--sub_color);
  margin-bottom:15px;
  line-height: 1;
}
.widget_nav_menu h3:before,.head-side:before,.widget_nav_menu h3:after,.head-side:after {
  display: block;
  content:none;
  height: 16px;
  background-color: #eeeeee;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 0%;
  flex: 1 0 0%;
  min-width: 20px;
}
.widget_nav_menu h3:before,.head-side:before{
  margin-right:0.5em;
}
.widget_nav_menu h3:after,.head-side:after {
  margin-left:0.5em;
}
.widget_nav_menu .menu > li{
  position:relative;
}
.widget_nav_menu .menu > li,.list-side > li:not(:last-of-type) {
  border-bottom: 1px solid #eee;
}
.widget_nav_menu .menu > li a,
.list-side > li a {
  display: block;
  position: relative;
  padding: 0.75em 0;
  background: #fff;
  line-height: 1.25;
}
.widget_nav_menu .menu > li a:after{
	-webkit-transform: rotate(45deg);
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    width: 10px;
    height: 10px;
    margin: auto;
    transform: rotate(45deg);
    border-top: 2px solid #999;
    border-right: 2px solid #999;
    content: "";
}
.widget_nav_menu ul > li > ul.sub-menu{
  visibility:hidden;
  position: absolute;
  top: 0;
  left: 100%;
  width: 100%;
  opacity:0;
  transition:0.5s;
}
.widget_nav_menu ul > li:hover > ul.sub-menu{
  visibility:visible;
  z-index:10;
  opacity:1;
}
.widget_nav_menu ul > li > ul.sub-menu > li:nth-child(1):before{
  content: "";
  height: 15px;
  width: 15px;
  display: block;
  background: var(--main_color);
  transform: rotate(-45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  left: -8px;
  margin: auto 0;
  z-index: -1;
}
.widget_nav_menu ul > li > ul.sub-menu > li > ul > li:nth-child(1):before{
 background: #104f82;
}
.widget_nav_menu ul > li > ul.sub-menu > li:not(:last-child) {
  border-bottom: 1px solid #c9caca;
}
.widget_nav_menu ul > li > ul.sub-menu > li{
  position:relative;
}
.widget_nav_menu ul > li > ul.sub-menu > li a{
  background:var(--main_color);
  padding:0.75em 1em;
  color:#ffffff;
  z-index:1;
}
.widget_nav_menu ul > li > ul.sub-menu > li a:hover{
  opacity:1;
  background:#3b80b7;
}
.widget_nav_menu ul > li > ul.sub-menu > li > ul  > li > a{
  background:#104f82;
}
.wp-caption-text{
  font-size: 15px;
  line-height: 1.75;
  margin-top: 0.5em;
  width: 300px;
  text-align: justify;
  letter-spacing: 0.05em;
}
.list-side2 {
  margin-bottom: 1em;
}
.list-side2 li:not(:first-child) {
  margin-top: 15px;
}
.list-side2 a {
  display: flex;
}
.list-side2 a div:nth-child(1) {
  width: 90px;
  margin-right: 10px;
}
.list-side2 a div:nth-child(2) {
  width: 200px;
}
.box-side2 .list-side2 img {
  width: 100%;
  height: 90px!important;
}
.list-side2 time {
  display: block;
  margin-bottom: 0.5em;
  font-size: 12px;
}
.list-side2 span {
  font-size: 14px;
  line-height: 1.5;
}
.box-search {
/* 	display: flex;
	padding-top:12px; */
    position: relative;
    margin-bottom: min(7vw,45px);
}
.box-search input[type="text"] {
/* 	width: 85%; */
/* 	padding: 7px 14px 6px; */
    padding: 7px min(10.5vw, 50px) 6px min(4vw, 15px);
/* 	border-radius: 4px 0 0 4px; */
	border-radius: 25rem;
    /* filter: drop-shadow(0 0 4px #ccc); */
    box-shadow: 0 0px 7px 1px #dfdfdf;
    border: none;
    height: min(9vw, 45px);
    font-size: min(3.7vw, 16px)
}
.box-search button[type="submit"] {
    position: absolute;
    translate: 0% -50%;
    top: 50%;
    right: min(3vw, 1rem);
    aspect-ratio: 24 / 26;
    width: min(4.5vw, 24px);
    height: auto;
/* 	width: 15%; */
	& img{
		width:100%;	
	}
	@media(width < 641px){
		top: 45%;
	}
}
.box-search .fa-search {
  display: block;
  background: #666666;
  height: 39px;
  border-radius: 0 4px 4px 0;
  position:relative;
}
.box-search .fa-search:before {
  content:"";
  background:url(images/search.svg);
  background-size:cover;
  display:block;
  height:20px;
  width:20px;
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:0;
  margin:auto;
}
.side-compnay {
  line-height: 1.5;
}
.side-compnay picture{
  margin-top:12px;
}
.side-compnay img {
  margin-bottom: 1em;
}
.side-address-compnay {
  margin-bottom: 1em;
}
.side-address-compnay p:before{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  margin-right:5px;
  background-size:cover;
  position: relative;
  top: 2px;
}
.company_name:before{
  background:url(images/company.svg);
}
.company_zipcode:before{
  background:url(images/zip.svg);
}
.company_pref:before{
  background:url(images/pref.svg);
}
.company_tel:before{
  background:url(images/tel2.svg);
}
.company_fax:before{
  background:url(images/fax.svg);
}
.side-list-compnay {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(min(48%,100px),1fr));
    gap: min(4vw,15px);
}
.side-list-compnay a {
  display: block;
  padding: 0.5em 1em;
  border: 1px solid #aaaaaa;
  font-size: 12px;
  text-align: center;
}

/*パンくずリスト*/
.breadcrumb {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	margin-bottom: 2em;
	color:#919191;
/* 	padding: 1em 0 0.5em; */
	& li {
		font-size: min(3.2vw,14px);
		position: relative;
		display: flex;
        align-items: center;
		& a{
			color:#919191;
		}
		&:not(:last-of-type) {
			&::after {
				content: "";
                width: 2px;
                height: 12px;
                border-right: 2px solid #919191;
                display: block;
                margin: 0 min(3vw, 1.3rem);
			}
		}
	}
	@media(width < 1001px){
		padding: 1em 0 0.5em;
	}
}
/* .breadcrumb li:not(:first-child):before {
  margin: 0 0.5em 0 1em;
  font-size: 12px;
  content: "/";
}
.breadcrumb a, .breadcrumb span {
  font-size: 12px;
}
.breadcrumb a:hover {
  text-decoration: underline;
  opacity: 1;
} */

/*間隔*/
.interval5em > *:not(:last-child) {
  margin-bottom: 0.5rem;
}
.interval10em > *:not(:last-child) {
  margin-bottom: 1rem;
}
.interval15em > *:not(:last-child) {
  margin-bottom: 1.5rem;
}
.interval20em > *:not(:last-child) {
  margin-bottom: 2rem;
}
.interval25em > *:not(:last-child) {
  margin-bottom: 2.5rem;
}
.interval30em > *:not(:last-child) {
  margin-bottom: 3rem;
}
.interval35em > *:not(:last-child) {
  margin-bottom: 3.5rem;
}
.interval40em > *:not(:last-child) {
  margin-bottom: 4rem;
}
.interval45em > *:not(:last-child) {
  margin-bottom: 4.5rem;
}
.interval50em > *:not(:last-child) {
  margin-bottom: 5rem;
}

	/*その他デザインcss*/
	.related{
		margin-top: min(13vw,80px);
	}
	.wp-block-media-text{
	  margin:32px 0;
	}
	.wp-block-media-text{
	  align-items:flex-start;
	}
	.wp-block-media-text > *:nth-child(1){
	  margin-right:32px;
	}
	.wp-block-media-text.has-media-on-the-right > *:nth-child(1){
	  margin-right:0px;
	}
	.wp-block-media-text.has-media-on-the-right > *:nth-child(2){
	  margin-right:32px;
	}
	.wp-block-media-text .wp-block-media-text__content{
	  padding:0;
	}
	.wp-block-column .wp-block-image{
	  margin-bottom:0;
	}
	.wp-block-column{
		position: relative;
	}
	.wp-block-column >*:first-child{
		margin-top: 0;
	}
	.wp-block-buttons{
		width: 100%;
	}
	.wp-block-button__link {
		width: 100%;
		max-width: 360px;
		display: block;
	}
	.single-contents .wp-block-button__link{
		text-decoration:none;
	}
	.single-contents .wp-block-button__link strong{
		background:none;
		padding:0;
	}

	/*ギャラリー*/
	.wp-block-gallery{
		display: grid;
		grid-template-columns: repeat(auto-fill,minmax(min(25%,230px),1fr));
		gap: min(3vw,20px);
	}
	.wp-block-gallery.columns-2{
		grid-template-columns: repeat(auto-fill,minmax(min(45%,350px),1fr));
		gap: min(4vw,40px);
	}
	.wp-block-gallery.columns-3{
		grid-template-columns: repeat(auto-fill,minmax(min(25%,250px),1fr));
		gap: min(3vw,30px);
	}
	.wp-block-gallery.columns-5{
		grid-template-columns: repeat(auto-fill,minmax(min(25%,180px),1fr));
	}
	.wp-block-gallery.columns-6{
		grid-template-columns: repeat(auto-fill,minmax(min(25%,150px),1fr));
	}
	.wp-block-gallery img{
		width:100%;
		object-fit:cover;
		aspect-ratio:3/2;
	}
	
/*****************************
 * 装飾
 * ***************************/
[class*="mat-"] {
	&[class*="-middle"] {
      padding: min(8vw, 3rem);
    }
    &[class*="-min"] {
      padding: min(6vw, 2rem);
    }
	&[class*="-white"] {
      background: #fff;
    }
    &[class*="-gray"] {
        background: #efefef;
    }
}

/*****************************
 * 見出し（タイトル）デザイン
 * ***************************/
/*シンプルタイトル*/	
[class*="simple-title"]{
	font-weight:bold;
	&[class*="-medium"]{
		font-size:min(4.5vw,20px);
		margin-bottom:min(5vw,25px);
	}
	&[class*="-small"]{
		font-size:min(3.7vw,16px);
		margin-bottom:min(3vw,15px);
	}
	&[class*="mcolor"]{
		color:var(--main_color);
	}
}	
	
/*メモ帳みたいなデザイン*/
.notepad-title-box{
    position: relative;
    padding: min(6vw,2.5rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--sub_color);
    width: min(100%,480px);
    margin: 0 auto min(11.5vw,65px);
}
.notepad-title-box:before{
    content: "";
    background: #b8b8b8;
    display: block;
    width: min(17vw,93px);
    height: 2px;
    transform: rotate(140deg);
    position: absolute;
    top: min(4vw,1.3rem);
    left: max(-4vw,-1.4rem);
}
.notepad-title-box:after{
content: "";
    background: #b8b8b8;
    display: block;
    width: min(17vw,93px);
    height: 2px;
    transform: rotate(140deg);
    position: absolute;
    bottom: min(4vw,1.3rem);
    right: max(-4vw,-1.4rem);
}
.notepad-title{
    font-size: min(9.5vw,50px);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: bold;
    line-height: 1.25;
}
.notepad-sub{
	color:var(--main_color);
	font-size:min(3.7vw,18px)
}	
	
	@media screen and (min-width: 1241px){
/* 		.single-wrap{
			border: 1px solid #ccc;
			padding:min(5vw,52px);
		}	 */

		.has-large-font-size{
		  font-size:42px;
		}

		.wp-block-cover__inner-container p{
		  color:#ffffff;
		  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		}
	}
	
	
	@media screen and (min-width: 1001px) {
		.tb {
			display: none;
		}
		.sp {
			display: none;
		}
		.pc-textCenter{
			text-align:center;
			line-height:2.6;
		}

/* 	  	.wrap-2column {
		  display: flex;
		  flex-flow: row-reverse nowrap;
		}
		.wrap-2column .sidebar {
			flex: 0 min(30%, 300px);
		} */

		/*ヘッダー*/
		#nav-content, .nav, .nav > .contents, .nav .header-tel{
			height: 100%;
		}
		.header-tel{
		    justify-content: center;
		}
		.nav-drawer{
			display: flex;
			flex-wrap: wrap;
			width: 100%;
/* 			gap: min(3vw, 15px) min(5vw, 25px); */
			gap: min(3vw, 15px) min(5vw, 25px);
		}
		.en-page .nav-drawer{
			@media (1400px < width) {
				width: min(100%, 1550px);
				margin: 0 auto;
			}
		}
		.inner-header{
			padding:0;
/* 			width: min(30vw, 103px); */
			width: min(8vw, 103px);
/* 			margin-right: auto; */
		}
		.header-menu{
			width: calc(100% - min(8vw, 103px) - min(5vw, 25px));
/* 			width: calc(100% - min(30vw, 103px) - min(5vw, 25px)); */
		}
/* 		.wrap-logo {
			margin-left: 1rem;
		}
		.wrap-logo .logo{
			margin: 0.65rem 0;
		} */
/* 		.wrap-logo .logo img {
			max-height: 60px;
		} */
		.nav{
			color:#666;
		}
		.nav > .contents {
			display: flex;
			align-items: center;
			margin: 0;
			gap: min(2.5vw, 3rem);
		}
		.drawer-nav {
			display: none;
		  }
		#nav-open{
			display: none;
		}
		.btn-close {
			display: none;
		}
		
		.inner {
			padding: 0 50px;
		  }
		  .wrap-section-interval > *:not(:last-child) {
			margin-bottom: 90px;
		  }
		  .wrap-section-padding > * {
			padding: 60px 0;
		  }

		.wrap-1column .box-post-img-text {
			width: calc((100% - 75px) / 3);
		}

		  .wrap-main {
			display: flex;
			position: absolute;
			top: -25px;
			left: -450px;
			align-items: center;
			justify-content: flex-end;
			width: 898px;
			height: 305px;
			padding: 50px;
		  }
		  .inner-main {
			width: 250px;
		  }
		  .inner-main h1 {
			font-size: 26px;
		  }
		  .inner-main p {
			font-size: 14px;
		  }

		  .wrap-tel-header {
			display: flex;
			flex-wrap: nowrap;
		  }

		  a[href^="tel:"] {
			pointer-events: none;
			word-break: keep-all;
			white-space: nowrap;
		  }
		  .btn-form,
		  button.btn-form {
			width: 250px;
			padding: 1em;
			font-size: 15px;
		  }

		  .pagetop.active {
			bottom: 20px;
			opacity: 0.7;
			transition: unset;
		  }
		.pagetop.active:hover {
		  opacity:1;
		  }

		  .icon-question:before,
		  .icon-tel:before {
		  width: 15px;
		  height: 15px;
		  }
		  .bg-footer {
			background: url(images/bg-footer.jpg) no-repeat center top -1px;
			background-size: 2001px 273px;
		  }
		  .index .overlay:before {
			z-index: 4;
			position: absolute;
			top: -40px;
			left: -450px;
			width: 480px;
			height: 743px;
			background: rgba(0, 155, 219, 0.6);
			content: "";
		  }
		  .index1:after {
			z-index: 1;
			position: absolute;
			top: -160px;
			left: -450px;
			width: 898px;
			height: 864px;
			background: url(images/index1.png) no-repeat center center;
			content: "";
		  }
		  .bg-company {
			background: url(images/bg-works.png) no-repeat center top;
		  }
		  .bg-outline {
			background: url(images/bg-outline.jpg) no-repeat center top;
		  }
		  .bg-history {
			background: url(images/bg-history.jpg) no-repeat center top;
		  }
		  .bg-access {
			background: url(images/bg-access.jpg) no-repeat center top;
		  }
		
		.table-common th {
			width: 180px;
			padding: 0.5em 1em;
			vertical-align: top;
		}
		.table-common td {
			padding: 0.5em 1em;
			vertical-align: top;
		}
		.table-contact {
			margin-bottom: 60px;
		}
		.table-contact th {
			width: 230px;
			padding: 2em 0 0 1em;
			border-bottom: 1px solid #ccc;
			font-size: 15px;
			vertical-align: middle;
			vertical-align: top;
		}
		.table-contact th.required:after {
			top: 2.5em;
			font-size: 11px;
		}
		.table-contact td {
			padding: 1em 2em;
		}
		.confirm .table-contact td {
			height: 72px;
			line-height: 40px;
		}

/* 		.wrap-1column .box-post-archive a > div:nth-child(1) {
			width: 300px;
			margin-right: 40px;
		}
		.wrap-1column .box-post-archive a > div:nth-child(2) {
			width: calc(100% - 300px);
		} */
		
		/*フッター*/
		.footer-contents{
			display: flex;
			flex-direction: column;
			gap: min(7vw,37px);	
			margin-left: auto;
			width: min(100%,885px);
		}
		.footer-top .sns-link{
			justify-content: end;
		}
		.inner-footer-top .wrap-simple-footer-nav{
			display:none;	
		}
		.info-footer{
			text-align: left;
		}

		/*フッター　ワンカラム*/
		.inner-footer-one .simple-footer-nav li:not(:first-of-type) a {
			border-left: 1px solid #fff;
		}	
	}

/* 	@media screen and (min-width: 901px) and (max-width:1240px) {
	  .wrap-2column .main-column {
		width:calc(100% - 340px);
	  }
	} */
	
	@media screen and (max-width: 1000px) {
		body p {
			line-height: 1.85;
		}
		.pc {
			display: none;
		}
/* 		.sp{
			display:block;
		} */

/* 		.wrap-2column .main-column{
			margin-bottom: min(20vw,120px);
		}
		  .wrap-2column .section-common:nth-child(1) h2 {
			margin-top: 0px;
		  }
 */
		  .wrap-section-interval > *:not(:last-child) {
			margin-bottom: 15vw;
		  }
/* 		  .wrap-2column .section-common:not(:last-child) {
			margin-bottom: 10vw;
		  }
 */
		  .pagetop {
			right: 3vw;
			bottom: -60px;
		  }
		  .pagetop.active {
			bottom: 3vw;
		  }

		/*ヘッダー*/
		.header-tel{
			margin: 20px 20px 0;
		}
/* 		  .wrap-logo {
			margin-left: 20px;
		  } */
		  .wrap-tel-header {
			display: none;
		  }
		  .global-nav {
			display: none;
		  }
		  #nav-close {
			display: none;
			z-index: 99;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: #000;
			opacity: 0;
			transition: 0.3s ease-in-out;
		  }
		  #nav-content {
		-webkit-transform: translateX(-105%); 
			z-index: 9999;
			position: fixed;
			top: 0;
			left: 0;
/* 			width: 90%;
			max-width: 300px;
			min-width: 300px; */
			  width: 100vw;
			height: 100%;
			overflow: auto;
			transform: translateX(-105%); 
			background: #fff;
			transition: 0.5s ease-in-out;
			white-space: nowrap;
			word-break: keep-all;
		  }
		  .btn-close {
			display: block;
		  }
		  #nav-input:checked ~ #nav-close {
			display: block;
			opacity: 0.5;
		  }
		  #nav-input:checked ~ #nav-content {
			 -webkit-transform: translateX(0%); 
			 transform: translateX(0%); 
			box-shadow: 6px 0 25px rgb(0 0 0 / 15%);
		  }
		.htel {
			font-size: min(4vw,27px);
		}
		.header-tel:before{
			width: min(3.5vw, 24px);
		    left: min(2.5vw, 1.2rem);
		}

		/*サイドバー*/
		  .sidebar {
			display: flex;
			flex-flow: row wrap;
			justify-content: space-between;
		  }
		  .sidebar > * {
			width: 100%;
		  }
		  .sidebar .widget_nav_menu {
			display:none;
		  }
		  .sidebar img {
			width: 100%;
		  }
		  .list-side2 a div:nth-child(1) {
			width: 40%;
			margin-right: 5%;
		  }
		  .list-side2 a div:nth-child(2) {
			width: 55%;
		  }
		  .side-compnay{
			display:flex;
			flex-wrap:wrap;
			justify-content:space-between;
		  }
		  .side-compnay h3{
			width:100%;
		  }
		  .side-compnay picture{
			width:100%;
		  }
		  .side-address-compnay-box{
			width:100%;
		  }
		  .company-photo{
			display:flex;
			flex-wrap:wrap;
			justify-content: space-between;
		  }
		  .sidebar .company-photo > div{
			width:48%;
			margin-bottom: 4vw;
			}

			body .telp {
			text-align: center;
			font-size: 3.5vw;
			}

			.contact-tel{
			font-size: 6vw;
			display: block;
			margin: 4vw 0 0;
			}

		/*フッター*/
		.footer-top .tb-contents {
			width: 100%;
			padding-right: 0;
			padding-left: 0;
		}
		.footer-nav {
			align-items: center;
		}
		.footer-contents {
			width:100%;
		}
		.footer-top {
			padding-bottom:0;
		}
		.inner-footer-top{
			flex-flow: row wrap;
			justify-content: center;
			gap: min(5vw,25px);
		}
		 .box-info-footer {
			display: flex;
			flex-flow: column nowrap;
			align-items: center;
			width: min(100%,430px);
			padding: 0 min(8vw,40px);
		}
		.wrap-footer-nav{
			display:none;
		}
		.footer-top .sns-link{
			padding: 0 min(8vw,40px);
			width:100%;
			justify-content: center;
			margin-bottom: min(11vw,70px);
		}
		.simple-footer-nav{
			flex-wrap:wrap;
		    justify-content: space-between;
		}
		.simple-footer-nav li{
			width: 50%;
			text-align: center;
			border-top: 1px solid #fff;
		}
		.simple-footer-nav li:nth-of-type(odd){
			border-right: 1px solid #fff;	
		}
/* 		.simple-footer-nav li:nth-last-of-type(2){
			border-bottom: 1px solid #fff;
		} */
		.simple-footer-nav li a{
			border-right:none;	
			width: 100%;
			padding: min(3.5vw,15px);
			display:block;
		}

		/*フッター　ワンカラム*/
		.footer-one{
			padding-bottom:0;	
		}
		.footer-one .contents{
			width: 100%;
			padding-right: 0;
			padding-left: 0;
		}
		
		/*テキスト投稿*/
		.box-post-text h3{
			width:100%;	
		}
	}
	
	@media screen and (max-width: 900px) {
		#nav-content{
			width: 100vw;
			min-width: unset;
			max-width: unset;
/* 			padding-top: 70px; */
			& .nav{
				border-top: 1px solid #ccc;
			}
		}
	}

	
	@media screen and (min-width: 641px) and (max-width:1000px){
/* 		#nav-open{
			top: 21px;
		} */

		.widget_media_image figure{
		width:100%!important;
		display:flex;
		flex-direction:row;
		}
		.widget_media_image figure a{
			max-width:300px;
			margin-right:2%;
		}
		.widget_media_image figcaption{
			margin-top:0;
			width:calc(100% - (300px + 2%));
		}
	}
	
	@media screen and (max-width: 640px){
		/*モバイルヘッダー*/
		.header-tel{
			padding: min(4vw,1rem) min(3vw,1rem) min(4vw,1rem) min(13vw,3.3rem);
			font-family: "Roboto", sans-serif;
		}
		.header-tel:before {
			width: min(7vw, 24px);
			left: min(4.5vw, 1.5rem);
		}	
		.htel{
			font-size: min(7.5vw,27px);
		}
		.htime-holi {
			font-size: min(2.7vw,12px);
			margin-top: 0.3rem;
		}
		.inner-header {
/* 			height: 80px;
			padding: 25px 0 5px; */
			height: 70px;
			padding: 10px 0;
		}
		.wrap-logo {
			margin-left: 0;
		}
		.wrap-logo .logo {
/* 			width: 180px; */
			width: min(15vw, 50px);
			margin-left: 10px;
		}
		.head-header {
			position: absolute;
			top: 0;
			width: 100%;
			margin: 0;
			background: var(--main_color);
			line-height: 15px;
		}
		.head-header > * {
			color: #fff;
			font-size: 8px;
			text-align: center;
			line-height: 1.75;
		}
		.list-sp-menu {
			display: flex;
			position: absolute;
			top: 30px;  
			right: 50px;
		}
		/*spアイコンの色を変えるならfill内を"23"から初めて16進数のカラーコードで記述をする事*/
		.sp-header-tel:before{
			content:"";
			display:inline-block;
			height:25px;
			width:25px;
			mask:url(images/tel3.svg) no-repeat center center;
			-webkit-mask:url(images/tel3.svg) no-repeat center center;
			background:var(--main_color);
			background-size:cover;
			margin:0 auto;
			right:0;
			left:0;
		}
		.sp-header-contact:before{
			content:"";
			display:inline-block;
			height: 25px;
			width: 25px;
			mask:url(images/mail2.svg) no-repeat center center;
			-webkit-mask:url(images/mail2.svg) no-repeat center center;
			background:var(--main_color);
			background-size:cover;
			margin:0 auto;
			right:0;
			left:0;
		}
		.sp-header-access:before{
			content:"";
			display:inline-block;
			height:24px;
			width:24px;
			mask:url(images/pref.svg) center/contain no-repeat;
			-webkit-mask:url(images/pref.svg) center/contain no-repeat;
			background:var(--main_color);
			background-size:cover;
			margin:0 auto;
			right:0;
			left:0;
		}
/* 		#nav-open {
			top: 17px;
			right: 10px;
		} */

		/*モバイルアーカイブ*/
		.box-post-archive a{
			flex-flow: wrap;
		}
		.box-post-archive a:after{
			position: unset;
			bottom: none;
			right: none;
			width: 100%;
		}	
/* 		.box-post-archive a > div:nth-child(1) {
			width: 25vw;
		}
		.box-post-archive a > div:nth-child(2) {
			width: calc(100% - 25vw - 20px);
		} */
		.main-column .box-post-archive h3, .wrap-1column .box-post-archive h3 {
			margin: 5px 0;
			letter-spacing: 0.1em;
			line-height: 1.25;
			font-size: 16px;
		}

		/*モバイルフッター*/
		.box-footer-top {
			padding: 10vw 10vw 7.5vw;
			text-align: center;
		}
		.wrap-footer-nav {
			display: none;
		}
		
		/*モバイルサイドバー*/
		.sidebar {
			display: block;
		}
		.sidebar > * {
			width: auto;
		}
		.widget_nav_menu:not(:last-child),
		.box-side:not(:last-child) {
			margin-bottom: 10vw;
		}
		.list-side2 a div:nth-child(1) {
			width: 30%;
		}
		.list-side2 a div:nth-child(2) {
			width: 65%;
		}
		
		/*モバイルレイアウト*/
		.textCenter{
			text-align: unset;	
		}	
		.spFullWidth {
			width: 100%;
			height: auto;
		}
		.wrap-main {
			width: 100%;
			padding: 10vw 5vw;
		}
		.inner-main h1 {
			font-size: 6vw;
		}
		.btn-form,
		button.btn-form {
			width: 65vw;
			padding: 1em;
		}

		.pagination .pager {
			min-width: 7.5vw;
			height: 7.5vw;
			font-size: 4vw;
			line-height: 7.5vw;
		}
		.pagination .pager i:before {
			min-width: 7.5vw;
			height: 7.5vw;
			font-size: 4vw;
			line-height: 7.5vw;
		}
		.bg-footer {
			background: url(images/bg-footer@2x.jpg) no-repeat center top;
			background-size: 100% 55.5vw;
		}
		.bg-company {
			background: url(images/bg-works.png) no-repeat right 40% bottom;
			background-size: cover;
		}
		.bg-outline {
			background: url(images/bg-outline.jpg) no-repeat center top;
			background-size: cover;
		}
		.bg-history {
			background: url(images/bg-history.jpg) no-repeat center top;
			background-size: cover;
		}
		.bg-access {
			background: url(images/bg-access.jpg) no-repeat center top;
			background-size: cover;
		}
		.spImgFullWidth {
			display: block;
			width: 100%;
			height: auto;
		}
		.wrap-about {
			flex-flow: row wrap;
			justify-content: center;
		}
		.wrap-about > div:nth-child(1) {
			margin-right: 0;
			margin-bottom: 3vw;
			margin-left:0;
			width:100%;
		}
		.wrap-about > div:nth-child(1) img {
			width:100%;
		}
		.wrap-about > div:nth-child(2) {
			width: 100%;
		}
		.widget_media_image figure{
			width:100%!important;
		}
		.widget_media_image figcaption{
			width:100%;		
		}

		/*投稿記事移動*/
		.nav-link {
			z-index: 10;
			bottom: 0;
			left: 0;
			width: 100%;
		}
		.link-prev, .link-next, .link-archive {
/* 			flex: 1; */
			width: auto;
			height: 100%;
		}
		.link-prev a, .link-next a, .link-archive a {
			height: 100%;
			font-size: 12px;
		}
		.link-prev a{
			border-right:none;
		}
		.link-next a{
			border-left:none;
		}
		.icon-question:before, .icon-tel:before {
			width: 4vw;
			height: 4vw;
		}
		
		/*モバイルテーブル*/
		.table-common > tbody > tr, .table-contact > tbody > tr {
			display: flex;
			flex-flow: wrap;
			align-items: center;
			width: 100%;
		}

		.table-common > tbody > tr th, .table-contact > tbody > tr th, .table-common > tbody > tr td, .table-contact > tbody > tr td {
			min-width: 8em;
			list-style-type: none;
			width: 100%;
		}
		.main-column .contact-form table th,.main-column .contact-form table td	{
			width: 100%;
			padding-left: 0;
			background : none;
		}
		.main-column .contact-form table td{
			padding-top: 0;
		}
		.main-column .contact-form table tr:last-of-type td{
			border-bottom:none;
		}

		.table-common th {
			padding: 1em 0 0.5em;
		}
		.table-common td {
			padding: 0 0 1em;
			border-bottom: 1px solid #eee;
		}
		.table-contact {
			margin-bottom: 5vw;
		}
		.table-contact th {
			padding: 1.5em 1em 0.5em;
		}
		.table-contact th.required:after {
			top: 1.5em;
			margin-right: 1em;
			font-size: 2.7vw;
		}
		.table-contact td {
			padding: 0.5em 1em 1.5em;
		}
		.main-column table th{
			border-bottom:none;	
			border-top:none;	
			background: #f3f3f3;
		}

		.mobile-tel-header a{
			letter-spacing: -0.02em;
		}
	}
}
/*--------------------base.cssここまで--------------------*/


/*--------------------（レイアウト）layout.css--------------------*/
@layer layout {
	/*アスペクト*/
	[class*="aspect-"]:not(:has(img)), [class*="aspect-"]:has(img) img {
		object-fit: cover;
		width: 100%;
	}
	.aspect-1_1:not(:has(img)), .aspect-1_1:has(img) img {
		aspect-ratio: 1/1;
	}
	.aspect-3_1:not(:has(img)), .aspect-3_1:has(img) img {
		aspect-ratio: 3/1;
	}
	.aspect-4_1:not(:has(img)), .aspect-4_1:has(img) img {
		aspect-ratio: 4/1;
	}
	.aspect-4_3:not(:has(img)), .aspect-4_3:has(img) img {
		aspect-ratio: 4/3;
	}
	.aspect-5_2:not(:has(img)), .aspect-5_2:has(img) img {
		aspect-ratio: 5/2;
	}
	.aspect-5_6:not(:has(img)), .aspect-5_6:has(img) img {
		aspect-ratio: 5/6;
	}
	.aspect-7_5:not(:has(img)), .aspect-7_5:has(img) img {
		aspect-ratio: 7/5;
	}
	.aspect-8_5:not(:has(img)), .aspect-8_5:has(img) img {
		aspect-ratio: 8/5;
	}
	.aspect-16_9:not(:has(img)), .aspect-16_9:has(img) img {
		aspect-ratio: 16/9;
	}
	.aspect-20_13:not(:has(img)), .aspect-20_13:has(img) img {
		aspect-ratio: 20/13;
	}
	
	/*テンプレ*/
	:is([class*="grid-"]:not(.wp-block-group), [class*="grid-"].wp-block-group >div) {
		display: grid;
	}
	:is(.grid-2:not(.wp-block-group), .grid-2.wp-block-group >div){
/* 		grid-template-columns: repeat(auto-fill,minmax(min(100%,450px),1fr)); */
		grid-template-columns: repeat(auto-fill,minmax(min(100%,350px),1fr));
/* 		gap: min(12vw,50px) min(8vw,50px); */
		gap: min(12vw,55px) min(8vw,40px);
/* 		& figure{
			margin-bottom:1.5rem;
		} */
		& .title-min{
			font-size: min(4.5vw, 20px);
			margin-bottom: min(2.5vw, 0.7rem);
			+ p{
				font-size: min(3.5vw,15px);	
			}
		}
	}
	
	.grid-2 [class*="wp-block-group__"] > figure{
		margin-bottom:1.5rem;
	}

	:is(.grid-3:not(.wp-block-group), .grid-3.wp-block-group >div) {
/* 		grid-template-columns: repeat(auto-fill,minmax(min(100%,300px),1fr)); */
		grid-template-columns: repeat(auto-fill,minmax(min(100%,200px),1fr));
		gap: min(12vw, 5rem) min(4vw, 2.5rem);
		&  div > figure:has(+ *){
			 margin-bottom: 1.5rem;
		}
	}
	:is(.grid-4:not(.wp-block-group), .grid-4.wp-block-group >div){
		grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));
		gap:min(9vw,40px);
	}

	:is([class*="flex-"]:not(.wp-block-group), [class*="flex-"].wp-block-group >div) {
		display: flex;
		gap: min(6vw, 6rem) min(4vw, 3rem);
	}
	:is(.flex-reverse:not(.wp-block-group), .flex-reverse.wp-block-group >div) {
		flex-flow: row-reverse;
	}
	:is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(1),
	:is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(2){
		flex: 1;
	}
	:is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(2),
	:is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(1){
		flex: 2;
	}
	
	.flex-2_1{
		& .grid-2 > div{
			grid-template-columns: repeat(auto-fill, minmax(min(40%, 180px), 1fr));
			gap: min(5vw, 1.2rem) min(4.5vw, 1.5rem);
			& img{
				width:100%;
			}
		}
	}
	
	:is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(1),
	:is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(2){
		flex: 1;
	}
	:is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(2),
	:is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(1){
		flex: 3;
	}		

	:is(.flex-1_4:not(.wp-block-group), .flex-1_4.wp-block-group >div)>*:nth-child(1),
	:is(.flex-4_1:not(.wp-block-group), .flex-4_1.wp-block-group >div)>*:nth-child(2){
		flex: 1;
	}
	:is(.flex-1_4:not(.wp-block-group), .flex-1_4.wp-block-group >div)>*:nth-child(2),
	:is(.flex-4_1:not(.wp-block-group), .flex-4_1.wp-block-group >div)>*:nth-child(1){
		flex: 4;
	}
	
	:is(.flex-1_1d7:not(.wp-block-group), .flex-1_1d7.wp-block-group >div)>*:nth-child(1){
		flex: 1;
	}
	:is(.flex-1_1d7:not(.wp-block-group), .flex-1_1d7.wp-block-group >div)>*:nth-child(2) {
		flex: 1.7;
	}
	
	@media screen and (min-width:901px){
		.float1-2_box > div{
			clear: both;
			& > *:nth-child(1) {
				float: right;
				width: min(100%, 250px);
				margin: 0 0 2rem 2rem;
			}
		}
	}	
	
	@container main-size (max-width: 860px) {
/* 		.wrap-2column .wrap-post-img-text{
			grid-template-columns: repeat(auto-fill,minmax(min(45%,200px),1fr));
			gap: min(7vw,40px);
		}
		.wrap-2column .img-text-title{
			color: var(--main_color);
			font-size: min(3.7vw,16px);
			line-height: 1.25;	
		}
		.wrap-2column .wrap-zoom{
			margin-bottom: min(2.5vw,0.8rem);
		}
		.wrap-2column .wrap-zoom + div{
			gap: min(2vw,0.5rem);
			display: flex;
			flex-wrap: wrap;
			align-items: center;	
		} */
		:is(.grid-4:not(.wp-block-group), .grid-4.wp-block-group >div){
			grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));
		}
	}
	
	@media screen and (max-width: 640px) {
		:is([class*="flex-"]:not(.wp-block-group, .flex-column), [class*="flex-"].wp-block-group:not(.flex-column) >div) {
		  flex-flow: wrap;
		  &>* {
			flex: 1 100%;
		  }
		}
	}
}
/*--------------------layout.cssここまで--------------------*/

/*--------------------design.css--------------------*/
@layer design {
	/*左線と英語*/
	.left-line-en{
		position: relative;
		font-size: min(5.5vw,30px);
		border-left: 5px solid var(--main_color);
		margin-bottom: min(13.5vw,75px);
		padding: min(3.3vw,1rem) 0 min(3.3vw,1rem) min(4vw,1.3rem);
		line-height: 1.25;
	}
	.left-line-en:after{
		content: attr(txt);
		display: block;
		font-size: min(3.5vw,17px);
		color: #b8b8b8;
		position: absolute;
		bottom: max(-5.5vw,-1.7rem);
		left: min(4.5vw,1.5rem);
	}
	/*下三角がついているべた塗タイトル*/
	.back-color-arrow{
		position: relative;
		background: var(--main_color);
		color: #fff;
		font-size: min(5.5vw,30px);
		padding: min(3.3vw,1rem) min(4vw,1.3rem);
		line-height: 1.25;
		margin-bottom: min(11.5vw,65px);
	}
	.back-color-arrow:after{
		content: "";
		background: var(--main_color);
		clip-path: polygon(0% 0%, 0% 0%, 100% 0%, 50% 75%);
		width: min(7vw,30px);
		height: auto;
		aspect-ratio: 1;
		position: absolute;
		bottom: max(-5vw,-1.5rem);
		left: min(5.5vw,2.5rem);
	}
	/*べた塗の左外に線のあるタイトル*/
	.left-line-out{
		border-left: 10px solid var(--main_color);
		background: #ececec;
		font-size: min(5vw,22px);
		padding: min(3.3vw,1rem) min(4vw,1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw,40px);
	}
	.left-line-out + p {
		margin-top: max(-2.5vw,-1rem);
	}
	/*べた塗の内側の左に線があるタイトル*/
	.left-line-in{
		background:#ececec;
		font-size: min(5vw,22px);
		position: relative;
		padding: min(3.3vw,1rem) min(4vw,1.3rem) min(3.3vw,1rem) min(8vw,2.1rem);
		line-height: 1.25;
		margin-bottom: min(8vw,40px);
	}
	.left-line-in:before{
		content: "";
		background: var(--main_color);
		width: 6px;
		height: 60%;
		display: block;
		left: 15px;
		top: 50%;
		position: absolute;
		transform: translateX(-50%) translateY(-50%);
	}
	/*下線のタイトル*/
	.line-bottom{
		line-height: 1.25;
		font-size: min(5vw,22px);
		padding-bottom: min(2.5vw,0.7rem);
		border-bottom: 3px solid var(--main_color);
		margin-bottom: min(4.5vw,35px);
	}
	/*背景に塗りつぶし・上線・下線あり*/
	.backcolor-line-title {
		background: var(--sub_color);
		border-top: 3px solid var(--main_color);
		border-bottom: 3px solid var(--main_color);
		font-size: min(5.5vw,30px);
		padding: min(3vw, 0.7rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}
	/*背景に塗りつぶし*/
	.backcolor{
		background: var(--sub_color);
		font-size: min(5.5vw,30px);
		padding: min(3vw, 0.7rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);	
	}
	/*下線テキスト中央*/
	.title-center-border_bottom {
		border-bottom: 1px solid var(--main_color);
		padding-bottom: min(2.5vw, 0.7rem);
		font-size: min(4.5vw, 22px);
		font-weight: 700;
		margin-top: min(5vw, 1.2rem);
		margin-bottom: min(3.5vw, 1rem);
		line-height: 1.5;
		text-align: center;
		+ p {
			font-size: min(3.5vw,15px);
		}
	}
	/*太字・少し大きく*/
	.sub-title-color {
		color: var(--main_color);
		line-height: 1.5;
		font-size: min(4.5vw, 20px);
		font-weight: bold;
		margin-bottom: min(1.5vw, 0.5rem);
	}
	/*真ん中・太字・少し大きく*/
	.title-min {
		font-size: min(4.5vw, 18px);
		font-weight: 700;
		margin-block-end: 0.5rem;
		line-height: 1.25;
		text-align: center;
	}
	/*最初大文字の下線付き*/
	.obig-text-title {
		position: relative;
		font-size: min(4.5vw, 22px);
		border-bottom: 1px solid var(--main_color);
		margin-bottom: min(3vw, 16px);
		padding-bottom: min(2vw, 12px);
		line-height: 1.25;
		&:first-letter {
			font-size: min(6.5vw, 30px);
			color: var(--main_color);
		}
		+ p{
			font-size: min(3.5vw, 14px);
			line-height: min(6vw, 1.75rem);
		}
	}
	/*中央テキスト・下線ありの真ん中色付き*/
	.center-color-title {
		position: relative;
		font-size: min(5vw, 22px);
		text-align: center;
		border-bottom: 3px solid #ddd;
		margin-bottom: min(4vw, 16px);
		padding-bottom: min(3vw, 12px);
		line-height: 1.25;
		&::after {
			content: "";
			position: absolute;
			bottom: -3px;
			left: 50%;
			transform: translateX(-50%);
			width: 70px;
			height: 3px;
			background-color: var(--main_color);
		}
	}

	/********************************
	 * リストデザイン（通常：ドット、丸に数字）
	 * ******************************/
	[class*="big-list"]{
		padding-left: 27px;
		&[class*="-num"]{
			list-style-type: decimal;
		}
		& > li{
			list-style-type: decimal-leading-zero;
			font-size: min(4vw,18px);
			font-weight: bold;
			&::before{
				display:none;
			}
			& + li{
				margin-top:0.7rem;
			}
		}
	}
	.list_grid-3 > div{
		display:grid;
		grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));
		gap:min(7vw,60px);
		width:min(100%,600px);
		margin:0 auto;
	}
	.main-column [class*="-list"] + [class*="-list"]{
		margin-top: min(6.5vw, 2rem);
	}
	p + [class*="-list"]{
		margin-top: min(4.5vw, 1.3rem);
	}
	[class*="-list"]:has(+ p){
		margin-bottom: min(6vw, 2rem);
	}
	/*チェックリスト*/
	.check-list{
		margin-left: min(6vw, 1.5rem);
	}
	.check-list li{
		position: relative;
		padding-left: min(6vw,1.5rem);
		line-height: 1.55;
	}
	.check-list li:before{
		content: "";
		position: absolute;
		top: min(1.4vw,6px);
		left: 1px;
		display: block;
		width: min(4vw,12px);
		height: auto;
		aspect-ratio: 12/7;
		border-left: 2px solid var(--main_color);
		border-bottom: 2px solid var(--main_color);
		transform: rotate(-45deg);
	}
	/*※米リスト*/
	.kome-list{
		margin-top: 0.2rem;
	}
	.kome-list li{
		line-height: 1.55;
		padding-left: min(6vw, 1.3rem);
		position:relative;
		text-align: left;
		&::before{
			content:"※";
			display:block;
			position: absolute;
			top: 0;
			left: 2px;
			width: min(5vw, 15px);
			height: auto;
			aspect-ratio: 1;
		}
	}
	ul li .kome-list{
		margin-top: 0.2rem;
		font-size: min(3.3vw, 12px);
		& li:before{
			top:0;
		}
	}
	/*タイトルありリスト*/
	.with-title-list li{
		position: relative;
		padding-left: min(5vw, 1.2rem);
		line-height: 1.65;
		font-size: min(3.5vw, 15px);
		text-align: left;
		&::before{
			content: "";
			display: block;
			position: absolute;
			top: 6px;
			left: 2px;
			width: min(2vw, 8px);
			height: auto;
			aspect-ratio: 1;
			background: var(--main_color);
			border-radius: 15px;
		}
		& strong {
			font-size: min(4.5vw, 17px);
			display: inline-block;
			margin-bottom: min(2vw, 0.3rem);
			line-height: 1.25;
		}
	}
	.with-title-list>li:not(:last-of-type) {
		margin-bottom: min(4.5vw, 1.2rem);
	}
	
	/*2から始まる数字と点のリスト*/
	.num-aoi-list{
		list-style: none;
    	margin-left: min(10vw, 2.5rem);
		& > li {
			position: relative;
			line-height: 1.55;
			list-style: none;
/* 			text-indent: -1.2rem; */
			text-indent: max(-4.4vw, -1.13rem);
			text-align: left;
			&::before {
				display:none;
/* 				counter-increment: ol-count;
				content: counter(ol-count) ".";
				display: inline-block;
				margin-right: 0.3rem; */
			}
			& + li{
				margin-top: min(3vw,0.8rem);
			}
			&:has(> .num-brackets-list){
				margin-bottom: min(3.7vw, 1.2rem);
			}
		}
	}
	
	/*数字と点のリスト*/
	.num-dot-list {
		list-style: none;
    	margin-left: min(10vw, 2.5rem);
		& > li {
			position: relative;
/* 			padding-left: min(6.5vw, 1.8rem); */
			line-height: 1.55;
			list-style: none;
			text-indent: -0.55rem;
			text-align: left;
			&::before {
				counter-increment: ol-count;
	/* 			color: var(--sub_green_color);
				font-weight: bold; */
				content: counter(ol-count) ".";
	/* 			display: block;
				position: absolute;
				top: 0;
				left: 0; */
				display: inline-block;
				margin-right: 0.3rem;
			}
			& + li{
				margin-top: min(3vw,0.8rem);
			}
			&:has([class*="buttons"]){
				margin-bottom:min(10vw, 80px);
			}
		}
	}
	.num-dot-slist{
		counter-reset: ntccount;
		margin-top: min(3vw, 0.6rem);
		& > li{
			position: relative;
			line-height: 1.55;
			font-size: min(3.3vw, 14px);
			padding-left: min(7.5vw, 2rem);
			text-indent: 0;
			text-align: left;
			&::before {
				counter-increment: ntccount;
				content: counter(ol-count) "-" counter(ntccount) ".";
				color: #333;
				display: block;
				line-height: 1;
				z-index: 1;
				position: absolute;
				top: 0.05rem;
				left: 0;
				font-size: min(3.7vw, 16px);
				@media(width < 641px){
					top: 0.7vw;
				}
			}
		}
	}

	/*数字と括弧のリスト*/
	li > .num-brackets-list{
		margin-top: min(3vw,0.8rem);
	}
	.num-brackets-list{
		list-style: none;
/* 		margin-left: min(11vw, 2.5rem); */
		margin-left: min(3.5vw, 0.99rem);
		counter-reset: nb-count;
		& > li {
			position: relative;
			padding-left: min(6vw, 1.66rem);
			line-height: 1.55;
			list-style: none;
			text-indent: 0;
			text-align: left;
/* 			text-indent: -0.78rem; */
			&::before {
				counter-increment: nb-count;
				content: "(" counter(nb-count) ")";
				display: inline-block;
				position: absolute;
				top: 0;
				left: 0;
				width: 35px;
				margin-right: 0.3rem;
			}
			& + li{
				margin-top: min(3vw,0.8rem);
			}
		}
	}

	/*数字と右括弧のみのリスト*/
	p + .num-Rbrackets-list{
		margin-top: min(4vw, 1rem);
		list-style: none;
	}
	.num-Rbrackets-list > li {
		position: relative;
		padding-left: min(6vw, 1.5rem);
		line-height: 1.55;
		list-style: none;
		text-align: left;
		&::before {
			counter-increment: ol-count;
			color: var(--sub_green_color);
			content: counter(ol-count)"）";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
		}
	}
	.num-Rbrackets-list > li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}
	/*漢字のリスト*/
	.num-kanji-list{
    	margin-left: min(14vw, 3.55rem);
		& > li{
			text-indent: -0.75rem;
			text-align: left;
			&::before {
				counter-increment: ol-count;
				content: counter(ol-count, cjk-ideographic);
				display: inline-block;
				margin-right: 0.3rem;
			}
			& + li{
				margin-top: min(3vw,0.8rem);
			}	
		}
	}
	
	/*丸で囲んだ数字のリスト*/
	.cnum-list{
		margin-left: min(3.5vw, 0.99rem);
		counter-reset: cn-count;
		& > li{
			position: relative;
        	padding-left: min(6vw, 1.55rem);
			line-height: 1.55;
			text-indent: 0;
			text-align: left;
			&::before{
				counter-increment: cn-count;
				content: counter(cn-count);
				display: flex;
				align-items: center;
				justify-content: center;
				text-align: center;
				position: absolute;
				top: min(0.5vw, 0.25rem);
				left: 0;
				width: min(4.5vw, 18px);
				height: min(4.5vw, 18px);
				border: 1px solid #333;
				border-radius: 50%;
				padding: 0.1rem;
				font-size: 75%;
			}
			& + li{
				margin-top: min(3vw,0.8rem);
			}
		}
	}
	
	ol > li > .cnum-list{
		margin:min(3vw,0.3rem) 0 min(6vw, 1rem) 0;
		& > li{
			text-align: left;
			& + li{
				margin-top: min(2vw,0.4rem);
			}
		}
		& + p{
			text-indent: 0.01rem;
			margin-bottom:min(6vw, 1rem);
		}
	}
	
	.grid-list > div{
		grid-template-columns: repeat(auto-fill,minmax(min(100%,350px),1fr));
		gap:0.4rem;
		& [class*="-list"] + [class*="-list"]{
			margin-top:0;
		}
	}

	/*******************************
	 * テーブルデザイン
	 * *****************************/
	.normal-table{
		& tr{
			& th{
				border: 1px solid #999999;
				padding: 10px;
				background: #f3f3f3;
				width: min(22vw, 100px);
			}
			& td{
				border: 1px solid #999999;
				padding: 10px;
			}
		}
	}
	li > .normal-table{
		margin:1rem 0 2rem;
	}
	
	/*項目ベタ塗りテーブル*/
	.back_color-table > table{
		border-top: 1px solid #B8B8B8;
		width: min(100%,840px);
		margin: 0 auto;
	}
	.back_color-table td{
		border-bottom:1px solid #B8B8B8;
		padding: 1.2rem 1rem;
	}
	.back_color-table tr > *:nth-child(1){
		background:var(--sub_color);
		color:var(--main_color);
		font-weight:bold;
	}
	/*項目ライン入りテーブル*/
	.border_color-table > table{
		width: min(100%,840px);
		margin: 0 auto;
	}
	.border_color-table td{
		border-bottom:1px solid #B8B8B8;
		padding: 1rem;
	}
	.border_color-table tr > *:nth-child(1){
		font-weight:bold;
		color:var(--main_color);
		border-bottom:2px solid var(--main_color);
	}
	/*文字だけカラーなテーブル*/
	.item_color-table{
		border-top:1px solid #B8B8B8;
	}
	.item_color-table tr{
		display:flex;
		flex-wrap:wrap;
	}
	.item_color-table tr td{
		display: block;
		width: 100%;
		line-height: 1.45;
	}
	.item_color-table tr > *:nth-child(1){
		color: var(--main_color);
		font-weight: bold;
		padding: 1.5rem 0 0.3rem 0;
		font-size: min(3.5vw,14px);
	}
	.item_color-table tr > *:nth-child(2){
		border-bottom: 1px solid #B8B8B8;
		padding: 0 0 1.4rem 0;
	}
}
/*--------------------design.cssここまで--------------------*/
	
/*--------------------common.css--------------------*/
@layer common {
/******************************************
 * *トップ
* *****************************************/
.wrap:has(> .main-column > section:last-of-type:not([data-back="sub-color"])){
	border-bottom:1px solid #ccc;
}
.top-title{
    color: var(--main_color);
    line-height: 1.45;
    font-size: min(6.7vw,35px);
    text-align: center;
    margin-bottom: min(6vw,35px);
}
.index .pc-textCenter + *{
    margin-top: min(12vw,50px);
}

/*メインイメージコンテンツ*/
.main-visual {
  position:relative;
}
/* .main-visual .noslide {
   width:100%;
  position:relative;
}
.main-visual picture {
  display: block;
}
.main-visual .noslide img{
	width:100%;
	height: auto;
}
.catchcopy-text{
    position: absolute;
    transform: translatey(-50%);
    top: 32%;
    left: 8%;
    font-weight: bold;
    font-size: min(5vw,58px);
    line-height: 1.45;
    white-space: nowrap;
}
.top-appli-box{
	padding-top: min(9vw,3rem);
    position: relative;
    width: min(85%,350px);
    margin: min(4vw,35px) auto 0;
}
.top-appli-box:before{
    content: "";
    display: block;
    background: url(images/sanka-icon.svg) center/contain no-repeat;
    width: min(19.5vw,100px);
    height: auto;
    aspect-ratio: 1;
    top: 0;
    left: max(-6vw,-3.5rem);
    position: absolute;
}
.top-appli-con{
	background:var(--main_color);
    padding: min(8vw,3rem) min(6.5vw,2.5rem) min(6.5vw,2.5rem);
}
.top-appli-title{
    color: #fff;
    text-align: center;
    font-size: min(6.5vw,28px);
    line-height: 1.25;
}
.top-appli-btn{
    color: #333;
    background: #fff;
    font-size: min(4vw,18px);
    margin-top: min(5vw,15px);
    font-weight: bold;
    padding: 1rem 2.9rem 1rem 1rem;
}
.top-appli-btn:hover{
	background:#ffc85e;
	color: #fff;
}
.top-appli-btn:after{
	mask:url(images/arrow.svg) center/contain no-repeat;
	-webkit-mask:url(images/arrow.svg) center/contain no-repeat;
	background:#ffc85e;
}
.top-appli-btn:hover:after{
	background:#fff;
} */

/*こだわり*/
/* .tc-con{
    margin-bottom: min(14vw,70px);
}
.tc-box{
	background:#fff;
	border-radius:10px;
	padding:min(6vw,2rem);
}
.tc-box-title{
	color:var(--main_color);
    font-size: min(4.8vw,20px);
    line-height: 1.45;
    font-weight: bold;
	text-align:center;
}
.tc-box-img{
	display:block;
    margin: min(4vw,1.5rem) auto min(3.5vw,1.2rem);
    width: auto;
    height: min(13vw,50px);
}
.tc-box-text{
    text-align: center;
    font-size: min(3.5vw,15px);
    line-height: 1.55;
} */

/*トップSDGs*/
/* .top-sdgs-con{
    background: #fff;
    width: min(100%,490px);
    margin: 0 auto;
    display: block;
    padding: min(5.5vw,2rem) min(6vw,2.3rem) min(5vw,1.9rem);
}
.top-sdgs-img{
	width:100%;
}
.top-sdgs-text{
	font-size: min(3.2vw,14px);
    text-align: center;
    line-height: 1.25;
    margin-top: min(3.5vw,1rem);
} */

/*トップ新着*/
/* .top-info{
	background:var(--main_color);
    padding: min(25vw, 180px) min(5vw, 40px);
	& .box-post-text{
		& a{
			padding: min(3vw, 17px) min(8.5vw, 40px) min(3vw, 17px) 0;
		}
		& time {
			margin-right: 0;
			font-size: min(3.2vw,14px);
		}
		& .category-post{
			font-size: min(2.5vw,13px);
			padding: min(1vw, 0.45rem) min(2vw, 0.8rem) min(0.7vw, 0.4rem);
		}
		& h3{
			font-size: min(16px, 3.3vw);
		}
	}
}
.top-info .contents{
    background: #fff;
    padding: min(8vw, 85px) min(5vw, 75px) min(8vw, 95px);
	border-radius: min(2vw, 20px);
}
.top-info .list-post{
    width: min(100%,900px);
    margin: min(5vw,35px) auto 0;
}
.top-info .btn-archive{
    margin-top: min(5vw,45px);
} */

/*トップ採用*/
/* .top-rec-link{
	width:min(100%,790px);
	height:auto;
	aspect-ratio:395/137;
	display:block;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	background:#d9d9d9;
}
.top-rec-link:after{
    content: "";
    background:url(images/arrow.svg) center/contain no-repeat;
    display: block;
    position: absolute;
    right: min(2vw,0.7rem);
    bottom: min(2vw,0.7rem);
    width: min(4vw,20px);
    height: auto;
    aspect-ratio: 1;
}
.tr-link-banner{
	width:100%;
} */

/*代表メッセージ*/
/* .top-message{
	background:url(images/top-recruit-back.jpg) center/cover no-repeat;
    padding: min(20vw,150px) 0 min(23vw,130px);
}
.top-message-title{
	line-height: 1.45;
    font-size: min(6.7vw,35px);
    margin-bottom: min(6vw,35px);
}
.top-message-box{
	gap:min(8vw,60px);
	display:flex;
	flex-wrap:wrap;
}
.tmb-text{
    flex: 1 min(100%,750px);
}
.top-message-text{
    line-height: min(8.5vw,3rem);
    font-size: min(3.7vw,16px);
}
.tmb-img{
    flex: 1 min(100%,150px);
}
.tmb-img img{
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1;
	display:block;
	margin:0 auto;
    max-width: 300px;
}
.top-message-name{
text-align: right;
    font-size: min(6.7vw,35px);
    font-weight: bold;
    line-height: 1.55;
    width: min(100%,870px);
    margin-top: min(6vw,60px);
}
.tm-job-title{
    font-size: min(3.5vw,14px);
    display: block
} */

/*トップアクセス*/
/* .top-access-address{
    text-align: center;
    line-height: 1.45;
    margin-bottom: min(4vw,15px);
}
.top-access-contact{
    text-align: center;
    font-size: min(3.2vw,14px);
    line-height: 1.25;
}
.tac-tel{
	font-size: min(7vw,35px);
    display: block;
    font-weight: bold;
}
.top-access-box{
	margin-top: min(12vw,55px);
}
.tab-map{
	border:2px solid var(--main_color);
}
.tab-map iframe{
	width:100%;
	height:auto;
	aspect-ratio:10/7;
}
.tab-img img{
	width:100%;
	object-fit:cover;
	aspect-ratio:10/7;
} */


/******************************************
 * *固定ページ
* *****************************************/
body:not(.index) .wrap {
/* 	padding: 0 0 min(25vw,200px); */
    padding: 0 0 min(20vw, 120px);
}
body:not(.index) .main-visual {
  display: flex;
  align-items: center;
}
body:not(.index) .main-visual:before{
	content:"";
  	background:url(images/ptitle-backimg.jpg) center/cover no-repeat;
	display:block;
	width:100%;
	height:50%;
	position:absolute;
	left:0;
	top:0;
}
body:not(.index) .main-visual:after{
	content:"";
	background:var(--sub_color);
	display:block;
	width:100%;
	height:50%;
	position:absolute;
	left:0;
	bottom:0;
}
.head-page {
    width: min(100%,567px);
    background: #fff;
    z-index: 1;
    font-size: min(3.5vw,16px);
    text-align: center;
    position: relative;
    margin: min(15vw,130px) auto;
    padding: min(8vw,3rem) min(8vw,3rem) min(9.5vw,3.5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.head-page:before {
    margin-bottom: min(1vw,0.5rem);
    font-size: min(8vw,38px);
    text-transform: uppercase;
    font-weight: bold;
    line-height: 1.25;
}
.head-page:after{
    content: "";
    background: var(--main_color);
    width: min(70%,158px);
    height: auto;
    aspect-ratio: 158/9;
    display: block;
    position: absolute;
    transform: translatex(-50%);
    left: 50%;
    bottom: 0;
}
.wrap-head-common {
  margin-bottom: 30px;
}
.head-common {
  line-height: 1.5;
}
.page-section + .page-section{
    margin-top: min(25vw,120px);
}
.page-section_inner + .page-section_inner{
    margin-top: min(15vw,80px);
}
.section_inner-box + .section_inner-box{
	margin-top: min(7vw, 40px);	
}
:is([class*="flex-"]:not(.wp-block-group, .flex-column), [class*="flex-"].wp-block-group:not(.flex-column) >div){
	.section_inner-box + .section_inner-box{
		margin-top: min(6vw, 30px);	
	}
}
.text-bold{
	margin-top: min(4vw, 1.7rem);
	font-weight:bold;	
}
.text-temple{
	position:relative;
	margin-bottom:min(4vw, 1.7rem);
	@media(900px < width ){
		& span{
			position:absolute;
			top:0;
			right:0;
		}
	}
	@media(width < 901px){
		
	}
}
	
/* 会社概要 */
.table-company a{
	pointer-events:none!important;
	text-decoration:none!important;
}
.company-box{
    width: min(100%,900px);
	margin:0 auto;
}
.company-img-map > *{
	height:calc((100% - min(8vw,45px)) / 2);
	width:100%;
}
.company-box.wp-block-columns{
    grid-template-columns: repeat(auto-fill,minmax(min(100%,415px),1fr));
    gap: min(8vw,55px);
}
.company-img-map{
	display: flex;
    flex-wrap: wrap;
    gap: min(8vw,45px);
}
.company-img-map .wp-block-image{
    margin-bottom: 0;
    width: 100%;
}
.company-img-map .wp-block-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.map-box iframe{
    width: 100%;
    height: 100%;
}

.company-access h3{
  margin-top: 0;
}
.history {
    overflow: visible;
}
.history table tr {
    display: flex;
    line-height: 1.5;
}
.history table tr td:nth-of-type(1) {
    position: relative;
    min-width: min(18vw,70px);
    padding: 0 1em 0 0;
}
.history table tr td:nth-of-type(2) {
/*     padding: 0px 1em min(6vw,2.5em) 1.3em; */
	padding: 0px 0 min(4vw, 1.5em) 1.3em;
    position: relative;
    border-left: 1px solid var(--main_color);
}
.history table tr td:nth-of-type(2):before {
    content: "";
    height: min(2.7vw, 11px);
    width: min(2.7vw, 11px);
    border-radius: 50%;
    position: absolute;
    top: min(1.5vw, 7px);
    left: max(-1.5vw, -6px);
    background: var(--main_color);
}
.history table tr:nth-last-of-type(2) td:nth-of-type(2){
    padding-bottom: 1em;
}
.history table tr:last-of-type td:nth-of-type(2) {
    border-left: 1px dashed var(--main_color);
}
.history table tr:last-of-type td:nth-of-type(2):before{
	display:none;
}
.gmap{
	& iframe{
		width:100%;
		height:auto;
		aspect-ratio:10/4;
		@media(width < 641px){
			aspect-ratio:10/6.5;
		}
	}	
}
	
/* お問い合わせ */
.grecaptcha-badge{
/*     bottom: min(20vw, 95px) !important; */
    bottom: min(4vw, 20px) !important;
    z-index: 2;	
}
.main-column .contact-tell{
    padding: 2em;
    border: 1px solid #ccc;
    margin-bottom: 1.5rem;
}
.main-column .contact-tell a{
    font-size: min(6vw,24px);
	font-weight: bold;
}
.main-column .contact-tell span{
    font-size: 14px;
    display: block;
	line-height: 1;
}
.contact table {
	width: 100%;
	margin: min(6vw,3rem) 0 min(5.5vw,2rem);
}
.contact table th,
.contact table td {
  line-height: 1.75;
}
.table-common th span{
    background: #990000;
    margin-left: 10px;
    color: #ffffff;
    font-size: 12px;
    padding: 2px 5px;
    border-radius: 5px;
    line-height: 1;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.mw_wp_form .error {
    color: #990000;
    background: none;
    margin-left: 0;
	display: initial;
	font-size: 12px;
}
.contact-flex div{
  display: flex;
  align-items: center;
  flex-flow: column;
  margin: 80px 0;	
}
.contact-flex a{
  font-size: 32px;
  line-height: 1;
  display: block;
  margin: 15px 0;
}
.wauto-td{
	display:flex;
    align-items: center;
	gap:1rem;
}
.wauto-td select{
	width:auto;
}
.wauto-td > div{
	display: flex;
    align-items: center;
    gap: 0.5rem;
}

/*CF7（コンタクトフォーム7）*/
/*確認画面と完了画面を非表示*/
.substitute-form .confirm_area, .substitute-form .thanks_area{
	display: none;
}
/*デフォルトのサンクスメッセージを非表示*/
.substitute-form .wpcf7-response-output, .substitute-form .wpcf7-spinner{
	display: none;
}
/*そのほかデザイン*/
.form-btn{
    width: min(300px, 100%);
    position: relative;
    margin: min(3vw, 25px) auto 0;
}
.form-btn:after {
    -webkit-transform: rotate(45deg);
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    width: 12px;
    height: 12px;
    margin: auto;
    transform: rotate(45deg);
    border-top: 3px solid var(--main_color);
    border-right: 3px solid var(--main_color);
    content: "";
}
.form-btn:has(> input:hover):after {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}
.form-btn input, .confirm-links input[type='submit']{
    display: block;
    z-index: 1;
    width: 100%;
    padding: 0.85rem;
    background: #fff;
    text-align: center;
    transition: 0.5s;
    color: var(--main_color);
    border: 1px solid var(--main_color);
    border-radius: 4px;
    filter: drop-shadow(1px 1px 0px #ccc);
    font-size: 14px;
}
.form-btn input:hover, .confirm-links input[type='submit']:hover{
    background: var(--main_color);
    color: #fff;
    opacity: 1;
}
.form-btn input:disabled, .form-btn input[disabled=""]{
	background:#efefef;
	pointer-events:none;
	border:none;
}
.form-btn:has(input:disabled):after, .form-btn:has(input[disabled=""]):after{
	display:none;
}
.form-tyui{
    margin-top: 2rem;
    border: 2px solid #ffc85e;
    padding: 0.5rem 0.7rem;
    font-size: min(3.5vw, 15px);
    line-height: 1.55;
	display:none;
}
.adrs-td{
    display: flex;
    align-items: center;
	gap:5px;	
}
.adrs-td input[type="text"]{
    width: 100px;
    margin: 0;
}
.substitute-form .wpcf7-not-valid-tip{
    font-size: 12px;
	margin-top:0.3rem;
}
.substitute-form .wpcf7-list-item{
	display:block!important;
	margin:0!important;
}
/* .file-form *:has(> input[type="file"]){
	position:relative;
	display:block;
	width: min(100%, 150px);
}
.file-form input[type="file"]{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    cursor: pointer;
	width:100%;
    opacity: 0;
}
.file-form *:has(> input[type="file"]):after {
    content: "ファイルを選択";
	cursor: pointer;
    display: block;
    color: #333;
    background: #efefef;
    border-radius: 3px;
    padding: 0.3rem;
    font-size: min(3.5vw,14px);
    text-align: center;
	width:100%;
    line-height: 1;
    border: 1px solid #333;
    font-weight: 500;
    position: absolute;
    top: 0;
    z-index: -1;
}
.file-form *:has(> input[type="file"]):hover:after{
	opacity:0.8;
}
.preview-info{
    display: flex;
    align-items: center;
    gap: min(3vw, 0.5rem);
    margin-top: min(0.7vw, 0.4rem);
}
.main-column .preview-info p{
    margin-top: 0;
    font-size: min(3.5vw,13px);
    line-height: 1.25;
}
.displayFileName{
    margin-top: 0;
    font-size: min(3vw,13px);
    line-height: 1.25;
}
.fn-size{
    line-height: 1.25;
    font-size: min(3vw,13px);
    margin-top: 0;
} */
.substitute-form .form-btn-box > * > *{
	display:flex;
	flex-wrap:wrap;
	gap: min(1vw, 15px) min(4vw,15px);
}
.confirm-links{
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
    gap: min(5vw, 30px);
    width: min(100%, 550px);
    margin: 0 auto;
}
.confirm-links .back_button{
    display: block;
    z-index: 1;
    width: 100%;
    padding: 0.85rem;
    background: var(--sub_color);
    text-align: center;
    transition: 0.5s;
    color: var(--main_color);
    border: 1px solid var(--sub_color);
    border-radius: 4px;
    filter: drop-shadow(1px 1px 0px #ccc);
    font-size: 14px;
}
.confirm-links .back_button:hover{
	opacity:0.5;
    transition: 0.5s;
}
/* .confirm-links .wpcf7-spinner{
	display:none;
}
.substitute-form + *{
	display:none;
} */
.wpcf7 form.sent .wpcf7-response-output{
	display:none!important;
}
.ja-check, .f-check{
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
	margin-top: 0.3rem;
}
	

/******************************************
 * *投稿関連
* *****************************************/
.info-imglink2{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(4vw, 1.5rem);
    width: min(100%, 550px);
    margin: min(6vw, 1.5rem) auto 0;
	& a{
		display:block;
		flex:1;
		& img{
			border: 1px solid #ccc;
			display:block;	
		}
	}
}
.single-post .head-common {
	font-size: min(6vw,36px);
	border-bottom:1px solid #999999;
	padding-bottom: 13px;
	line-height: 1.35;
}

.sidebar .btn-archive {
  margin-top: 15px;
  padding: 0.75em;
}

.btn-form, button.btn-form {
  border: 1px solid var(--main_color);
  background: var(--main_color);
  color: #fff;
  text-align: center;
}

.btn-form:hover, button.btn-form:hover {
  background: #fff;
  color: var(--main_color);
  opacity: 1;
}

.footer-nav > li {
  line-height: 1.75;
}

.footer-nav .sub-menu li a{
  padding-left: 1em;
}
.footer-nav .sub-menu li ul li a{
  padding-left: 2em;
}

.pagination {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
  color: var(--main_color);
}

.main-column .pagination li {
  margin: 0 5px;
    padding: 0;
}

.main-column .pagination li:before{
	content: none;
}

.pagination .pager {
  display: inline-block;
  min-width: 40px;
  border-radius: 50%;
  background: #999;
  color: #fff;
  font-weight: bold;
  line-height: 40px;
  text-align: center;
}
.pagination .pager i {
  vertical-align: bottom;
}
.pagination .pager i:before {
  display: block;
  min-width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

.pagination .pager:hover, .pagination .pager.current {
  background: var(--main_color);
  opacity: 1;
}

.lazyload, .lazyloading {
  opacity: 0;
}

.okuric li{
	line-height:14px;
}

/*追従リンク*/
.pagetop {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    position: fixed;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--main_color);
    color: #fff;
    text-align: center;
    right: 20px;
	bottom: -50px;
}
.pagetop span {
  -webkit-transform: rotate(-45deg);
  display: block;
  width: 25%;
  height: 25%;
  margin-top: 5px;
          transform: rotate(-45deg);
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.fbtn-link{
    color: #fff;
    background: #ffc85e;
    font-weight: bold;
    text-align: justify;
    line-height: 1.15;
    letter-spacing: 0.2rem;
    position: fixed;
    bottom:0;
	left:0;
    transition: 0.5s;
    z-index: 5;
    display: flex;
    align-items: center;
    padding: min(3.5vw,1rem) min(3vw,1rem) min(2.5vw,1rem);
}
.fbtn-link:before{
    content: "";
    display: block;
    position: absolute;
    width: min(13vw,60px);
    height: auto;
    aspect-ratio: 28/25;
}
.fblink-top-text{
    font-size: min(3.7vw,18px);
}
.fblink-bottom-text{
    font-size: min(4.5vw,22px);
}

/*投稿記事移動*/
.nav-link{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    margin: 15px auto;
    gap: min(3vw, 1rem);
}
.nav-link li:before{
  content:none;
}
.nav-link li.link-archive:nth-child(1){
	margin:0 auto;
}
.link-prev, .link-next, .link-archive {
position: relative;
}
.link-prev a, .link-next a, .link-archive a {
    display: flex;
    align-items: center;
    justify-content: center;
/* 	padding: min(2.5vw, 1rem); */
    color: var(--main_color);
    text-align: center;
    font-weight: bold;
/*     border: 1px solid var(--main_color); */
/*     filter: drop-shadow(); */
    font-size: min(3vw, 14px);
}
.pageokuri li {
/*     width: 25%; */
    margin: 0;
	padding:0;
}
/* .link-prev a:hover, .link-next a:hover, .link-archive a:hover{
	background: var(--main_color);
	color: #fff;
	opacity: 1;
} */
.link-prev a:before, .link-prev a:after, .link-next a:before, .link-next a:after, .link-archive a:before, .link-archive a:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 700;
}
.link-archive {
  order: 2;
}
.link-prev a:before {
	margin-top: 0.1rem;
    -webkit-transform: rotate(225deg);
    display: inline-block;
	width: min(1.9vw, 10px);
	height: min(1.9vw, 10px);
    margin-right: min(0.7vw, 10px);
    transform: rotate(225deg);
    border-top: 2px solid var(--main_color);
    border-right: 2px solid var(--main_color);
    content: "";
}
.link-next {
  order: 3;
  text-align: right;
}
.link-next a:after {
	margin-top: 0.1rem;
	-webkit-transform: rotate(45deg);
	display: inline-block;
	width: min(1.9vw, 10px);
	height: min(1.9vw, 10px);
	margin-left: min(0.7vw, 10px);
	transform: rotate(45deg);
	border-top: 2px solid var(--main_color);
	border-right: 2px solid var(--main_color);
	content: "";
}
/* .link-prev a:hover:before, .link-next a:hover:after{
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
} */

.list-num > li {
  list-style-position: inside;
  counter-increment: cnt;
}

.list-num > li:before {
  display: inline-block;
  content: counter(cnt);
}

.list-caution{
  margin:0.5em 0 0;
}
.list-caution:has(+ *){
	margin-bottom:0.7rem;	
}

.list-caution li{
  font-size:12px;
  line-height:16px;
    padding-left: 0;
}

.list-caution li:before {
  content: "※";
  height:initial;
  width:initial;
  background:none;
}

.list-circle > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-circle > li:before {
  content: "●";
}

.list-circle-border > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-circle-border > li:before {
  content: "○";
}

.list-dot > li {
  margin-left: 1em;
  text-indent: -1em;
}

.list-dot > li:before {
  content: "・";
}

.imgFullWidth {
  display: block;
  width: 100%;
  height: auto;
}

.table-common {
  width: 100%;
}

.table-common th {
  letter-spacing: 0.2em;
  line-height: 2;
}

.table-common td {
  letter-spacing: 0.1em;
  line-height: 2;
}

.table-common a {
  text-decoration: underline;
}

.table-contact {
  width: 100%;
  border-top: 1px solid #ccc;
}

.table-contact th {
  position: relative;
}

.table-contact th.required:after {
  position: absolute;
  right: 0;
  height: 1.5em;
  padding: 0 1em;
  background: #e60012;
  color: #fff;
  line-height: 1.5;
  content: "必須";
}

.table-contact td {
  border-bottom: 1px solid #ccc;
}

.archive{
	& h1{
		margin-bottom: min(2vw, 1.1rem);
	}
}
	
.single-post {
	margin-bottom: 50px;
	& .single-contents{
		& table{
			font-size: min(3.3vw,14px);
			width: 100%;
			margin-bottom: 20px;
			& th{
				border: 1px solid #999999;
				padding: 10px;
				background: #f3f3f3;
			}
			& td{
				border: 1px solid #999999;
				padding: 10px;
			}
		}
		& .surgery .surgery-sub{
			border-top: 1px solid #999999;
			margin: 50px 0 0;
			padding: 20px 0 0;
		}
	}
}

.single-header {
	margin-bottom: 1em;
	display:flex;
	justify-content:space-between;
	& + h1{
		margin-top:0;
	}
}

.single-header time {
  margin-right: 2em;
  font-size: 14px;
}

.single-header time:before {
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  background:url(images/date.svg);
  background-size:cover;
  margin-right:5px;
  position:relative;
  top:2px;
}

.single-contents{
	& *:first-child{
		margin-top: 0;
	}
	& *:not(:last-child):not(section):not(h2):not(h3):not(p):not(img):not(a):not(caption):not(li){
		margin-bottom: 1em;
	}
	& strong{
		font-weight:bold;
	}
	& > p + a{
		display:inline-block;
		margin-top:min(5vw,1.5rem);
	}
	& > a  + br + a{
		display:inline-block;
		margin-top:min(2vw,0.5rem);
	}
	& a{
		text-decoration:underline;
		color:#1A0DAB;
		word-break: break-all;
        line-height: 1.25rem;
		&.post-center-img-link{
			width: min(100%, 250px);
			display: block;
			text-align: center;
			margin: 2rem auto 0;
			color:#333;
			& span {
				display: block;
				text-align: center;
				line-height: 1.55;
				margin-bottom: 0.7rem;
				font-size: min(3.7vw, 15px);
			}
		}
		&:has(> img){
			display:block;
			line-height:1;
		}
		& > img{
			margin-bottom:0!important;
			width:100%;
		}
		&:has(+ figcaption){
			margin-bottom: 0!important;
			line-height:1;
		}
	}
	& p{
		line-height: 2;
		& + .wp-block-columns{
			margin-top:2rem;
		}
	}
	& img{
		max-width: 100%;
		height: auto;	
	}
	& iframe {
		max-width: 100%;
	}
	& table {
		width: 100%;
		& th, td{
			padding: 0.5em 1em;
			line-height: 1.5;
		}
	}
	& figcaption{
        text-align: center;
        line-height: min(7vw, 1.25rem);
        margin-top: 0.6rem;
        font-size: min(3.5vw, 14px);
	}
	& .youtube{
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 6;
	}
	& section{
		margin-bottom: min(12vw, 60px);
	}
	& dl{
		margin-bottom: 0!important;
	}
	& > dl{
		padding: min(4vw,30px) 0;
        border-top: 1px solid #999999;
		& > dt, dd{
			line-height: 1.55rem;
		}
		@media(900px < width){
			& > dt{
				width: 19%;
			}
		}
	}
	@media(900px < width){
		& dl{
			margin-bottom: 0!important;
			& dt, dd{
				display: inline-block;
				vertical-align: top;
				margin-bottom: 0!important;
			}
			& dt{
				min-width: 110px;
			}
			& dd{
				margin-left: 30px;
				width: 75%;
			}
		}
	}
}
.right_text{
	text-align:right;	
}
	
.main-column > *:nth-child(1){
  margin-top:0;
}

.wp-block-cover{
  margin:32px 0;
}

.has-very-dark-gray-background-color.has-very-dark-gray-background-color {
  background-color: var(--main_color);
}

.main-column .sitemap > li{
  border-top:1px solid #cccccc;
}
.main-column .sitemap li + li{
	margin-top:0;
}
.main-column .sitemap li > a{
    padding: 0.7rem 0.6rem;
    display: block;
    font-weight: bold;
    font-size: min(3.7vw, 15px);
    line-height: 1.55;
	&[href*="account"]{
		position:relative;
		display: flex;
		&::after{
			content: "";
			display: block;
			background: url(images/link-window.svg) center / contain no-repeat;
			width: min(15px, 4vw);
			height: min(15px, 4vw);
			top: 5px;
			position: relative;
			margin-left: 15px;
		}
	}
}
@media(width < 900px){
	.main-column .sitemap{
		display: flex;
		flex-wrap: wrap;
		&  > li{
			width: 100%;
			display: block;
			& > a{
				background:#efefef;
			}
		}
		& .menu-item-has-children {
			display: flex;
			flex-wrap: wrap;
		}
	}
}
.main-column .sitemap > li:last-child{
	border-bottom:1px solid #cccccc;
}
/* .main-column .sitemap li a span{
  display:none;
} */
.main-column .sitemap .sub-menu{
	margin:0;
}
/* .main-column .sitemap > li > .sub-menu {
    border-top: 1px solid #cccccc;
	padding-left: 15px;
} */
.main-column .sitemap > li > ul > li > ul > li{
    margin: 0px 0 0 20px;
    line-height: 2;
}
.main-column .sitemap > li > ul > li > ul > li > a{
    display: inline-block;
}
.main-column .sitemap li:before{
  content:none;
}
.main-column .sitemap .menu-item-has-children{
	display:flex;
	& a:not(:has(href)){
		&:hover{
			opacity:1;
		}
	}
	& > *{
		width:100%;
		@media(640px < width){
			&:first-child{
				width: 248px;
			}
		}
	}
	& .sub-menu li:not(:last-of-type){
		border-bottom: 1px dotted #999;
	}
}
	
.main-column .contact-form table th{
  padding: 15px 15px 15px 0;
  min-width:250px;
}

.main-column .contact-form table td{
  padding: 15px 0 15px 15px;
  width: calc(100% - 250px);
}

/* .mobile-header-banner {
    margin: 30px 20px 0;
} */

.mobile-header-banner li{
	position: relative;
	top: unset;
}

.mobile-header-banner li:not(:first-child) {
    margin-top: 10px;
}

.mobile-header-banner li> *{
	font-family: "游ゴシック",YuGothic,"Noto Sans JP","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}

.mobile-header-banner a {
	display: flex;
	align-items: center;
    position: relative;
/*     padding: 15px; */
	padding: 1rem;
/*     font-size: 12px; */
    background: var(--main_color);
    color: #fff;
}

.mobile-header-banner li.contact a:before{
    content: "";
    height: auto;
    width: min(7vw, 22px);
    aspect-ratio: 22 / 18;
    margin-right: min(2vw, 10px);
/* 	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>') no-repeat center center; */
	mask:url(images/mail2.svg) no-repeat center center;
	-webkit-mask:url(images/mail2.svg) no-repeat center center;
	background:#fff;
	background-size: cover;
	fill: #fff;
}

.mobile-header-banner li.tel a:before{
    content: "";
    height: 20px;
    width: 20px;
    margin-right: 10px;
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z" /></svg>') no-repeat center center;
	background-size: cover;
	fill: #fff;	
}

/*MW WP Form*/
.mw_wp_form_input .mw-input-page {
    display: block;
}
.mw_wp_form p {
    font-size: 16px;
    line-height: 1.7em;
}
.mw_wp_form_input .mw-check-page {
    display: none;
}
.mw_wp_form_preview .mw-input-page {
    display: none;
}
.mw-btn {
    background: var(--main_color);
    display: block;
    text-align: center;
    color: #ffffff;
    padding: 1em;
	margin-top:min(6vw,35px);
}
	
	
/*セクション*/
.card{
	& > div{
		& > *:first-child{
			margin-top:0;
		}
	}
	& + .card{
		margin-top: min(20vw, 90px);
	}
	& + .talk-box{
		margin-top: min(27vw, 150px);
	}
}
/* :is(&:not([class]), &.wp-block-group:not([class*=" "])), &.card:not([class*=" "])) + .card{
	margin-top: min(20vw, 90px);
} */
[class*="grid-"]{
	& .card{
		& + .card{
			margin-top: 0;
		}
	}
}
.group-box{
	& + .group-box{
		margin-top:min(25vw,120px);
	}
	& * + h3{
		margin-top: min(12vw, 3.5rem);
	}
	& * + h4{
		margin-top: min(8vw, 2.5rem);
	}
}
.sub-box{
	& + .sub-box{
		margin-top:min(12vw,60px);
	}
}

	
/*********************************************
 * 心臓血管外科学会　固定サブページリニューアルCSS
 * *******************************************/
.wrap-3column{
	display:flex;
	gap:min(10vw,50px);
	& .main-column{
        background: #fff;
        box-shadow: 0 0px 7px 3px #dfdfdf;
        border-radius: 0.6rem;
        padding: min(5vw, 6.3rem) min(5vw, 6.85rem);
	}
	@media(1400px < width){
		& > *:nth-child(1){
			width: min(100%, 1060px);
			order:2;
		}
		& > *:nth-child(2){
			width: min(100%, 440px);
			order:1;
		}
		& > *:nth-child(3){
			width: min(100%, 200px);
			order:3;
		}
	}
	@media(1000px < width < 1401px){
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		& > *:nth-child(1){
			grid-column-start: 1;
			grid-column-end: 3;
			grid-row-start: 1;
			grid-row-end: 2;
			width: 100%;
		}
		& > *:nth-child(2){
			grid-column-start: 1;
			grid-row-start: 2;
			grid-row-end: 2;
			width: 100%;
		}
		& > *:nth-child(3){
			grid-column-start: 2;
			grid-row-start: 2;
			grid-row-end: 2;
			width: 100%;
		}
	}
	@media(width < 1001px){
		display: flex;
		flex-wrap:wrap;
		& > *{
			width:100%;
		}
	}
}
	
/*背景アニメーション*/
#moya-bg {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	z-index: -1;
	pointer-events: none;
/* 	filter: blur(60px); */
	transform: translateZ(0);
}
	
/*サイドバー左*/
.sleft-fllow{
    background: #fff;
    box-shadow: 0 0px 7px 3px #dfdfdf;
    border-radius: 0.6rem;
	padding: min(6vw, 3rem) min(6vw, 3.45rem);
	@media(1400px < width){
        position: sticky;
		top: 140px;
/*         top: 30px; */
	}	
}
.side-lmenu-list{
	& li{
		border-left: 1px solid #bdbdbd;
		& + li{
/* 			padding-top:0.3rem; */
			padding-top:0.35rem;
		}
		& a{
/*             line-height: 1.75rem;
            padding: 0.15rem 1.5rem; */
			line-height: 1.45rem;
            padding: 0.25rem 1.5rem 0.3rem;
            display: block;
			text-align: left;
			&.page-current{
				background:#e5e5e5;
			}
		}
	}
	& .sub-menu{
		margin-left:1.5rem;
		& li{
			border-left: 1px solid var(--main_color);
			& a{
				font-size: min(3.5vw, 14px);
				padding: 0.15rem 1rem 0.2rem;
			}
			& + li{
				padding-top:0;
			}
		}
	}
}
	
/*サイドバー右*/
.sright-fllow{
	& > * + *{
		margin-top:min(7vw,35px);
	}	
	@media(1400px < width){
        position: sticky;
		top: 140px;
/*         top: 30px; */
	}
}
/* .sidebar-right{
	& > * + *{
		margin-top:min(7vw,35px);
	}	
} */
.side-rmenu-list{
	& li{
		& a{
            position: relative;
            display: flex;
            align-items: center;
            gap: min(2.5vw, 15px);
            font-size: min(3.5vw, 15px);
            line-height: 1.25rem;
			&::after{
				content:"";
				background:url(images/double-arrow.svg) center/contain no-repeat;
                display: block;
                width: min(5vw, 12px);
                height: auto;
                aspect-ratio: 12 / 11;
                margin-left: auto;
			}
		}
		& + li{
			margin-top:0.4rem;
		}
	}	
}
.side-banner-link{
	display:block;
	box-shadow: 0 0px 7px 1px #dfdfdf;
	&[href*="interview"]{
		border: 1px solid #ccc;
	}
	& img{
		width:100%;
	}
	& + .side-banner-link{
		margin-top:min(4vw,20px);
	}
}
.side-member-link{
	margin-top:min(4vw,20px);
	display:block;
	filter: drop-shadow(0 0 4px #ccc);
}
.related-links{
	background: #fff;
    box-shadow: 0 0px 7px 3px #dfdfdf;
    border-radius: 0.8rem;
    padding: min(8vw, 1.26rem);
	& a{
		display:block;
		border:1px solid #ccc;
		& img{
			width:100%;
		}
		& + a{
			margin-top:min(5.5vw,10px);
		}
	}
}
	
/*会員名簿*/
.member-list-table{
	& td{
		font-size:min(3.7vw,16px);
		padding: 1rem 0.8rem!important;
		@media(900px < width){
			vertical-align: baseline!important;
		}
		@media(width < 901px){
			display:block;
			width:100%;
			border:none!important;
			border-bottom:1px solid #999999!important;
		}
	}
}
/*会員名簿ページ内リンク*/
.list50on{
	display:flex;
	align-items: center;
	justify-content: center;
	gap:0.8rem;
	& > li{
		line-height:1;
		margin: 0;
		& a{
			line-height:1;
		}
	}
	@media(900px < width){
		flex-direction: column;
		justify-content: center;
	}
}
/*会員名簿用（表っぽい）*/
.memberlist{
	display: flex;
	flex-wrap:wrap;
	border-top: 1px solid #999;
	border-left: 1px solid #999;
	/* 		display:grid;
	grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr)); */
	& > li{
		/* 			border:1px solid #999; */
		margin:0;
		padding: 0.8rem 1rem;
		width: calc(100% / 4);
		box-sizing: border-box;
		border-bottom: 1px solid #999;
		border-right: 1px solid #999;
	}
	@media(640px < width < 901px){
		& > li{
			width: calc(100% / 2);
		}
	}
	@media(width < 641px){
		& > li{
			width: 100%;
		}
	}
}
	
/*国際会員一覧*/
.in-memberlist{
	display: flex;
	flex-wrap:wrap;
	border-top: 1px solid #999;
	border-left: 1px solid #999;
	margin-top: min(5vw, 1.5rem);
	& > li{
		margin:0;
		padding: 0.8rem 1rem;
		width: calc(100% / 3);
		box-sizing: border-box;
		border-bottom: 1px solid #999;
		border-right: 1px solid #999;
		line-height:1.35;
	}
	@media(640px < width < 901px){
		& > li{
			width: calc(100% / 2);
		}
	}
	@media(width < 641px){
		& > li{
			width: 100%;
		}
	}	
}

/*手術手法と解説*/
.surgery-tmp{
    background: #eeeeee;
	&::before{
		display:none;
	}
	@media(1000px < width){
		& .header, .footer{
			display:none;
		}
	}
	@media(width < 1001px){
		& .header{
			width:100%;
			&:not(.over){
				border-bottom: 1px solid #ccc;
				box-shadow:none;
			}
		}
		& .drawer-nav .sub-menu{
			display:block;
		}
		& .surgery-contents-print {
			display: none;
		}
	}
/* 	@media(640px < width < 1001px){
		& #nav-open {
			top: 9px;
			right: 1px;
		}
	}
	@media(width < 641px){
		& #nav-drawer{
			padding: 10px;
		}
	} */
}
.surgery-himg{
    display: block;
    max-width: 100%;
    height: auto;
    width: min(30vw, 103px);
    aspect-ratio: 102 / 105;
	@media (width < 1001px) {
        width: min(15vw, 50px);
    }
}
.topbacklink {
	font-size: min(2.5vw, 12px);
    background: #999;
    color: #fff;
    padding: 3px 5px;
    position: absolute;
    top: 14px;
}
.surgery-wrap{
	& ol{
		list-style-type: decimal;
		padding-left: 27px;
		& > li{
			list-style-type: decimal-leading-zero;
			font-size:min(3.2vw,13px);
			line-height:1.25rem;
			& + li {
                margin-top: 0.3rem;
            }
		}
	}
	& .breadcrumb{
		position: absolute;
		top: 42px;
		left: 20px;
		padding: 0;
		flex-flow: nowrap;
		width: min(61vw, 360px);
/* 		width: min(62vw, 321px); */
/* 		width: calc(100% - 260px); */
		& li{
			margin-top:0;
/* 			font-size: min(2.5vw, 13px); */
			font-size: min(3vw, 13px);
			word-break: keep-all;
			&:not(:last-of-type) {
				&::after {
					content: "";
					width: min(0.5vw,2px);
					height: min(2vw,12px);
					border-right: min(0.5vw,2px) solid #919191;
					display: block;
					margin: 0 min(1.7vw, 0.7rem);
				}
			}
			&:last-of-type{
/* 				word-break: keep-all; */
				display: -webkit-box;
				-webkit-box-orient: vertical;
				line-clamp: 1;
				-webkit-line-clamp: 1;
				overflow: hidden;
				text-overflow: ellipsis;
				text-align:left;
			}
/* 			& span{
				word-break: keep-all;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				line-clamp: 1;
				-webkit-line-clamp: 1;
				overflow: hidden;
				text-overflow: ellipsis;
				text-align:left;
			} */
		}
		@media (width < 1001px) {
/* 			flex-flow: nowrap; */
			flex-flow: wrap;
			overflow: hidden;
			left: min(5vw, 50px);
		}
	}
}
.surgery-index {
    width: 50%;
    height: 100vh;
    display: block;
    background: #eeeeee;
    position: fixed;
    top: 0;
    left: 0;
	@media(width < 1001px){
		display: none;
	}
}
.surgery-index-header {
    width: 100%;
    border-bottom: 3px double #777777;
    padding: 15px 20px;
    box-sizing: border-box;
    position: relative;
}
.surgery-index-header-totop {
    position: absolute;
    top: 0;
    right: 20px;
    background: #555555;
    color: #ffffff;
    padding: 10px 30px;
    border-radius: 0 0 5px 5px;
    font-size: 14px;
}
.surgery-index-header-copy {
    font-size: 10px;
    position: absolute;
    bottom: 18px;
    right: 20px;
}
.surgery-index-body {
    padding: 20px 50px 50px;
    box-sizing: border-box;
    overflow-x: scroll;
    height: calc(100% - 60px);
}
.surgery-index-body > ul {
    display: flex;
    flex-flow: wrap;
	& > li{
		width: calc((100% - 60px) / 3);
		&:not(:first-of-type){
			margin-left: 30px;
		}
	}
	& h3 {
		font-size: 16px;
		text-align: center;
		background: #ffffff;
		width: 100%;
		padding: 10px;
		box-sizing: border-box;
		margin-bottom: 20px;
		margin-top: 20px;
		&:first-child{
			margin-top: 0px;
		}
	}
	& h4 {
		font-size: min(3.5vw, 14px);
		position: relative;
		margin: 21px 0 10px;
		&::after{
			content: "";
			height: 1px;
			width: 100%;
			position: absolute;
			background: #777777;
			top: 0;
			bottom: 0;
			left: 0;
			margin: auto;
		}
		& span{
			background: #eeeeee;
			padding-right: 10px;
			display: inline-block;
			z-index: 10;
			position: relative;
			font-weight: bold;
		}
	}
}
.surgery-contents {
    width: 50%;
    background: #ffffff;
    min-height: 100vh;
    padding: min(10vw,50px) min(5vw,50px);
    position: relative;
	& .category-post {
        position: absolute;
        right: 20px;
        top: 42px;
        background: #555555;
        padding: 2px 10px;
        width: auto;
        border-radius: 0;
        height: auto;
        font-size: 10px;
        line-height: 12px;
		@media (width < 1001px) {
			right: min(5vw, 50px);
		}
		@media (width < 641px) {
			margin-top: 0.05rem;
		}
	}
	& h1 {
		font-size: 30px;
		font-weight: bold;
		text-align: center;
		padding-bottom: 25px;
		margin: 50px 0 30px;
		position: relative;
		color: #555555;
		display: flex;
		flex-flow: column;
		align-items: center;
		&::before {
			content: "";
			width: 68px;
			height: 1px;
			background: #999999;
			position: absolute;
			bottom: 0;
			right: 0;
			left: 0;
			margin: auto;
		}
		&[sub_title]:after {
			content: attr(sub_title);
			font-size: 16px;
			margin-top: 0.25rem;
			letter-spacing: 0;
			text-indent: 0;
		}
	}
	& .contents-single {
		& *:not(:last-child):not(section):not(h2):not(h3):not(p):not(img):not(a):not(caption):not(li):not(.photo_2){
			margin-bottom: 1em;
		}
		& h2{
			position: relative;
			margin-bottom: 25px;
			text-align: center;
			background: #f3f3f3;
			& > span{
				font-weight: bold;
				font-size: min(5vw, 26px);
				text-align: center;
				position: relative;
				display: inline-block;
				background: #ffffff;
				&::before{
					content: "";
					display: inline-block;
					height: 100%;
					width: 40px;
					border-top: 1px solid #999999;
					border-bottom: 1px solid #999999;
					border-left: 1px solid #999999;
					position: absolute;
					top: 0;
					bottom: 0;
					left: 0;
				}
				&::after{
					content: "";
					display: inline-block;
					height: 100%;
					width: 40px;
					border-top: 1px solid #999999;
					border-bottom: 1px solid #999999;
					border-right: 1px solid #999999;
					position: absolute;
					top: 0;
					bottom: 0;
					right: 0;
				}
				& > span{
					padding: 10px min(5vw, 50px) 10px;
					display: inline-block;
					line-height: min(9vw,2.75rem);
                    font-weight: 500;
				}
			}
		}
		& h3{
			position: relative;
			font-size: min(4.5vw,20px);
			border-bottom: 1px solid #999999;
			font-weight: bold;
			margin-bottom: 20px;
/* 			text-align: center; */
			background: #ffffff;
			width: 100%;
			padding: 10px 10px 10px 20px;
			box-sizing: border-box;
			line-height: 1.55rem;
			&::before{
				content: "";
				display: block;
				width: 10px;
				background: #333333;
				position: absolute;
				left: 0;
				top: 0;
				bottom: 0;
			}
			&::after{
				content: "";
				display: block;
				width: 10px;
				background: #999999;
				position: absolute;
				left: 0;
				top: 50%;
				bottom: 0;
			}
		}
		& h4{
			font-size: min(4.2vw,18px);
			position: relative;
			display: flex;
			align-items: center;
/* 			margin: min(10vw, 30px) 0 min(3vw, 15px); */
			margin: min(6vw, 25px) 0 min(2vw, 10px);
            line-height: 1.55rem;
			&::after{
				content: "";
				flex: auto;
				height: 1px;
				background: #999999;
				margin: 1px 0 0 10px;
			}
		}
		& p{
			font-size: min(3.5vw,14px);
			text-align: justify;
			margin-bottom: 20px;
		}
		& .drname{
			text-align: center;
			margin-bottom: 60px;
		}
		& figure{
			margin:0!important;
			& a{
				display:block;
			}
			& img{
				width:100%;
				margin-bottom: 0;
			}
			& figcaption{
				font-size: min(3vw,11px);
				margin-top: 5px;
				line-height: 16px;
				text-align: justify;
			}
		}
		& section{
			margin-bottom: min(12vw, 60px);
			& > figure{
				margin-bottom: 30px!important;
			}
		}
		& caption{
			margin-bottom: 0;
			background: #f3f3f3;
			border: 1px solid #999999;
			border-bottom: none;
			padding: 0.5rem;
			font-size: min(3.5vw, 14px);
/* 			padding: 5px 0 2px; */
		}
		& table{
			line-height: 1.75;
			width: 100%;
			& th{
				border: 1px solid #999999;
				padding: 10px;
				background: #f3f3f3;
				font-weight:500;
				font-size: min(3.5vw, 14px);
				@media(width < 641px){
					width: 25%;
				}
			}
			& td{
				border: 1px solid #999999;
				padding: 10px;
				font-size: min(3.5vw, 14px);
			}
		}
		& ul{
			:is(&:not([class]), &.wp-block-list:not([class*=" "])){
				& li{
					position: relative;	
					line-height: 1.55;
					padding-left: min(4vw,1.05rem);
					margin-bottom: 0;
					font-size: min(3.5vw, 14px);
					text-align: left;
					&::before{
						content: "";
						display: block;
						position: absolute;
						top: min(2vw, 0.5rem);
						left: 2px;
						width: min(1.5vw, 6px);
						height: min(1.5vw, 6px);
						background: var(--main_color);
						border-radius: 15px;
					}
					& + li{
						margin-top: 0.4rem
					}
					@media(width < 1001px){
						padding-left:0;
						&::before{
							display:none;
						}
					}
				}
			}
		}
		& ol li ul{
			margin-top: 0.3rem;
			:is(&:not([class]), &.wp-block-list:not([class*=" "])) {
                & li {
					font-size: min(3.2vw, 13px);
					line-height: 1.25rem;
					& + li {
						margin-top: 0.3rem;
					}
                }
            }
		}
		& .photo_left{
			overflow: hidden;
			& figure, p{
				width:100%;
			}
			@media(900px < width){
				& figure{
					float: left;
					width: 40%;
				}
				& p{
					float: right;
					width: calc(60% - 20px);
				}
			}
			@media(width < 901px){
				& figure{
					margin-bottom: 20px!important;
				}
			}
		}
		& .photo_right{
			overflow: hidden;
			& figure, p{
				width:100%;
			}
			@media(900px < width){
				& figure{
					float: right;
					width: 40%;
				}
				& p{
					float: left;
					width: calc(60% - 20px);
				}
			}
			@media(width < 901px){
				& figure{
					margin-bottom: 20px!important;
				}
			}
		}
		& .photo_2{
/* 			overflow: hidden; */
			display:grid;
			grid-template-columns:repeat(auto-fill,minmax(min(45%,350px),1fr));
			gap:min(4vw,20px);
			margin-bottom: 25px;
			& figure{
				width:100%;
/* 				width: calc(50% - 10px);
				float: left; */
			}
		}
		& .photo_3{
			display:grid;
			grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));
			gap:min(4vw,20px);
/* 			display: flex;
			flex-flow: wrap; */
			& *{
				width:100%;
/* 				width: calc((100% - 20px) / 3);
				@media(width < 901px){
					width: auto;
				} */
			}
		}
		& .surgery-sub{
			border-top: 1px solid #999999;
			margin: 50px 0 0;
			padding: 20px 0 0;
			& h3{
				text-align:left;
				margin-bottom: 10px;
				font-weight: bold;
				font-size: min(3.7vw,16px);
				padding: 0;
				border-bottom: 0;
				&::before, &::after{
					display:none;
				}
			}
			& ul{
				margin-bottom: 20px;
			}
		}
	}
	@media(1000px < width){
		float: right;
	}
	@media(width < 1001px){
		width: 100%;
	}
	@media(640px < width){
		& #table_2_6 th{
			width: 90px;
			text-align: center;
			vertical-align: middle;
		}
	}
}
.surgery-contents-print {
    position: absolute;
    top: 0;
    right: 20px;
    background: #555555;
    color: #ffffff;
    padding: 10px 30px;
    border-radius: 0 0 5px 5px;
    font-size: 14px;
}
.maintenance{
	@media(900px < width){
		padding: 24px;
        border: double 5px #555555;
	}
}
.movie-button {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem 1rem;
	width: min(100%, 300px);
	background: #ddd;
	text-align: center;
	padding: 0.25rem;
	border-radius: 50px;
	margin: 0 auto;
}
/* p + .movie-button, h2 + .movie-button{ */
* + .movie-button{
	padding: 0.6rem;
    font-size: min(3.5vw, 14px);
}
.movie-list{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));
	gap:min(4vw,15px);
	& li{
		& a{
			width:100%;
			display: block;
			background: #ddd;
			text-align: center;
            padding: 0.45rem 0.45rem 0.55rem;
            border-radius: 50px;
            font-size: min(3.5vw, 14px);
		}
	}
}

	
/*学会雑誌*/
.journal-tmp{
	@media(1000px < width){
		padding-top:0!important;
		& .header{
			position: relative;
			padding: 0;
		}
		& .nav-drawer{
			display:none;
		}
	}
}
.center-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
	& a{
		width: min(40vw, 188px);
		& img{
			width:100%;
		}
	}
	@media(width < 1001px){
		display:none;
	}
}
.journal-column {
    margin-bottom: 4rem;
	& .contents{
		width: min(100%, 1220px);
		padding: 0 min(5vw, 40px);
		margin-left: auto;
		margin-right: auto;
	}
}
.journal-nav {
    background: #555;
    color: #fff;
    padding: 1rem 0;
    margin-bottom: 4rem;
}
.journal-nav-link{
	display: flex;
	flex-flow: wrap;
	gap: 0.75rem;
	padding: unset;
	& li{
		display: flex;
		align-items: center;
		gap: 0.75rem;
		font-size: min(4vw, 16px);
		position:relative;
		& + li{
			margin-top:0;
		}
		& a{
			color: #fff;
			position:relative;
		}
		&:not(:last-of-type):after{
			content: "/";
		}
	}
}
.journal-title {
    font-size: min(6vw, 30px);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 2rem;
}
.journal-section {
    margin-bottom: 20px;
    overflow: auto;
    background: #ffffff;
    padding: min(8vw, 5rem);
    box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
    display: grid;
    grid-template: auto / repeat(auto-fill, minmax(250px, 1fr));
    gap: min(12vw, 4rem) 3rem;
}
.journal-section-title {
    background: #eeeeee;
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
    padding: 0.45rem 0.55rem 0.75rem;
    font-size: min(5vw, 22px);
    margin-bottom: 1.5rem;
}
.journal-single-title {
    font-size: min(5vw, 22px);
    line-height: 1.25;
    padding: unset;
    margin-bottom: 1.5rem;
    display: flex;
    justify-content: center;
    text-align: center;
}
.journal-section-list{
	& li{
		font-size: min(3.5vw,13px);
		line-height: 1.5;
		text-align:left;
		& + li{
			margin-top: 1.5rem;
		}
		& a{
			& + div{
				display:none;
			}
		}
	}	
}
.journal #fancybox-wrap {
    position: fixed;
    width: min(95%, 1220px) !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%);
    height: 70vh !important;
    line-height: 1.5;
}
.journal #fancybox-content {
    padding: min(8vw, 5rem) !important;
	& > div{
		overflow-y: auto !important;
	}
	& h2{
		font-weight:500;
	}
	& b{
		font-weight: 900;
	}
}

	
/*中央画像*/
.president-photo{
	& img{
		margin: 0 auto;
		display: block;
		width: min(100%,180px);
		border-radius: 50%;
	}
	& figcaption{
        text-align: center;
        font-size: min(3.2vw, 13px);
        margin: min(4vw, 15px) 0 min(6vw, 2rem)!important;
        line-height: min(6vw, 1.4rem);
        word-break: break-all;
	}
}
	
/*地図*/
#access iframe{
	width:100%;
	height:auto;
	aspect-ratio:785/400;
}	
	
/*連絡先ボックス*/
p + .conpage-box{
	margin-top:min(6vw,31px);
}
.conpage-box{
    background: #f3f3f3;
    border: 1px solid #999;
    padding: min(4vw,1.1rem) min(5vw,1.5rem);
    border-radius: 0.7rem;
	& h5{
		margin-bottom:min(1.5vw, 0.4rem);
	}
}
	
/*BLC*/
video{
	width:100%;
	display:block;
	margin-bottom:0.7rem;
}
	
/*U-40（ユーフォ―ティー）*/
.d-annual{
	& dt, dd{
		font-size: min(3.5vw,14px);
		margin-bottom: 5px;
		list-style-type: none;
		line-height: 1.75;
	}
	& dt{
		float: left;
		width: 30px;
	}
	& dd{
		margin-left: 60px;
		width: 380px;
	}
	@media(width < 901px){
		& dt{
			width:15%;
		}
		& dd{
			width:85%;
			margin-left: auto;
		}
	}
}
.fb-box {
    background: #f3f3f3;
    border-radius: 10px;
    padding: min(5vw,20px);
	margin-top:1.2rem;
	.fb-page {
		display: block !important;
		width: min(100%,500px);
		margin: 0 auto;
        & > span {
            aspect-ratio: 5 / 8;
            height: auto !important;
            width: 100% !important;
        }
		& iframe {
            height: 100% !important;
            width: 100% !important;
        }
	}
}
/*U-40代表挨拶*/
.u40-section{
	& .main-column{
		& h1, h2{
			position:relative;
			z-index:1;
		}
	}
}
.u-40-retirement-manager {
    & .main-column {
		position:relative;
        &::before {
            content: "";
            width: min(100%, 900px);
            height: auto;
            aspect-ratio: 9 / 10;
            background: url(images/map_japan.png) center / contain no-repeat;
            position: absolute;
            z-index: 0;
            translate: -50% 0%;
            top: 0.5%;
            left: 50%;
			@media(width < 641px){
				display:none;
			}
        }
    }
	& .card{
		z-index:1;
		position:relative;
	}
	& .u40-taini-box{
		margin: min(5vw,1.2rem) 0 0;
	}
	& .u40-daihyo-img{
		width: min(100%,415px);
	}
}
.u-40-greeting{
	& .main-column{
		position:relative;
		&::before{
			content: "";
			width: min(100%,900px);
			height: auto;
			aspect-ratio:9/10;
			background: url(images/map_japan.png) center/contain no-repeat;
			position: absolute;
			z-index: 0;
            translate: -50% 0%;
            top: 0.5%;
            left: 50%;
			@media(width < 641px){
				display:none;
			}
		}
	}
	& .card{
		z-index:1;
		position:relative;
	}
}
.card {
    & > div {
        & > .u40-daihyo-box {
            margin:min(7vw,160px) 0 min(6vw, 60px);
        }
		& > .u40-daihyof-box{
			margin:min(7vw,45px) 0 min(5vw, 30px);
		}
    }
}
.u40-daihyo-img{
	width:min(70%,300px);
	height:auto;
	aspect-ratio:1;
	display:block;
	& img{
		width:100%;
		border-radius: 50%;
	}
}
.u40-daihyo-info{
	margin-top: min(4vw, 30px);
	position: relative;
	text-align:center;
	line-height:min(6vw,1.55rem);
	& span{
		display: block;
		font-size: min(3vw,12px);
		font-weight:500;
        line-height: 1.21rem;
	}
	& b{
		font-weight:bold;
		display: block;
		font-size: min(4.5vw,20px);
		margin: min(1vw, 0.3rem) 0;
	}
}
.u40-daihyof-img, .u40-shibudaihyo-img{
	width:min(70%,200px);
	height:auto;
	aspect-ratio:1;
	display:block;
	& img{
		width:100%;
		border-radius: 50%;
	}
}
.u40-daihyof-info{
	margin-top: min(4vw, 17px);
	position: relative;
	text-align:center;
	line-height:min(6vw,1.55rem);
	& span{
		display: block;
		font-size: min(3vw,12px);
		font-weight:500;
	}
	& b{
		font-weight:bold;
		display: block;
		font-size: min(4.5vw,20px);
	}
}
[class*="u40-shibudaihyo"]{
	position:relative;
	padding-top: min(7vw, 95px);
	margin-bottom:min(20vw,120px);
/* 	margin: min(7vw,80px) 0 min(20vw,120px); */
	& p{
		position:relative;
	}
	&[class*="-img"]{
		padding-top:0;
	}
	@media(900px < width){
		&::before{
			content: "";
			display: block;
			position: absolute;
			translate:-50% 0%;
			height:auto;
		}
		&[class*="-hokkaido"]:before{
			width: min(70vw,751px);
			aspect-ratio:751/480;
			position: absolute;
			background: url(images/map_hokkaido.png) top/cover no-repeat;
			top: max(-8vw, -3.5rem);
			left: 60%;
		}
		&[class*="-tohoku"]:before{
			width: min(100%,751px);
			aspect-ratio:751/550;
			position: absolute;
			background: url(images/map_touhoku.png) top/cover no-repeat;
			top: max(-8vw, -1.5rem);
			left: 50%;
		}
		&[class*="-kanto"]:before{
			width: min(100%,751px);
			aspect-ratio:751/640;
			position: absolute;
			background: url(images/map_kanto.png) top/cover no-repeat;
            background-size: 80%;
            top: max(-11vw, -9rem);
            left: 50%;
		}
		&[class*="-tokyo"]:before{
			width: min(100%,751px);
			aspect-ratio:751/480;
			position: absolute;
			background: url(images/map_tokyo.png) top/cover no-repeat;
			top: max(-8vw, -1.5rem);
			left: 50%;
		}
		&[class*="-chubu"]:before{
			width: min(100%,750px);
			aspect-ratio:75/73;
			position: absolute;
			background: url(images/map_chubu.png) top/cover no-repeat;
			top: max(-21vw, -14.5rem);
			left: 50%;	
		}
		&[class*="-kinki"]:before{
			width: min(100%,751px);
			aspect-ratio:751/550;
			position: absolute;
			background: url(images/map_kinki.png) top/cover no-repeat;
			top: 0;
			left: 50%;	
		}
		&[class*="-chushikoku"]:before{
			width: min(100%,751px);
			aspect-ratio:751/520;
			position: absolute;
			background: url(images/map_chushikoku.png) top/cover no-repeat;
			top: max(-8vw, -0.7rem);
			left: 50%;	
		}
		&[class*="-kyusyuokinawa"]:before{
			width: min(100%,751px);
			aspect-ratio:751/580;
			position: absolute;
			background: url(images/map_kyushu_okinawa.png) top/cover no-repeat;
			top: 0;
			left: 50%;	
		}
	}
	@media(width < 901px){
		padding-top:0;
/* 		margin-top:0; */
		& p{
			margin-top: min(5vw, 40px);
		}
		& > div{
			display:flex;
			flex-direction:column;
			& > *:nth-child(1){
				order:2;
			}
			& > *:nth-child(2){
				order:1;
			}
			& > *:nth-child(3){
				order:3;
			}
		}
	}
}
.u40-sdaihyo-title{
	position:relative;
    display: block;
    font-size: min(4.5vw, 20px);
    margin: 17px 0 min(5vw, 40px);
    text-align: center;
}
.u40-shibu-Lbox{
	& + .u40-shibu-Lbox{
		margin-top: min(10vw, 50px);
	}
}
.u40-shibu-Lbox > div{
	& p{
		font-size:min(3.7vw,15px);
	}
}
	
/*特定行為研修修了者の会（NJSCVS）*/
.njscvs-section{
	& p + .grid-2{
		margin-top: min(6vw, 35px);
	}
	& .main-column{
		& h1{
			z-index:1;
			position:relative;
			border-bottom: 2px solid #b5cfdf;
			&::before{
                background: #a8ce9b;
			}
		}
		& h2{
			z-index:1;
			position:relative;
		}
	}
	& [class*="u40-shibudaihyo"]{
		& .u40-daihyo-box {
			margin: min(3vw, 42px) 0 min(2.5vw, 42px);
		}
		& .u40-daihyo-info{
			margin-top: min(4vw, 20px);
		}
	}
	@media(900px < width){
		& [class*="u40-shibudaihyo"]{
			&[class*="-kanto"]:before {
				background-size: 65%;
                top: max(-11vw, -1.5rem);
			}
			&[class*="-chubu_hokuriku"]:before{
				width: min(100%,530px);
				aspect-ratio: 1649 / 2218;
				position: absolute;
				background: url(images/map_chubu_hokuriku.png) top/cover no-repeat;
				top: max(-21vw, -10.5rem);
				left: 50%;
			}
			& .u40-daihyo-box {
				margin-top: 0;
			}
		}
	}
	@media(width < 901px){
		& [class*="u40-shibudaihyo"] > div{
			& > *:nth-child(1){
				order:1;
			}
			& > *:nth-child(2){
				order:2;
			}
		}
	}
}
.njscvslogo img{
    margin: 0 auto min(4vw, 2rem);
    width: min(100%, 480px);
    display: block;
}
.card + [class*="tnshibu-box"]{
	margin-top: min(23vw, 120px);
}
[class*="tnshibu-box"]{
	position:relative;
	& .card{
		& + h2{
			margin-top: min(10vw, 45px);
		}
	}
	@media (900px < width) {
		&[class*="-hokkaido"]{
			display: block;
			background: url(images/map_hokkaido.png) 110% 45% no-repeat;
/* 			background-position: 110px 100px; */
			overflow: visible;
		}
		&[class*="-tohoku"]{
			background: url(images/map_touhoku.png) 40% 50% no-repeat;
		}
		&[class*="-kanto"]{
			background: url(images/map_kanto.png) 65% 15% no-repeat;
		}
		&[class*="-tokyo"]{
			background: url(images/map_tokyo.png) 50% 12% no-repeat;
		}
		&[class*="-chubu"]{
			background: url(images/map_chubu.png) 80% 13% no-repeat;
		}
		&[class*="-kinki"]{
			background: url(images/map_kinki.png) 65% 9% no-repeat;
		}
		&[class*="-chushikoku"]{
			background: url(images/map_chushikoku.png) 55% 13% no-repeat;
		}
		&[class*="-kyusyuokinawa"]{
			background: url(images/map_kyushu_okinawa.png) 71% 14% no-repeat;
		}
	}
}
.njscvs-branch-manager{
	margin-top: min(7vw, 35px);
	& h3{
		border-bottom: 1px solid #a8ce9b;
	}
}
.manager-flex{
    margin-top: min(7vw, 30px);
	& > div{
		display: flex;
		gap: min(5.5vw, 35px);
		flex-flow: wrap;
		justify-content: center;
		& > *:nth-child(1){
			display: block;
			flex: 0 200px;
			height: auto;
			aspect-ratio: 1;
		}
		& > *:nth-child(2){
			flex: 1 400px;
		}
	}
}
.manager-info{
    margin: 0 0 min(3.5vw, 17px);
/*     border-left: 2px solid var(--sub_color); */
	border-left: 2px solid #b5cfdf;
    padding: min(2.5vw, 0.15rem) min(3.5vw, 1rem) min(2.5vw, 0.25rem);
	& p{
		line-height: 1.15rem;
		font-size: min(3.5vw, 13px);
		display: block;
		margin-bottom: 0.2rem;
		font-weight: bold;
	}
	& + p{
		font-size: min(3.7vw, 15px);
	}
}
.ns-manager-title{
    font-size: min(4.2vw, 19px);
    line-height: min(6.8vw, 1.7rem);
}
	
	
/*********************************************
 * 心臓血管外科学会　英語ページリニューアルCSS
 * *******************************************/
.en-page{
	text-align:left;
	@media(1000px < width){
		padding-top:0!important;
		& .inner-header{
			width: 54%;
		}
		& .wrap-logo{
			justify-content: end;
			width: 100%;
		}
		& .wrap-logo .logo{
			display: block;
		}
		& .header-menu{
			width: auto;
			margin-left: auto;
		}
		& .header{
			position:relative;
			padding: min(5vw, 50px) min(6vw, 60px);
			box-shadow: none;
            background: none;
		}
/* 		& .over {
            & .wrap-logo .logo img{
                width: min(8vw, 75px);
            }
        } */
	}
	@media (width < 1001px){
		
	}
}
.wrap-en{
	& .contents{
		width: min(100%, 1670px);
	}
	@media (1400px < width){
		& .sleft-fllow{
			top: 30px
		}
	}
	@media (width < 1401px){
		& .sidebar-left{
			display:block;
		}
		& .sleft-fllow{
			position:relative;
		}
	}
}
.wrap-2column{
	display:flex;
	gap:min(10vw,50px);
	& .main-column{
        background: #fff;
        box-shadow: 0 0px 7px 3px #dfdfdf;
        border-radius: 0.6rem;
        padding: min(5vw, 6.3rem) min(5vw, 6.85rem);
	}
	@media(1400px < width){
		& > *:nth-child(1){
			width: min(100%, 1060px);
			order:2;
		}
		& > *:nth-child(2){
			width: min(100%, 440px);
			order:1;
		}
	}
	@media(900px < width < 1401px){
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		& > *:nth-child(1){
			grid-column-start: 1;
			grid-column-end: 3;
			grid-row-start: 1;
			grid-row-end: 2;
			width: 100%;
		}
		& > *:nth-child(2){
			grid-column-start: 1;
			grid-row-start: 2;
			grid-row-end: 2;
			width: 100%;
		}
	}
	@media(width < 1001px){
		flex-wrap:wrap;
		& > *{
			width:100%;
		}
	}
}

	
/* Edge */
@supports (-ms-ime-align: auto) {
  .wp-block-image img{
    width: 100%;
  }
}

/* IE10以降 */
@media all and (-ms-high-contrast: none) { /* ハイコントラストモードが「オフ」の場合 */
  .wp-block-image img{
    width: 100%;
  }
}

@media screen and (min-width: 1151px){
.contact-box-title:before {
    width: 2px;
    height: 100%;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}	
}

@media screen and (max-width:1150px){
	.contact-box-con{
		justify-content: center;
	}
	.contact-box-con .contact-box-title{
		margin-bottom: min(7vw,2rem);
		padding-bottom: min(8vw,1.5rem);	
	}
	.contact-box-title{
		flex: 1 100%;
	}
	.contact-box-title:before{
		height: 2px;
		width: min(30vw,400px);
		transform: translatex(-50%);
		left: 50%;
		bottom: 0;
	}
	.contact-box-title h2{
		text-align: center;
	}
}


@media screen and (min-width: 1001px) {
	/*追従*/	
	.fbtn-link{
		top: 50%;
		right: 0;
		transform: translate(0, -50%);
		bottom:auto;
		left:auto;
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		padding: 5.1rem 0.9rem 1rem;
		writing-mode: vertical-lr;
		border-radius: 5px 0 0 5px;
	}
	.fbtn-link:before{
		background: url(images/free-icon.svg) center/contain no-repeat;
		top: 1.2rem;
		left: 50%;
		transform: translatex(-50%);
	}

	/*メインイメージ*/	
	.index .main-visual{
		padding-bottom: min(4vw,3.5rem);
	}
	.top-appli-box {
		position: absolute;
		bottom: 0;
		right: min(4vw,3.5rem);
		padding-top: min(4vw,3rem);
	}
	.top-appli-box:before{
		width: min(9vw,100px);
		left: max(-5vw,-3.5rem);
	}
	.top-appli-con{
		padding: min(7vw,3rem) min(5vw,2.5rem) min(5vw,2.5rem);
	}
	.top-appli-title{
		font-size: min(4.5vw,28px);
	}

	/*フッターお問い合わせ*/
	.contact-box-form:before{
		width: 2px;
		height: 100%;
		left: 0;
		top: 50%;
		transform: translateY(-50%);	
	}
}


@media screen and (max-width: 1000px) {
.sidebar-left{
	display:none;
}
	
/*追従*/	
.fbtn-link{
	width:100%;
	flex-direction:column;
}
.fbtn-link:before{
	background: url(images/free-icon-sp.svg) center/contain no-repeat;
    top: 50%;
    transform: translate(-197%,-50%);
}
	
/*フッターお問い合わせ*/
	.contact-box {
		padding: min(15vw,80px) 0;
	}
	.contact-box-tel{
		flex: 0 100%;
	}
	.contact-box-con .contact-box-form{
		flex: 0 100%;
		margin-top: min(5vw,1rem);
		padding-top: min(8vw,0.5rem);
	}
	.contact-box-form:before {
		height: 2px;
		width: min(66vw,340px);
		transform: translatex(-50%);
		left: 50%;
		top: 0;
	}
	
/*トップ*/
.main-visual .noslide img{
    aspect-ratio: 5/3;
    object-fit: cover;	
}
}


/*ブルースカイス入れ込みのみ用*/
@media screen and (max-width: 600px){
/* 	.wp-block-buttons{
		margin-top: 20px;
	} */
	
	.wp-block-buttons .wp-block-button{
		display: initial;
		margin: 0;
	}
	
	.main-columnc .is-style-outline .wp-block-button__link{
	    position: relative;
        max-width: unset;
        display: block;
        left: unset;
        transform: unset;
        bottom: unset;	
	}
}
/*ブルースカイス入れ込みのみ用ここまで*/


@media screen and (min-width: 641px), print {
.njscvs-greeting {
    & .main-column {
		position:relative;
        &::before {
            content: "";
            width: min(100%, 900px);
            height: auto;
            aspect-ratio: 9 / 10;
            background: url(images/map_japan.png) center / contain no-repeat;
            position: absolute;
            z-index: 0;
            translate: -50% 0%;
            top: 0.5%;
            left: 50%;
        }
		& .card{
			position:relative;
			z-index:1;
		}
    }
}
	
  /* 会社概要　テーブル
	*************************** */
table.table-company tr:not(:last-of-type) {
    border-bottom: 1px solid #ccc;
  }

table.table-company th {
    width: 20%;
  }
	
	.border_color-table tr > *:nth-child(1), .back_color-table tr > *:nth-child(1) {
		width: 20%;
	}
  /* 会社概要　テーブル
	*************************** */
  /* お問い合わせ　テーブル
	*************************** */
  .contact table tr {
	display: flex;
    flex-flow: wrap;
  }

  .contact table th {
    width: 20%;
    line-height: 42px;
  }
  /* お問い合わせ　テーブル
	*************************** */
}



/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
@media screen and (max-width: 640px){
.index .main-visual {
	width: 100%;
	margin-bottom:0;
}
.wrap-slider .slider {
	height: 75vw;
}
.wrap-slider .slider img {
	height: 75vw;
}
.main-column .contact-tell{
	line-height: 1.5;
}
.main-column .contact-tell a {
	margin-top: 3vw;
	display: inline-block;
}
	
.link-prev a{
	border-right:none;	
}
.link-next a{
	border-left:none;
}
	
/*追従*/	
.fbtn-link:before{
    transform: translate(-173%,-50%);
}
	
/*****************************
 * モバイルトップ
 * ***************************/
.top-sdgs-text{
	text-align:justify;	
}
	
/****************************
 * テーブルデザイン
 * *************************/
.back_color-table > table{
	border-top:none;
}
.back_color-table tr, .border_color-table tr{
    display: flex;
    flex-flow: wrap;
    align-items: center;
    width: 100%;
}	
.back_color-table td, .border_color-table td{
	border-bottom:none;
	display: block;
    width: 100%
}
.border_color-table{
    border-top: 2px solid var(--main_color);
}
.border_color-table tr > *:nth-child(1){
	background:var(--light-sub_color);
    border-bottom: 1px solid #B8B8B8;
}
.border_color-table tr > *:nth-child(2){
    border-bottom: 2px solid var(--main_color);
}

	
/*会社概要*/
    .access-code > div{
        flex-flow: column-reverse;
    }
	.access-code > div img{
		width: 100%;
	}
    .access-code-company{
	    margin-left: 0;
	    margin-bottom: 20px;
    }
/*会社概要*/

/*お問い合わせ*/	
  .contact-flex a {
      font-size: 24px;
      padding: 0.5em 0.75em;
      border-radius: 100px;
      background: var(--main_color);
      color: #fff;
      line-height: 1;
      display: block;
      margin: 20px 0;
  }
.substitute-form .codedropz-upload-wrapper,
.main-column .contact-form table th, .main-column .contact-form table td,
.contact-form tbody, .contact-form table{
    width: min(100%, 84vw);
    display: block;
}
.main-column .contact-form table td{
	padding-top:0;
	padding-left:0;
}
/*お問い合わせ*/	
	.brnone-link br{
		display:none;
	}
}
}
/*--------------------common.cssここまで--------------------*/
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
:where(figure){
	margin: auto;
}
[class*="-flex"] :where(figure){
	margin:0;
}
/*ボタン*/
.wp-block-buttons{
	margin: min(7vw,50px) 0 min(10vw,80px);
	& + .wp-block-buttons{
		margin:min(5vw,15px) 0 0;
	}
	&:has(+ .wp-block-buttons){
		margin-bottom:0;
	}
}
.has-text-align-center + .wp-block-buttons{
    margin-top: min(3.5vw, 20px);
}
.wp-block-button{
    margin: 0!important;
	display:block!important;
	width: 100%;
}
.wp-block-buttons .wp-block-button__link{
    background: #eee;
	color:#333;
	height: auto;
	width: min(100%, 650px) !important;
    display: block;
    text-align: center;
    position: relative;
    margin: 0 auto;
	padding: min(3vw, 0.7rem) min(9.5vw, 2.8rem) min(4vw, 0.9rem);
    border-radius: 25rem;
    transition: 0.5s;
	line-height: 1.6;
    text-decoration: unset !important;
	font-size: min(3.7vw, 16px);
    max-width: 100%;
	&::after {
		content: "";
		background:#333;
		mask: url(images/double-arrow.svg) center / contain no-repeat;
		-webkit-mask: url(images/double-arrow.svg) center / contain no-repeat;
		display: block;
        width: min(3vw, 12px);
        height: auto;
        aspect-ratio: 17 / 15;
		position: absolute;
        translate: 0% -50%;
        top: 50%;
		right: min(3.5vw, 1.2rem);
        border: none;
        bottom: auto;
	}
	&:hover{
		opacity:1;
		background:var(--main_color);
		color:#fff;
		&::after{
			background:#fff;
		}
	}
}
.texts-btn .wp-block-button__link{
	font-size: min(3.3vw, 14px);
}
.surgery-link{
    align-items: center;
    justify-content: center;
    margin: min(4vw, 1.2rem) 0 0 0;
	& .wp-block-button__link{
        padding: min(2vw, 0.6rem) min(5vw, 1rem) min(2.5vw, 0.75rem);
		width: min(450px, 100%)!important;
		font-weight: 500;
		line-height: 1.25rem;
		&::after{
			display:none;
		}
	}
}
.x-btn .wp-block-button__link{
	background: #0f1419;
	color: #fff;
	&::after{
		background: #fff;
	}
	&:hover{
		background: #0f1419;
		opacity:0.7;
	}
}
.contact-cen-btn{
	margin-top:min(7vw,50px);
	& p{
		text-align: center;
		margin-bottom: 0.8rem;
	}
	& .wp-block-buttons{
		margin:0;
	}
}

/*テキスト・画像横並び*/
.wp-block-media-text__content{
	padding: 0 5% 0 0!important;
}
@media(width < 601px){
	.wp-block-media-text__media img{
		width:50%!important;
		display:block;
        margin: 0 auto min(5vw, 40px);
	}
}

/*フロート*/
p + [class*="float-text-img"]{
	margin-top:min(4vw, 1.5rem);
}
[class*="float-text-img"]{
	& > div{
		position:relative;
		&::after{
			content:"";
			display:block;
			clear:both;
		}
	}
	& figure{
		float: right;
		width:140px;
		margin:0 0 min(4vw, 1.5rem) min(4vw, 1.7rem);
		& img{
			width:100%;
		}
		@media(width < 901px){
			width:min(45%,140px);
			display:block;
			float:none;
			margin:0 auto min(4vw, 1.5rem);
		}
	}
	&[class*="-u40"] figure{
		width:30%;
		& img{
			width:100%;
		}
		@media(width < 901px){
			width:100%;
		}
	}
	&[class*="-left"] figure{
		width:min(100%,200px);
		height:auto;
		aspect-ratio:1;
		object-fit:cover;
	}
	@media(900px < width){
		&[class*="-left"]{
			& figure{
				float: left;
				margin:0 min(4vw, 1.7rem) min(4vw, 1.5rem) 0;
			}
		}
	}
}

/*テーブル*/
.wp-block-table{
	margin:0;
	& table.has-fixed-layout{
		table-layout: auto;
		border: 1px solid #999999;
		border-bottom:none;
		line-height: 1.75;
		& th{
			background: #f3f3f3;
			border: 1px solid #999999;
			font-weight:500;
		}
		& thead{
			border-bottom:none;
			& th{
				padding: 10px 7px 9px;
                font-size: min(4.5vw, 18px);
                font-weight: bold;
                text-align: center;
			}
		}
		& tbody{
			font-size:min(3.5vw,15px);
			& tr{
				& td{
					min-width: 0;
                    vertical-align: middle;
                    padding: 10px 12px 13px;
                    border: 1px solid #999999;
				}
			}
		}
		@media(width < 641px){
			border-collapse: separate;
			border-spacing: 0;
			& thead {
				& th {
					border: none;
					border-bottom: 1px solid #999999;
				}
			}	
		}
	}
	&:has(+ *){
		margin-bottom:min(15vw, 3.8rem);
	}
}
.thr-table{
	& table.has-fixed-layout{
		& thead{
			border-bottom:none;
			& th{
				font-size:min(3.3vw,14px);
				font-weight:500;
				text-align:left;
			}
		}
		& tbody{
			font-size:min(3.3vw,14px);
		}
	}
}
.guide-table{
	& table.has-fixed-layout{
		& tbody{
			& tr{
				& td{
					&:nth-of-type(1){
						background: #f3f3f3;
					}
					&:nth-of-type(2){
						@media(900px < width){
							width: 70%;
						}
					}
				}
				@media (width < 901px) {
					display: flex;
					flex-flow: wrap;
					align-items: center;
					width: 100%;
					& td{
						width:100%;
						border: none;
                        border-bottom: 1px solid #999999;
					}
				}
			}
		}
	}
}

p + .hh-table{
	margin-top:1.3rem;
}
.hh-table{
	& table.has-fixed-layout{
		& tbody{
			font-size: min(2.5vw, 15px);
			& tr{
				& td{
					padding: min(1.5vw, 10px) min(2vw, 12px) min(1.5vw, 13px);
					width: calc(100%/4);
					&:nth-of-type(1){
						background:none;
					}
				}
			}
		}
	}
}

/*歴代会長表テーブル*/
.papr-table{
	& table.has-fixed-layout{
		border: none;
		& thead {
			& th {
				padding: min(1.5vw, 10px) min(2vw, 10px) min(1.5vw, 12px);
				font-size: min(3.5vw, 13px);
				font-weight: 500;
				vertical-align: middle;
				word-break: keep-all;
			}
			@media(width < 641px){
				display:none;
			}
		}
		& tbody{
			& td{
				padding: min(1.5vw, 10px) min(2vw, 10px) min(1.5vw, 12px);
				font-size: min(3.5vw, 13px);
				vertical-align: middle;
				@media(640px < width){
					&:nth-of-type(1), &:nth-of-type(2), &:nth-of-type(4), &:nth-of-type(6){
						word-break: keep-all;
						text-align:center;
					}
				}
				@media(width < 641px){
					display: flex;
					align-items: center;
                    line-height: 1.15rem;
					border-bottom: none!important;
					text-align: justify!important;
					position: relative;
					padding: 0 10px 0 0!important;
					&::before{
                        background: #f3f3f3;
                        padding: min(6vw, 16px) min(2vw, 16px) min(5vw, 16px) min(2.5vw, 16px);
                        border-right: 1px solid #999;
                        text-align-last: justify;
                        min-width: min(32vw, 116px);
                        margin-right: 10px;
                        word-break: keep-all;
					}
					&:nth-of-type(1):before{
						content: "回数";
					}
					&:nth-of-type(2):before{
						content: "会長名";
					}
					&:nth-of-type(3):before{
						content: "所属（在任時）";
					}
					&:nth-of-type(4):before{
						content: "役職";
					}
					&:nth-of-type(5):before{
						content: "日程";
					}
					&:nth-of-type(6):before{
						content: "開催地";
					}
					&:nth-of-type(7):before{
						content: "会場";
					}
				}
			}
			@media(width < 641px){
				& tr{
					margin-bottom: 4vw;
					border-bottom: 1px solid #999999;
					display: block;
				}
			}
		}
	}
}

/*学術総会*/
.meeting-table{
	& table.has-fixed-layout{
		& tbody{
			& tr{
				& td{
					&:nth-of-type(1){
						background: #f3f3f3;
					}
					&:nth-of-type(2){
						@media(640px < width){
							width: 84%;
						}
					}
				}
				@media (width < 901px) {
					display: flex;
					flex-flow: wrap;
					align-items: center;
					width: 100%;
					& td{
						width:100%;
						border: none;
                        border-bottom: 1px solid #999999;
					}
				}
			}
		}
	}
}

/*心臓血管外科ライブ手術ガイドライン（2024年改訂版）および提出書類*/
.gsd2024-table, .table-tf-color{
	& table.has-fixed-layout{
		& tbody{
			& tr{
				& td{
					&:nth-of-type(1){
						background: #f3f3f3;
					}
				}
			}
		}
	}	
}

/*U-40*/
.u40-tt-box{
	& > div{
		display:flex;
		flex-direction:column;
		height:100%;
	}
	& .guide-table.wp-block-table {
		& tbody{
			font-size: min(3.5vw, 14px);
		}
		&:has(+ *) {
			margin-bottom: min(3.5vw, 1rem);
			margin-top: 0;
		}
	}
	& p{
		font-size:min(3.7vw,15px);
	}
	& .wp-block-buttons{
		margin: auto 0 0;
		& .wp-block-button__link{
			margin: min(5vw, 20px) auto 0;
			padding:min(2vw, 0.5rem) min(5.5vw, 2rem) min(3vw, 0.7rem);
			font-size:min(3.7vw,15px);
		}
		&:has(> .x-btn){
			margin:0;
		}
		& .x-btn .wp-block-button__link{
			margin:0;
		}
	}
}
.u40-daihyo-img, .u40-daihyof-img, .u40-shibudaihyo-img{
    margin: 0 auto;
}
.thc-auto-table{
	& table.has-fixed-layout {
		& thead {
			& th {
				font-weight: 500;
				font-size: min(3.2vw, 14px);
				padding: min(2.2vw, 0.7rem) min(5vw, 0.7rem);
				line-height: min(5vw, 1.55rem);
			}
		}
		& tbody{
			& tr{
				& td{
					font-size: min(3.2vw, 14px);
                    padding: min(2.2vw, 0.7rem) min(5vw, 0.7rem);
                    line-height: min(5vw, 1.55rem);
					text-align: left;
				}
			}	
		}
	}
}

/*NJSCVS*/
.njscvs-section{
	@media(900px < width){
		& .guide-table {
			& table.has-fixed-layout {
				& tbody {
					& tr {
						& td {
							&:nth-of-type(1) {
								width: 32%;
							}
						}
					}
				}
			}
		}
	}
}

/*座談会*/
.wrap-1column{
	background: #fff;
/* 	box-shadow: 0 0px 7px 3px #dfdfdf;
	border-radius: 0.6rem; */
	box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
    padding: min(5vw, 4.3rem) min(5vw, 4.55rem);
}
[class*="u40-future"]{
	background: #eee;
	& :is(h1, h2, h3, h4){
		font-weight:500;
		&::before, &::after, & span{
			font-weight:600;
		}
	}
	@media(900px < width){
		padding-top:0!important;
		& .header{
			display:none;
		}
		& .column1-logo {
			margin: 20px auto 40px;
			text-align: center;
		}
		& .wrap > .contents {
/* 			width: min(100%, 1170px); */
			width: min(100%, 1340px);
			padding: 0 min(8vw, 60px);
			margin: 0 auto;
		}
	}
	@media(width < 901px){
		& .column1-logo{
			display:none;
		}
	}
}
.talk-top-box{
	position:relative;
	margin-bottom: min(18vw,100px);
}
.talk-top-title-box{
	display:block;
	width:100%;
	& > *{
		width:100%;
		display:flex;
		align-items:center;
		justify-content:center;
		flex-direction:column;
		font-family: "Shippori Mincho", serif;
	}
	& *:not(h1){
		font-weight:600;
	}
	@media(900px < width){
		position:absolute;
		top:40px;
	}
	@media(width < 901px){
		margin-top:min(6vw, 3.1rem);
	}
}
.talk-top-title-sub{
    font-size: min(4vw, 18px);
    line-height: 1;
    margin-bottom: 0.6rem;
}
.talk-top-title{
    font-size: min(6vw, 40px);
    text-align: center;
    line-height: min(8vw, 3rem);
	& span{
        display: block;
        font-size: min(4.3vw, 25px);
        line-height: min(6vw, 2rem);
        margin-top: min(1.5vw, 0.5rem);
	}
}
.talk-top-title-en{
	text-align: center;
	font-size: min(3vw,14px);
    margin-top: min(3vw,8px);
    letter-spacing: min(1vw,1.5px);
    text-indent: min(1vw,1.5px);
}
.talk-top-title2{
	font-size: min(3vw,14px);
    margin-top: min(3vw,3px);
}
.talk-member-title{
	font-family: "Shippori Mincho", serif;
    text-align: center;
    font-size: min(5.5vw,30px);
    margin-bottom: min(7vw,50px);
	position: relative;
	&::after{
		display: block;
		content: "Member";
		letter-spacing: 1.5px;
		text-indent: -1.5px;
		line-height: 1;
		font-size: min(3vw,14px);
		margin-top: min(2vw,10px);
	}
}
.talk-gbox-con > div{
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
    gap: min(5vw, 1.8rem);
    margin-top: min(5vw, 1.8rem);
}
.talk-gbox{
	font-family: "Shippori Mincho", serif;
    display: flex;
    justify-content: center;
    padding: min(6vw,25px) min(5vw,20px) min(5vw,20px);
    border: 1px solid #ccc;
	& figure{
		margin-bottom:min(4vw,20px);
	}
	& img{
		width: min(100%,150px);
		height:auto;
		aspect-ratio:1;
		border-radius: 50%;
		display:block;
		margin: 0 auto;
	}
	& .english{
		text-align: center;
		font-size: min(4.5vw,24px);
		margin-bottom: min(1.5vw,12px);
		&::before{
			content: "" attr(name-title) "\a" attr(name-title2) "";
			white-space: pre-line;
            display: block;
            font-size: min(3vw, 14px);
            margin-bottom: min(2vw, 9px);
            line-height: 1.25rem;
		}
		&::after{
			display: block;
			content: attr(en);
			font-size: min(2.5vw,12px);
			letter-spacing: 2px;
			text-indent: -2px;
			line-height: 1;
			margin-top: min(2vw,10px);
		}
	}
	& p{
		font-weight: 600;
		text-align: center;
        font-size: min(3vw, 14px);
        line-height: min(5vw,1.35rem);
	}
}
.talk-main-title{
	font-size: min(5.5vw, 40px);
    text-align: center;
    background: #862212;
    color: #fff;
    line-height: 1.75rem;
    padding: min(3vw, 18px) min(3vw, 18px) min(3vw, 21px);
    margin-bottom: min(7vw, 20px);
    font-family: "Shippori Mincho", serif;
	& + p{
		font-weight:600;
	}
}
.talk-box{
	margin-top: min(27vw,150px);
	@media(900px < width){
		padding: 0 60px;
	}
}
.talk-title{
	line-height: 1.5;
	font-size: min(5.5vw,30px);
    font-family: "Shippori Mincho", serif;
    border: none;
    padding: 0;
	margin-bottom: 30px;
}
.talk-title-sub{
	margin-top: min(7vw,50px);
	line-height: min(6.5vw,1.75rem);
    display: flex;
	color:var(--main_color);
	font-size: min(4.3vw, 20px);
	&::before{
		content: "";
		min-width: min(15vw, 75px);
		height: 1px;
		margin: 15px 0 0;
		background: var(--main_color);
		margin-right: min(4vw, 20px);
	}
}
.talk-img{
	display:block;
/* 	margin:min(10vw,50px) max(-5vw, -6rem); */
	margin:min(10vw,50px) max(-5vw, -4.55rem);
	& img{
		width:100%;
	}
	@media(900px < width){
		margin:min(10vw,50px) max(calc(-5vw + -60px), calc(-4.55rem + -60px));
	}
}
[class*="member-name"]{
	margin-top: min(7vw,50px);
	display: flex;
    align-items: flex-start;
	font-weight:500;
	&::before{
        content: attr(name);
        min-width: min(15vw, 75px);
        height: 25px;
        line-height: 1;
        padding: min(0.5vw,0.5rem) min(0.5vw,0.5rem) min(0.65vw,0.65rem);
        margin-right: min(4vw, 20px);
        font-size: min(3.3vw, 16px);
        text-align: center;
        font-weight: bold;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 5px;
	}
	&[class*="-1"]:before{
		background: #862212;
	}
	&[class*="-2"]:before{
		background: #060d5c;
	}
	&[class*="-3"]:before{
		background: #d03da1;
	}
	&[class*="-4"]:before{
		background: #065c18;
	}
	&[class*="-5"]:before{
		background: #ccbc39;
	}
	&[class*="-6"]:before{
		background: #44dbe1;
	}
	&[name="福田"]:before{
		background: #060d5c;
	}
	&[name="横山"]:before {
		background: #862212;
	}
	&[name="田中"]:before {
		background: #d03da1;
	}
	&[name="藤原"]:before {
		background: #ccbc39;
	}
	&[name="野上"]:before {
		background: #065c18;
	}
	&[name="高木"]:before {
		background: #44dbe1;
	}
}


/*********************************************
 * 心臓血管外科学会　トップページリニューアルCSS
 * *******************************************/
.index{
/* 	overflow-x: auto; */
	overflow-x: clip;
	&::before{
		display:none;
	}
	&::after{
		content: "";
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio:1920/512;
		position: absolute;
		left: 0;
		bottom: 0;
		background: url(images/top-backimg2.png) bottom / contain no-repeat;
		mix-blend-mode: overlay;
		z-index: -1;
		@media(width < 1001px){
			background: url(images/top-backimg2.png) bottom / cover no-repeat;
			width: 150%;
			translate: -50% 0%;
			left: 50%;
		}
	}
	& .wrap{
		margin-bottom: min(20vw,80px);
	}
	@media(1000px < width){
		padding-top:0!important;
		& .header:not(.is-fixed) .header-menu{
			width: calc(100% - min(8vw, 103px) - min(5vw, 25px));
		}
		& .header:not(.is-fixed) .inner-header{
			width: min(8vw, 103px);
		}
		& .header:not(.is-fixed){
/* 			display:none; */
			position: relative;
			box-shadow:none;
			background:none;
			padding: min(5vw,50px) min(6vw,60px);
		}
		& .header:not(.is-fixed) .global-nav > li > a{
			font-size:min(3.7vw,16px);
		}
	}
	@media(width < 1001px){
		& .top-menu{
			display:none;
		}
	}
}
.top-header{
	padding: min(6vw, 30px) 0;
	& > .contents{
		display:flex;
		gap: min(5vw, 1.5rem);
		@media(width < 1001px){
			gap: min(8vw, 2.5rem);
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}
	}
	@media(width < 1001px){
		padding: min(6vw, 30px) 0 min(10vw, 50px);
	}
}
.top-header-left{
    width: min(100%, 400px);
    margin-right: auto;
	& .box-search{
		margin-bottom: min(3vw, 15px);
		& input[type="text"]{
			width: 100%;
		}
	}
	@media(1000px < width){
		width: min(21vw, 400px);
	}
	@media(width < 1001px){
		width: min(100%, 600px);
		margin: 0 auto;
		order: 2;
		& .box-search{
			& input[type="text"]{
/* 				height: min(12vw, 37px); */
				height: min(12vw, 53px);
			}
			& button[type="submit"]{
/* 				width: min(5vw, 19px); */
				width: min(5vw, 23px);
			}
		}
	}
}
.top-header-center{
    margin: 0 min(7vw, 120px);
    width: min(100%, 165px);
	& a{
		display:block;
	}
	@media(width < 1391px){
		margin: 0 min(4vw, 120px);
	}
	@media(1000px < width){
    	margin-right: 4rem;
	}
	@media(width < 1001px){
		order: 1;
		width: min(37vw, 165px);
	}
}
.top-header-right{
	& .side-rmenu-list{
		width:min(100%,198px);
		margin-left:auto;
		& li {
			& a {
/* 				font-size: min(3vw, 13px); */
				font-size: min(3vw, 15px);
			}
		}
	}
	@media(1000px < width){
		margin-left: auto;
		width: min(25vw, 475px);
	}
	@media(width < 1001px){
		display:none;
		order: 3;
		& .side-rmenu-list{	
    		margin: 0 auto;
		}
	}
}
.top-hlink-btn{
	display:flex;
/* 	gap:min(3vw,1rem); */
	gap: min(0.9vw, 1rem);
	margin-bottom: min(4vw, 18px);
	& .hmember-btn{
		margin-bottom: 0;
		border-radius: 25rem;
		font-size: min(3.3vw, 14px);
		padding: min(1.7vw, 0.55rem) min(7vw, 2rem);
		&.hoter-btn{
/* 			background:var(--main_color); */
			background: #5b8402;
		}
	}
	@media(1000px < width){
		& .hmember-btn{
			font-size: min(0.8vw, 15px);
			padding: min(0.4vw, 0.45rem) min(2vw, 1.5rem);
			width: min(14vw, 260px);
			&.hoter-btn{
				padding: min(0.4vw, 0.45rem) min(2.1vw, 2.5rem);
				width: min(11vw, 200px);
			}
		}
	}
	@media(width < 1001px){
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: min(2.5vw, 1rem);
		& .hmember-btn{
			letter-spacing: 0.05rem;
			width: min(100%, 300px);
		}
	}
}
[class*="top-box"]{
	background:#fff;
	border-radius:0.4rem;
	box-shadow: 0 0px 7px 3px #dfdfdf;
	&[class*="-pd"]{
		padding:min(4.5vw,1.8rem);
	}
	& p{
		font-size:min(3.5vw,14px);
		letter-spacing: 0.03rem;
	}
	& .kome-list{
		margin-top: 0.4rem;
		display: flex;
        align-items: center;
        justify-content: center;
		& li{
/* 			font-size: min(3.5vw, 14px); */
			letter-spacing: 0.01rem;
/* 			padding-left: min(6vw, 1.1rem); */
			font-size: min(2.8vw, 14px);
			padding-left: min(4.5vw, 1.1rem);
            line-height: min(4.5vw, 1.55rem);
		}
	}
	& .list-post .box-post-text{
		&:not(:last-of-type){
			border-bottom:none;
		}
		& a{
			padding:0;
			gap: min(2vw, 1rem);
			align-items: center;
			flex-wrap: nowrap;
			&::after{
				display:none;
			}
		}
		& + .box-post-text{
			margin-top: min(2vw, 13px);
		}
		& time{
			font-size: min(3vw, 14px);
			line-height:1;
		}
		& h3{
			font-size: min(3vw, 14px);
			line-height:1;
			font-weight:500;
		}
	}
	& .talk-top-title-box{
		top: 58px;
		position: absolute;
	}
	@media(1410px < width){
/* 		& .talk-top-title-box{
			top: 58px;
		} */
		& .talk-top-title-sub {
			font-size: min(4vw, 18px);
			line-height: 1;
			margin-bottom: 1rem;
		}
		& .talk-top-title {
			font-size: min(1.7vw, 32px);
			text-align: center;
			line-height: min(8vw, 3rem);
		}
		& .talk-top-title-en{
			text-align: center;
			font-size: min(0.8vw, 14px);
			font-weight: 800;
			margin-top: min(3vw, 3px);
			letter-spacing: 0;
			text-indent: min(1vw, 1.5px);
		}
	}
	@media(width < 901px){
		&  .talk-top-title-box{
			top: 2vw;
			margin-top: 0;
		}
		& .talk-top-title-sub{
			font-size: min(2.5vw, 14px);
			margin-bottom: min(1vw, 0.6rem);
		}
		& .talk-top-title {
			font-size: min(4.5vw, 40px);
			text-align: center;
			line-height: min(6vw, 3rem);
		}
		& .talk-top-title-en{
			font-size: min(1.7vw, 14px);
			margin-top: min(0.5vw, 8px);
		}
	}
}
.top-link{
	display:block;
	position:relative;
	&::after{
        content: "";
        display: block;
        width: min(8vw, 50px);
        height: min(8vw, 50px);
        background: url(images/tdot-icon.svg) center / contain no-repeat;
        position: absolute;
        right: min(3vw, 1.1rem);
        bottom: min(3vw, 1.2rem);
	}
}
.top-link-icon{
	display: block;
	width: min(8vw, 50px);
	height: min(8vw, 50px);
	position: absolute;
	right: min(3vw, 1.1rem);
	bottom: min(3vw, 1.2rem);
	& img{
		width:100%;
		aspect-ratio:1;
		background: #fff;
        border-radius: 50%;
	}
}
.top-about-title{
    position: absolute;
    top: min(4vw, 3.5rem);
    left: min(4vw, 3.5rem);
    font-family: "din-2014", sans-serif;
    font-weight: 600;
    font-style: italic;
    font-size: min(8vw, 74px);
    line-height: min(7.2vw, 4.3rem);
    letter-spacing: 0.05rem;
}
.tabout-ten{
    display: block;
    font-size: min(6.2vw, 56px);
    letter-spacing: 0.02rem;
}
.tabout-tja{
	font-size: min(3.3vw, 20px);
    line-height: min(5.2vw, 1.55rem);
    display: block;
    font-family: var(--zkga), "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-style: normal;
    margin-top: min(1.5vw, 18px);
    font-weight: 500;
}
.top-link-title{
    font-size: min(4vw, 18px);
    line-height: min(5.2vw, 1.55rem);
    margin-bottom: min(3.5vw,20px);
	@media(width < 1281px){
		font-size: min(4vw, 25px);
		margin-bottom: min(3.5vw, 28px);
	}
}
.header-grid-mbox{
	display:grid;
    gap: min(7vw, 1.5rem);
	@media(1280px < width){
        grid-template-columns: 2fr 1fr 1fr;
/*         grid-template-rows: repeat(7, 1fr); */
/* 		grid-template-rows: repeat(5, 110px); */
/* 		grid-template-rows: repeat(5, 93px); */
		grid-template-rows: repeat(6, 93px);
	}
	@media(width < 1281px){
		grid-template-columns: 1fr 1fr;
	}
}
[class*="gm-item"]{
	position:relative;
	&[class*="-1"]{
		& img{
			border-radius:0.4rem;
			width: 100%;
            height: 100%;
            object-fit: cover;
		}
		& .top-link-title{
			position:absolute;
            left: min(4vw, 2.2rem);
            bottom: min(4vw, 2.2rem);
            margin-bottom: 0;
		}
	}
	&[class*="-2"]{
		&::before{
			content:"";
			display:block;
			position:absolute;
			top:0;
			left:0;
			width:100%;
			height:min(1vw,6px);
			background:var(--sub_color);
		}
/* 		& img{
			display: block;
			margin: 0 auto;
			width: 63%;
			@media(width < 1281px){
				width: min(63%, 250px);
			}
		} */
	}
	&[class*="-3"]{
/* 		overflow: hidden;
		&::before{
			content: "";
            display: block;
			width: 120%;
            height: auto;
            aspect-ratio: 432 / 110;
            background: url(images/top-procedure.png) 90% / cover no-repeat;
            position: absolute;
            translate: -50% -50%;
			top: 64%;
            left: 51%;
		}
		& .top-link-title, & .header-infobox{
			position:relative;
		} */
/* 		@media(width < 1281px){
			& .top-link-title{
				margin-bottom: min(27.5vw, 19rem);
			}
		} */
	}
	&[class*="-4"]{
		overflow: hidden;
		&::before{
			content: "";
            display: block;
			width: 120%;
            height: auto;
            aspect-ratio: 432 / 110;
            background: url(images/top-procedure.png) 90% / cover no-repeat;
            position: absolute;
			translate: -50% 0%;
			top: 0;
            left: 51%;
		}
		& .top-link-title, & .header-infobox{
			position:relative;
		}
/* 		& img{
			width: 93%;
			display: block;
			margin-right: auto;
			margin-top: 1.5rem;
			@media(width < 1281px){
				width: min(93%, 650px);
				margin: 1.5rem auto 0;
			}
		} */
	}
	&[class*="-5"]{
		& img{
/* 			width: 93%; */
			width: 78%;
			display: block;
			margin-right: auto;
/* 			margin-top: 1.5rem; */
            margin-top: min(3vw, 1.2rem);
			@media(width < 1281px){
/* 				width: min(93%, 650px);
				margin: 1.5rem auto 0; */
				width:min(95%, 650px);
				margin-top: auto;
                margin-bottom: auto;
                padding-bottom: min(8vw, 50px);
			}
			@media(width < 641px){
				translate: -50% -50%;
                left: 50%;
                top: 63%;
                width: 35vw;
                position: absolute;
			}
		}
/* 		& img{
			border-radius:0.4rem;
			width: 100%;
            height: 100%;
			object-fit: cover;
			object-position: right;
		}
		& .top-link-title{
            color: #fff;
            text-shadow: 0 0 3px #141414;
            position: absolute;
            left: min(4vw, 2.2rem);
            top: min(4vw, 2.2rem);
		}
		&::after{
			filter: brightness(0) invert(1) drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.9));
		} */
	}
	&[class*="-6"]{
		& img{
			border-radius:0.4rem;
			width: 100%;
            height: 100%;
			object-fit: cover;
			object-position: right;
		}
/* 		background:url(images/top-member.jpg) right/cover; */
		& .top-link-title{
            color: #fff;
            text-shadow: 0 0 3px #141414;
            position: absolute;
            left: min(4vw, 2.2rem);
            top: min(4vw, 2.2rem);
		}
		&::after{
			filter: brightness(0) invert(1) drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.9));
		}
	}
	@media(1280px < width){
		&[class*="-1"]{
            grid-column: 1;
			grid-row: 1 / span 6;
		}
		&[class*="-2"]{
            grid-column: 2;
/* 			grid-row: 1 / span 4; */
			grid-row: 1 / span 2;
		}
		&[class*="-3"]{
            grid-column: 2;
/* 			grid-row: 5 / span 2; */
			grid-row: 3 / span 2;
		}
		&[class*="-4"]{
/*             grid-column: 3;
            grid-row: 1 / span 2; */
			grid-column: 2;
            grid-row: 5 / span 2;
		}
		&[class*="-5"]{
            grid-column: 3;
/* 			grid-row: 3 / span 3; */
			grid-row: 1 / span 2;
		}
		&[class*="-6"]{
            grid-column: 3;
/*             grid-row: 6 / span 1; */
			grid-row: 3 / span 4;
		}
	}
	@media(width < 1281px){
		grid-column: span 2;
		&[class*="-5"], &[class*="-6"]{
			grid-column: span 1;
			aspect-ratio: 2 / 2.5;
		}
		&[class*="-5"]{
			display: flex;
			flex-direction: column;
		}
	}
}
.ios .header-infobox{
	box-shadow: inset 0em -0.9em 0.8em -18px;
}
.header-infobox{
	overflow: auto;
	width: 100%;
/* 	padding-right: 18px; */
	padding-right: min(6vw, 36px);
/* 	margin-top: 15px; */
/* 	height: 128px; */
	height: 71%;
	@media(width < 1001px){
		height: min(33vw, 150px);
	}
	&::-webkit-scrollbar{
		width: 9px;
	}
	&::-webkit-scrollbar-thumb{
		background: var(--main_color);
		border-radius: 15px;
	}
	&::-webkit-scrollbar-track{
		background: #efefef;
		border-radius: 15px;
	}
	&::-webkit-scrollbar-corner{
		display:none;
	}
	& > a:first-of-type{
		& .header-time-post{
			position:relative;
			&::before{
				content:"NEW";
				display: inline-block;
				text-align: center;
				line-height: 1;
				margin: 0;
				width: auto;
				background: none;
				border: 1px solid #e71339;
				color: #e71339;
				border-radius: 0;
/* 				padding: min(0.1vw, 0.05rem) min(2vw, 0.6rem); */
				padding: min(0.1vw, 0.02rem) min(2vw, 0.6rem) min(0.1vw, 0.1rem);
				font-size: min(3vw, 14px);
				margin-right: min(2vw, 1rem);
			}
		}
	}
}
.header-info-link{
    display: flex;
/*     gap: min(2vw, 1rem); */
	gap: min(2vw, 0.5rem) min(2vw, 1rem);
/*     align-items: center; */
	flex-wrap: wrap;
	& .category-post{
		margin: 0;
        width: auto;
        background: none;
        border: 1px solid #e71339;
        color: #e71339;
        border-radius: 0;
        padding: min(0.1vw, 0.05rem) min(2vw, 0.6rem);
        font-size: min(3vw, 14px);
	}
	& + .header-info-link{
		margin-top:min(3vw, 1rem);
	}
}
.header-time-post{
	font-size: min(3vw, 14px);
}
.header-info-text{
	font-size: min(3vw, 14px);
	position: relative;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	line-clamp: 1;
	-webkit-line-clamp: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 500;
	width:100%;
	line-height: 1.25;
	text-align: left;
}
.top-header-con{
/* 	margin-bottom: min(21vw, 7rem); */
	margin-bottom: min(23vw, 7rem);
	position:relative;
	&::before{
		content: "";
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio:1920/1312;
		position: absolute;
/* 		translate: -50% -50%; */
		translate: -50% 0%;
        left: 50%;  
/*         top: 16%; */
		top: 74px;
		background: url(images/top-backimg1.png) bottom / contain no-repeat;
		mix-blend-mode: overlay;
		z-index: -1;
		@media(1000px < width < 1281px){
			background: url(images/top-backimg1.png) bottom / cover no-repeat;
			width: 200%;
            top: 67%;
		}
		@media(width < 1001px){
            width: 200%;
			top:auto;
			bottom: -5%;
/*             translate: -50% -50%;
            top: 50%; */
		}
	}
	@media(1000px < width){
		margin-bottom: min(5vw, 3rem);
	}
}
.scroll-cbox{
    position: absolute;
    bottom: 0;
    right: min(3vw, 1.7rem);
    display: flex;
    gap: min(1.5vw, 0.6rem);
    align-items: center;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
}
.scroll-cbox-title{
    color: var(--main_color);
    font-size: min(14px, 3vw);
    font-weight: 500;
    letter-spacing: 0.05em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
    position: relative;
    right: -1px;
    font-family: "din-2014", sans-serif;
}
.scrolldown {
    z-index: 3;
	height: min(27vw,127px);
	position: relative;
	&::before{
        content: "";
        position: absolute;
        translate: -50% 0%;
        left: 50%;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--main_color);
        -webkit-animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
        animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
        z-index: 2;
	}
	&::after{
		content: "";
        width: 1px;
        height: 100%;
        position: relative;
        display: block;
        background: var(--main_color);
        z-index: 1;
	}
}
@keyframes circlemove {
	0% {
		top: -1%;
	}
	100% {
		top:100%;
	}
}
@-webkit-keyframes cirlemovehide {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	80% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
}
@keyframes cirlemovehide {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	80% {
		opacity: 0.9;
	}
	100% {
		opacity: 0;
	}
}
.top-en-text-box{
	overflow: hidden;
	width: 100vw;
	position: absolute;
    translate: -50% 0%;
    left: 50%;
}
.top-en-text{
/* 	font-family: "Cinzel", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-size: min(12vw, 76px);
    color: #eee;
    line-height: 1; */
/*     position: relative;
    translate: -50% 0%;
    left: 63.5%; */
/* 	position: absolute;
    left: min(16vw,155px); */
/*     white-space: nowrap; */
	display: flex;
	gap:min(8vw,50px);
	width: max-content;
	animation: tctext 40s linear infinite;
/* 	animation: tctext 30s linear infinite; */
	& p{
		font-family: "Cinzel", serif;
		font-optical-sizing: auto;
		font-weight: 600;
/* 		font-size: min(12vw, 76px); */
		font-size: min(16vw, 76px);
		color: #eee;
		line-height: 1;
		white-space: nowrap;
		@media(width < 1001px){
			color: #fff;
		}
	}
}
@keyframes tctext {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
/*     0% {
        transform: translateX(120%);
    }
    100% {
		transform: translateX(-100%);
    } */
}

.top-flex-con{
	gap: min(10vw, 50px);
/* 	@media(1540px < width){ */
	@media(1280px < width){
		& .sidebar-right{
/* 			width: min(100%, 180px); */
			width: min(100%, 200px);
			position: relative;
			top: -2.3rem;
		}
		.sright-fllow {
			& > * + * {
				margin-top: min(7vw, 21px);
			}
		}
	}
	@media(1280px <  width <1411px){
		& .sidebar-right {
			width: min(100%, 213px);
		}
	}
/* 	@media(width < 1541px){ */
	@media(width < 1281px){
		flex-wrap: wrap;
		& > *{
			width:100%;
		}
		& .side-rmenu-list{
			display:none;
		}
		& .side-banner{
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
            gap: min(5vw, 40px);
		}
		& .side-banner-link{
			display:block;
			width:100%;
			margin:0;
		}
		& .related-links-box{
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
			gap: min(1.5vw, 20px);
			& a {
				& img {
					object-fit: cover;
					height: 100%;
        		}
				& + a {
					margin-top: 0;
				}
			}
		}
	}
	@media(width < 901px){
		& .related-links-box{
			grid-template-columns: repeat(auto-fill, minmax(24%, 1fr));
		}
	}
}
@media screen and (max-width:1400px){
	body:not(.index){
		& .side-banner{
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
            gap: min(5vw, 40px);
		}
		& .side-banner-link{
			display:block;
			width:100%;
			margin:0;
		}
		& .related-links-box{
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(20%, 1fr));
			gap: min(1.5vw, 20px);
			& a {
				& img {
					object-fit: cover;
					height: 100%;
        		}
				& + a {
					margin-top: 0;
				}
			}
		}
		@media(width < 1001px){
			& .lang-menu{
				justify-content: center;
			}
		}
		@media(width < 901px){
			& .related-links-box{
				grid-template-columns: repeat(auto-fill, minmax(24%, 1fr));
			}
		}
	}
}
.top-grid-cbox{
	display:grid;
    gap: min(7vw, 1.5rem);
/* 	@media(1280px < width < 1541px){
		grid-template-rows: repeat(3, 280px);
	} */
/* 	@media(1540px < width){ */
	@media(1410px < width){
		flex: 1;
        grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto auto;
        align-content: start;
/* 		grid-template-rows: repeat(6, 1fr); */
/* 		grid-template-rows: repeat(3, 280px); */
	}
/* 	@media(width < 1411px){
		grid-template-columns: 1fr 1fr;
	} */
}
[class*="gc-item"]{
	&[class*="-1"]{
		& img{
			border-radius:0.4rem;
			width: 100%;
            height: 100%;
            object-fit: cover;	
		}
		@media(width < 901px){
			overflow: hidden;
			object-fit:contain;
			& img{
				object-fit:contain;
/* 				aspect-ratio: 120 / 73; */
				height: auto;
				position: relative;
				translate: -50% -50%;
				left: 50%;
/* 				top: 69%;
				scale: 1.4; */
				scale: 1.37;
                aspect-ratio: 700 / 580;
                top: 50%;
			}
		}
/* 		@media(1410px < width){
			height: 580px;
		} */
		&::after {
			filter: brightness(0) invert(1) drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.9));
/*             box-shadow: 0 0px 7px 3px #dfdfdf;
            background: #fff;
            mask: url(images/tdot-icon.svg) center / contain no-repeat;
            -webkit-mask: url(images/tdot-icon.svg) center / contain no-repeat; */
        }
	}
	&[class*="-2"]{
		background:url(images/patient-safety.jpg) center/cover no-repeat;
/* 		& img{
			display: block;
			margin: 0 auto;
			width: 100%;
			@media(width < 1411px){
				width:min(50%,250px);
			}
		} */
/* 		@media(1410px < width){
			height: 550px;
		} */
	}
	&[class*="-3"]{
/* 		& .top-link-title{
			margin-bottom:0;
		} */
	}
	&[class*="-4"]{
		background:url(images/top-library.jpg) right/cover no-repeat;
/* 		& .top-link-title{
			margin-bottom:0;
		} */
		@media(width < 1411px){
			background:url(images/top-library-sp.jpg) 81%/cover no-repeat;
		}
	}
	&[class*="-5"]{
/* 		@media(1410px < width){
			height: 550px;
		} */
	}
	@media(1410px < width){
		&[class*="-1"]{
            grid-column: 1;
/* 			grid-row: 1 / span 6; */
			grid-row: 1 / 3;
		}
		&[class*="-2"]{
            grid-column: 1;
/* 			grid-row: 7 / span 4; */
			grid-row: 3;
		}
		&[class*="-3"]{
            grid-column: 2;
/* 			grid-row: 1 / span 3; */
			grid-row: 1;
		}
		&[class*="-4"]{
            grid-column: 2;
/* 			grid-row: 4 / span 3; */
			grid-row: 2;
		}
		&[class*="-5"]{
            grid-column: 2;
/* 			grid-row: 7 / span 4; */
			grid-row: 3;
		}
	}
/* 	@media(width < 1411px){
		&[class*="-1"]{
            order:1;
			grid-column: span 2;
		}
		&[class*="-2"]{
            order:3;
			grid-column: span 1;
		}
		&[class*="-3"]{
            order:2;
			grid-column: span 2;
		}
		&[class*="-4"]{
            order:4;
			grid-column: span 1;
		}
		&[class*="-5"]{
            order:5;
			grid-column: span 2;
		}
	} */
}
.flex-top-surgery{
	gap:min(3vw,1rem);
	margin-top: min(3.5vw, 20px);
/* 	@media(1540px < width){ */
	@media(1410px < width){
		& > *:nth-child(1){
			flex:3;
		}
		& > *:nth-child(2){
			flex:4;
			display: flex;
            flex-direction: column;
		}
	}
	@media(width < 1411px){
		flex-wrap:wrap;
		gap: min(6vw, 2rem);
		& > *{
			width:100%;
		}
	}
}
.top-link-box{
	display:grid;
/* 	grid-template-columns:repeat(auto-fill,minmax(min(45%,150px),1fr)); */
	grid-template-columns:repeat(auto-fill,minmax(min(45%,200px),1fr));
	gap:min(3vw,1rem);
	margin-bottom:min(3vw,1rem);
}
[class^="link-btn"]{
    background: #eee;
    color: #333;
    height: auto;
    width: min(100%, 650px);
    display: block;
    text-align: left;
    position: relative;
    margin: 0 auto;
/*     padding: min(1.5vw, 0.5rem) min(9vw, 2.5rem) min(2vw, 0.55rem) min(4.5vw, 1.2rem); */
	padding: min(1.7vw, 0.7rem) min(7.3vw, 2.5rem) min(2vw, 0.75rem) min(3.5vw, 1.2rem);
    border-radius: 25rem;
    transition: 0.5s;
	line-height: 1.1rem;
    text-decoration: unset;
/*     font-size: min(3.7vw, 16px); */
	font-size: min(0.8vw, 16px);
    max-width: 100%;
    letter-spacing: 0.01rem;
	&::after{
        content: "";
        background: #333;
        mask: url(images/double-arrow.svg) center / contain no-repeat;
        -webkit-mask: url(images/double-arrow.svg) center / contain no-repeat;
        display: block;
        width: min(3vw, 12px);
        height: auto;
        aspect-ratio: 17 / 15;
        position: absolute;
        translate: 0% -50%;
        top: 50%;
        right: min(3.5vw, 0.94rem);
        border: none;
        bottom: auto;
	}
	&:hover{
		opacity:1;
		background:var(--main_color);
		color:#fff;
		&::after{
			background:#fff;
		}
	}
	&[class*="-reverse"]{
		background:var(--main_color);
/* 		margin-bottom: min(4vw, 1.3rem); */
		margin-bottom: min(10vw, 2.5rem);
		color:#fff;
		&::after{
			background:#fff;
		}
		&:hover{
			background: #eee;
			color:#333;
			&::after{
				background:#333;
			}
		}
		&:has(+ [class*="-movie"]){
			margin-bottom: min(4vw, 1.1rem);
		}
	}
	&[class*="-movie"]{
        margin-top: auto;
        padding-left:min(10.5vw, 3.3rem);
		&::before{
            content: "";
            display: block;
            position: absolute;
            translate: 0% -50%;
            left: 0;
            top: 50%;
            width: auto;
            height: 100%;
            aspect-ratio: 1;
            border-radius: 50%;
            background: #929292 url(images/movie-icon.svg) no-repeat center / 55%;
		}
	}
	&:has(+ [class*="-reverse"]){
		margin-bottom: min(3vw, 1.1rem);
	}
	@media(width < 1411px){
		font-size: min(3.1vw, 16px);
	}
}
.kome-list + .link-btn-reverse{
	margin-top: min(7vw, 0.7rem);
}
.top-library-box{
	width:50%;
	& [class^="link-btn"] {
/* 		margin-bottom: min(7vw, 1.1rem); */
		box-shadow: 0 0px 7px 3px #dfdfdf;
		&[class*="-reverse"]{
/* 			margin-bottom:0; */
			margin-bottom: min(3vw, 1.1rem);
			box-shadow: none;
		}
		@media (width < 901px){
			padding:min(1.7vw, 0.7rem) min(3.5vw, 1.2rem) min(2vw, 0.75rem) min(3.5vw, 1.2rem);
			&::after{
				display:none;
			}
		}
	}
	@media (1410px < width){
/* 		width:50%; */
	}
}
.gci-title-link{
	display:flex;
	flex-wrap:wrap;
	gap:min(3vw,1rem);
	margin-bottom: min(3.5vw, 20px);
}
div:has(> .gci-link){
	margin-left: auto;
	@media(width < 1001px){
		&.sp{
			display: flex;
			& .gci-link{
				margin: min(4.5vw, 20px) auto 0;
			}
		}
	}
}
.gci-link{
/*     margin-left: auto; */
    display: flex;
    border-bottom: 1px solid #333;
    position: relative;
    gap: min(3vw, 0.7rem);
    align-items: center;
    font-size: min(3.5vw, 14px);
    padding-bottom: 0.2rem;
    letter-spacing: 0.01rem;
	&::after{
		content: "";
        background: url(images/double-arrow.svg) center / contain no-repeat;
        display: block;
        width: min(3vw, 12px);
        height: auto;
        aspect-ratio: 17 / 15;
		margin-top: 0.2rem;
	}
}
.e-learning-box{
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
    gap: min(7vw, 45px);
	& img{
		height: 290px;
		aspect-ratio: 211 / 290;
		width: auto;
		display: block;
		margin: 0 auto;
	}
	@media(width < 1411px){
		display: flex;
/* 		& [class^="link-btn"]{
			&[class*="-reverse"]{
				margin-bottom:0;
			}
		} */
		& > *:nth-child(1){
			flex:2;
			& > a:last-of-type{
				margin-bottom:0;
			}
		}
		& > *:nth-child(2){
			flex:1;
			position: relative;
		}
		& img{
			position: absolute;
			height: auto;
			left: max(-4vw, 74px);
			width: min(34vw, 163px);
			translate: 0% -50%;
			top: 50%;
			max-width: none;
		}
	}
	@media(width < 901px){
		& img{
			left:0;
		}
		& [class^="link-btn"]{
			padding-right:min(3.5vw, 1.2rem);
			&::after{
				display:none;
			}
		}
	}
	@media(width < 641px){
		gap: min(3vw, 45px);
	}
}
.top-sns{
	display:grid;
/* 	grid-template-columns:repeat(auto-fill,minmax(min(45%,250px),1fr)); */
	grid-template-columns:repeat(auto-fill,minmax(min(45%,550px),1fr));
	gap:min(3vw,1rem);
/*     width: 100%;
    height: 100%; */
	@media(1410px < width){
		width: 100%;
/* 		height: 100%; */
		height: 91%;
	}
	@media(width < 901px){
		grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));
		gap: min(8vw, 2rem);
/* 		grid-template-columns: repeat(auto-fill, minmax(min(45%, 250px), 1fr));
		gap: min(5vw, 2rem) */
	}
}
.top-sns-box{
	width:100%;
}
/* .fb-page{
	@media(1410px < width){
		height: 100%;
		width: 100%;
		& > span{
			aspect-ratio: 5 / 8;
			height: auto!important;
			width: 100%!important;
		}
		& iframe{
			height: 100%!important;
			width: 100%!important;
		}	
	}
} */
.mb1rem{
	margin-bottom:1rem;
}
.mb1d5rem{
	margin-bottom:1.5rem;
}

/*学術総会リスト*/
/* #wpadminbar{
	display: none!important;
} */
/* html:has(.jscvs56-test){
	&:has(.modal-open){
		overflow: hidden;
	}
} */
html:has(> .modal-open){
	overflow: hidden;
}
.jscvs56-test{
/* 	& .program-box { */
	& #jstest{
		& > .wp-block-group{
			display:none;
		}
		& h2{
			text-align:left;
			cursor: pointer;
			position:relative;
			display:flex;
			gap:0.5rem;
			&::after{
                content: "";
                display: block;
                background: #fff;
                clip-path: polygon(0% 100%, 0% 0%, 0% 0%, 80% 50%);
                aspect-ratio: 1;
                width: min(4.5vw, 20px);
                height: auto;
                margin: 0.45rem 0 auto auto;
                transform: rotate(90deg);
                transition: 0.3s;
                min-width: min(4.5vw, 16px);
			}
		}
		&.rot > h2{
			&::after{
                transform: rotate(-90deg);
                margin: 0.25rem 0 auto auto;
			}
		}
	}
}
.jscvs-page{
	& header + section{
		@media(width < 1401px){
			margin-top:1.5rem;
		}
	}
	& .lang-menu{
		flex-wrap: wrap;
		& li{
			width: 100%;
			&:not(:last-of-type) {
				&::after {
					display:none;
				}
			}
			& a{
				display: inline-block;
			}
		}
	}
	& .hmember-btn {
		background: #5b8402;
	}
	& .nav{
		width: 100vw;
		height: 100dvh;
		position: fixed;
		top:0;
		left:0;
		padding: min(40vw, 14rem) min(6vw, 14rem) min(12vw, 10rem) min(6vw, 14rem);
		background: #232323ed;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 999;
		@media(1000px < width){
			padding: min(15vw, 8rem) min(6vw, 14rem) min(15vw, 8rem) min(6vw, 14rem);
		}
	}
	& .nav > .contents{
		display: block;
		height: auto;
	}
	& #nav-open span {
		width: min(1.3vw, 8px);
	}
	& .nav-open:after{
		content: "動画一覧";
		display: block;
		text-align: center;
		transform: none;
        font-size: min(2vw, 9px);
		width: 50px;
/*         position: relative; */
		position:absolute;	
        translate: -50% 0%;
        left: 50%;
		@media(1400px < width){
			color:#fff;
		}
	}
	& .drawer-nav {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 350px), 1fr));
		gap: min(12vw, 3rem);
		height: auto;
		border-top: none;
		& > li {
			border-top:none;
			& > a{
				background: none;
                color: #fff;
                border-bottom: 1px solid #fff;
                padding: 0 0 0.7rem 0;
				font-size: min(4vw, 17px);
                line-height: min(6vw, 1.65rem);
				&:not([href]):hover{
					opacity:1;
				}
				&:has(+ .sub-menu){
					margin-bottom: 1.3rem;
				}
			}
			& .sub-menu{
				border-top: none;
                border-left: 1px solid #fff;
                padding-left: 1rem;
				& > li {
					& > a {
						color:#fff;
						padding: 0;
        			}
					&:not(:last-of-type) {
						border-bottom: none;
					}
					& + li{
						margin-top:0.5rem;
					}
				}
			}
		}
	}
	& ul.drawer-nav{
		@media(1001px < width){
			display:none;
		}
	}
	& #nav-content {
		z-index: 100;
		position: fixed;
		top: 0;
		left: 0;
		height: 100dvh;
		width: 0;
		overflow-y: scroll;
		pointer-events: none;
		transform-origin: left top;
		background: unset;
		transition: width 0.5s ease-in-out;
		white-space: nowrap;
		word-break: keep-all;
		transform: scale(1);
		max-width: unset;
		overflow-x: hidden;
		min-width: auto;
	}
	& #nav-input{
		display:none;
	}
	& #nav-input:checked ~ #nav-close{
		display:none;
	}
	& #nav-input:checked ~ #nav-open{
		& span{
			background:#fff;
			width:min(1.5vw, 11px);
		}	
		&:after{
			color:#fff;
			left: 86%;
			top: auto;
			position: absolute;
			bottom: 3rem;
			transform: rotate(-90deg);
		}
	}
	& #nav-input:checked ~ #nav-content{
		box-shadow: 6px 0 25px rgb(0 0 0 / 15%);
		pointer-events: unset;
		width: 100vw;
		background: unset;
		transition: width 0.5s ease-in-out;
	}
	& .contents{
		width: min(100%, 1670px);
	}
	& .main-column{
		width: min(100%, 1060px);
		margin: 0 auto;
		background: #fff;
        box-shadow: 0 0px 7px 3px #dfdfdf;
        border-radius: 0.6rem;
        padding: min(5vw, 6.3rem) min(5vw, 6.85rem);
	}
	@media(1400px < width){
		padding-top: 0 !important;
		& .header{
			position: relative;
			padding: min(5vw, 50px) min(6vw, 60px);
			box-shadow: none;
			background: none;
			& .inner-header {
				width: 35.5%;
			}
			&.over #nav-open{
				position: fixed;
				top: 2.5rem;
				transition: 0.3s;
				right: 11.5rem;
			}
		}
		& .header-right.pc{	
			width: 16%;
            min-width: 225px;
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
		& .hmember-btn{
			margin-bottom: min(3vw, 21px);
		}
		& .lang-menu {
			& li {
				justify-content: flex-start;
				& a{
					font-size: min(0.9vw, 14px);
					color:#333;
					&::before{
						content:"▶";
						display:inline-block;
						font-size: min(1vw, 16px);
                        margin-right: 0.25rem;
					}
				}
				& + li {
					margin-top: 1rem;
				}
			}
		}
		& #nav-open{
            display: flex;
            position: relative;
			top:0;
			right: auto;
            margin-right: 0;
			transition:0.3s;	
			border: 1px solid var(--main_color);
            border-radius: 50%;
/* 			padding: 0.5rem 0.5rem 1.7rem; */
			padding:0.5rem;
            width: 106px;
            height: 106px;
            aspect-ratio: 1;
			background:var(--main_color);
		}
		& #nav-input:checked ~ #nav-open{
			top: 0.5vw;
			border: none;
            right: 0vw;
            background: none;
			position: fixed;
		}
		& #nav-open span{
/* 			width: 38px;
            margin-top: 26px; */
			background:#fff;
/* 			width: min(1.3vw, 8px); */
/* 			&:nth-of-type(2){
				top: 15px;
			}
			&:nth-of-type(3) {
				top: 29px;
			} */
		}
		& #nav-input:checked ~ #nav-open span{
			width: 7px;
		}
/* 		& #nav-input:checked ~ #nav-open span:nth-of-type(3){
			-webkit-transform: translateY(-17px) rotate(45deg);
			transform: translateY(-17px) rotate(45deg);
		} */
		& .nav-open:after{
			font-size: 11px;
			bottom: 1rem;
		}
	}
	@media(1000px < width < 1401px){
		padding-top: 77px!important;
		& .header{
			padding: 0.8rem 1.2rem;
			position: fixed;
			background: #fff;
			box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
			position: fixed;
			left: 0;
			top: 0;
			& .wrap-logo{
				width: auto;
				justify-content: normal;
			}
			& .header-right{
				display:none;
			}
		}
		& .wrap-logo .logo img{
			width: min(15vw, 50px);
		}
		& #nav-open{
			top: 21px;
			display: flex;
		}
		& .lang-menu{
			justify-content: center;
			& li{
				justify-content: center;
				font-size: min(3.2vw, 14px);
			}
		}
	}
	@media(1000px < width){
		& .nav-drawer {
			width: min(100%, 1550px);
			margin: 0 auto;
		}
		& .wrap-logo {
            justify-content: end;
            width: 100%;
        }
		& .header-menu {
            width: auto;
            margin-left: auto;
            width: min(100%, 196px);
        }
	}
	@media(width < 1401px){
		& .nav {
			padding: min(22.5vw, 8rem) min(8vw, 60px) min(6vw, 10rem) min(8vw, 60px);
		}
	}
	@media(640px < width < 1401px){
		& #nav-open{
			right: 1rem;
		}
	}
	@media(width < 1401px){
		& #nav-open {
			width: 36px;
			height: auto;
			aspect-ratio: 1.5 / 2;
			top: 15px;
			padding-bottom: 0.9rem;
			&::after{
				bottom: 0;
			}
        }
		& #nav-input:checked ~ #nav-open {
			right: 1.5rem;
            padding: 0;
            top: 6px;
			&:after {
				left: 136%;
                top: auto;
                bottom: 1.3rem;
			}
		}
	}
	@media(width < 1001px){
		& .btn-close {
			display: none;
		}
	}
	@media(width < 641px){
		& #nav-open {
			width: 40px;
			aspect-ratio: 1.7 / 2;
			top: 11px;
			padding-bottom: min(3.2vw, 0.9rem);
			gap: min(2.3vw, 9px);
		}
		& #nav-open span {
			width: min(1.5vw, 8px);
		}
		& #nav-input:checked ~ #nav-open {
			right: min(3.5vw, 1.5rem);
            top: 3px;
            &:after {
                left: 125%;
                bottom: 1.3rem;
            }
        }
	}
}
.pc-jsmenu{
	& .drawer-nav{
		display:flex;
		& > div{
			@media(1000px < width){
				width:min(calc((100% - min(12vw, 3rem) * 4) / 5), 350px);
			}
		}
		& > div > .menu-item{
			position: relative;
			line-height: 1.75;
			& + .menu-item{
				margin-top:min(7vw, 2rem);
			}
			& > button {
				display: none;
			}
			& > a {
                background: none;
                color: #fff;
                border-bottom: 1px solid #fff;
                padding: 0 0 0.7rem 0;
				font-size: min(4vw, 15px);
                line-height: min(6vw, 1.55rem);
				&:has(+ .sub-menu) {
                    margin-bottom: 1.3rem;
                }
				&:not([href]):hover {
					opacity: 1;
				}
            }
			& .sub-menu {
                border-top: none;
                border-left: 1px solid #fff;
                padding-left: 1rem;
				& > li {
                    &:not(:last-of-type) {
                        border-bottom: none;
                    }
					& + li {
                        margin-top: 0.5rem;
                    }
					& > a {
						color: #fff;
						padding: 0;
						font-size: min(3.3vw, 13px);
						line-height: 1.15rem;
                    }
                }
            }
			&:not(:last-of-type) {
				border-bottom: none;
			}
		}
		& a{
			white-space: pre-wrap;
			text-align: left;
			word-break: break-all;
		}
	}
}
.jscvs-wrap{
	& .breadcrumb{
		width: min(100%, 1060px);
		margin-left: auto;
		margin-right: auto;
	}
	& .wrap-2column{
		justify-content: center;
		gap:0;
	}
	@media(width < 1401px){
		& .sidebar{
			display:none;
		}
	}
}
.videolib-con{
	& + .videolib-con{
		margin-top:min(20vw, 5.6rem);
	}
	& .wp-block-columns{
/* 		gap: min(3.5vw, 2.5rem); */
		gap: min(5.5vw, 2.5rem);
		margin-top: min(7vw, 2.3rem);
		& img{
			aspect-ratio: 3 / 2;
			object-fit: cover;
			box-shadow: 5px 5px 9px #a3a2a2;
		}
		& a:hover {
            transition:0.3s;
			&:hover{
				box-shadow: 5px 5px 11px #a3a2a2;
				opacity: 1;
				transition:0.3s;
			}
        }
	}
}
.program-box{
	& h2{
		font-size: min(5vw, 28px);
	}
	& h3{
		font-size: min(4.5vw, 23px);
		margin-bottom: min(4.5vw, 1.5rem);
		text-align: left;
        line-height: 1.25;
	}
	& h4{
        margin: min(6vw, 2rem) 0 min(4vw, 0.5rem);
        line-height: 1;
        padding: min(1.5vw, 0.4rem) min(2.5vw, 0.7rem) min(2vw, 0.55rem);
        font-size: min(4vw, 16px);
	}
	& figure{
		margin:0;
	}
	& h5{
		margin-top: 1rem;
	}
	& .card + .card{
		margin-top:min(10vw, 65px);
	}
	& .wp-block-columns{
		gap: min(5vw,2em);
		margin-bottom: min(7vw,1.75em);
		@media(766px < width){
			flex-wrap: nowrap;
			align-items: flex-start;
		}
		@media(width < 766px){
			flex-wrap: wrap;
			& > *{
				width:100%;
				flex-basis: auto!important;
			}
		}
	}
	& + .program-box{
		margin-top:min(20vw, 120px);
	}
	& .wp-block-table{
		& table.has-fixed-layout{
			border:none;
			& tr{
				border:none;
				& td{
					border:none;
					min-width: auto;
					padding:0;
				}
			}
		}
	}
}
.jscvs-ex{
    background: #fef6f7;
    padding: min(5vw, 2.5rem) min(6vw, 2.5rem);
    font-size: min(3.5vw, 14px);
    margin-top: min(9vw, 2.8rem);
	& > *:first-child{
		margin-top:0;
	}
}
.openjVideo{
	cursor:pointer;
	transition:0.5s;
	position:relative;
	&::before{
		content:"";
		display:block;
        width: min(13vw,50px);
        height: auto;
        aspect-ratio: 1;
        position: absolute;
        translate: -50% -50%;
        left: 50%;
        top: 50%;
		background:var(--main_color);
		border:2px solid var(--main_color);
		transition:0.3s;
		border-radius:50%;
	}
	&::after{
		content: "";
		display: block;
		background: #fff;
        clip-path: polygon(0% 100%, 0% 0%, 0% 0%, 100% 50%);
        aspect-ratio: 1.2 / 2;
        width: min(6vw, 17px);
        height: auto;
        position: absolute;
        translate: -50% -50%;
        left: 51%;
        top: 50%;
        transition: 0.3s;
	}
	& img{
        width: 100%;
        border: 1px solid #ccc;
        display: block;
	}
	&:hover{
		opacity:1;
		&::before{
			background:#fff;
		}
		&::after{
			background:var(--main_color);
		}
	}
}
.videonone{
	cursor: auto;
	pointer-events:none;
	&::before{
		content: "動画公開未定です";
        background: none;
        border-radius: 0;
        width: 90%;
        color: #d50008;
        border: none;
        aspect-ratio: auto;
        font-weight: bold;
        font-size: min(6.5vw, 25px);
        text-align: center;
		text-stroke: 7px #fff;
        -webkit-text-stroke: 7px #fff;
        paint-order: stroke fill;
	}
	&::after{
		display:none;
	}
}
.jvideoModal{
	display:none;
	position:fixed;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    translate: -50% -50%;
    background: #0000009e;
    z-index: 9999;
}
.jvideoModal-box{
    position: fixed;
    top: 51%;
    left: 50%;
    width: 80%;
    translate: -50% -50%;
	@media(width < 901px){
		width: 90%;
	}
}	
.popupjVideo{
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 1.69;
}
.closejVideo{
    display: block;
    margin: 1rem auto 0;
    color: #333;
    font-size: min(3.5vw, 16px);
    border: 1px solid #333;
    border-radius: 5px;
    background: #fff;
    padding: 0.35rem 1.2rem;
}
.role-list{
	& tr{
		display:flex;
		& td{
			text-align: left;
			border:none;
			line-height: 1.55;
			&:nth-of-type(1){
				width: min(12vw, 53px);
			}
			&:nth-of-type(2){
				width: calc(100% - min(12vw, 53px));
			}
		}
	}
}
.jscvs-page-table{
	& tr{
		display:flex;
		& td{
			text-align: left;
			border:none;
			& strong{
				font-weight: 700;
			}
			&:nth-of-type(1){
				font-size: min(3.9vw, 18px);
				line-height: min(6.8vw, 1.7rem);
				color: var(--main_color);
				line-height:1;
				margin-top: 0.3rem;
				margin-right:min(3.5vw,1rem);
				white-space: pre;
			}
			&:nth-of-type(2){
				line-height: 1.75;
			}
		}
		& + tr{
			margin-top: min(4vw, 1rem);
		}
	}
}
.program-box-intro{
	& .role-list {
		& tr {
			& td {
				& strong{
                    position: relative;
                    display: flex;
                    align-items: center;
					&::after{
						content:"：";
						display:inline-block;
						margin-left:auto;
					}
				}
				&:nth-of-type(1) {
                    width: min(17.5vw, 73px);
                    padding-right: 0.25rem!important;
				}
				&:nth-of-type(2) {
					width: calc(100% - min(17.5vw, 73px));
				}
			}
		}
	}
}

/* ////////////////////////////////////////
印刷のみ
//////////////////////////////////////// */
@media print {
    .surgery-index, .surgery-contents-print, .surgery-tmp .category-post, .surgery-tmp .breadcrumb, .surgery-tmp .header, .topbacklink, .surgery-tmp .footer, .surgery-tmp .pagetop{
        display: none;
    }
	.surgery-contents {
		box-sizing: border-box;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		width: 100%;
		& *, & *:before, & *:after {
			box-sizing: border-box;
			-webkit-print-color-adjust: exact;
			print-color-adjust: exact;
		}
		& h1{
			margin: 0;
		}
		& .contents-single {
			padding: 0;
		}
	}
}

/*トップ修正*/
.index{
/* 	& #wpadminbar{
		display:none!important;
	} */
	@media (width < 1001px){
		& .header{
			background:none;
			box-shadow:none;
		}
		& .inner-header{
			display:none;
		}
		#nav-open{
			box-shadow: 0 0px 7px 3px #dfdfdf;
			background: #fff;
			border-radius: 50%;
			width: min(17vw, 110px);
			height: auto;
			aspect-ratio: 1;
			top: min(3vw, 20px);
            right: min(3vw, 20px);
		}
		& #nav-input:checked ~ #nav-open{
			top: min(1vw, 6px);
			right: min(1vw, 12px);
			width: min(17vw, 60px);
			box-shadow: none;
			background: none;
		}
	}
}
