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


:root{
    --main_color: #f8b44f;
    --sub_color: #f19800;
    --light-color: #fff9ed;
}
.section-common[data-back="sub-color"] {
    background: var(--light-color);
}
strong{
	font-weight:bold;
}


/*--------------------reset.css--------------------*/

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;
}

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;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
}

/* 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;
  padding: 0;
  border: 0;
  border-top: 1px solid #cccccc;
}

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--------------------*/

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, [class*="form"] .acf-radio-list > li > label:has(> input[type="radio"]){
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position:relative;
}
form input[type="radio"] + span:before, [class*="form"] .acf-radio-list > li > label:has(> input[type="radio"]):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, [class*="form"] .acf-radio-list > li > label:has(> input[type="radio"]:checked):after{
  content: "";
  width:10px;
  height:10px;
  background:var(--main_color);
  display:inline-block;
  border-radius: 5px;
  position: absolute;
  left: 2px;
  top: 6px;
}

form input[type="checkbox"] {
  display: none;
}
form input[type="checkbox"] + span {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position:relative;
}
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;
}
/*--------------------form.cssここまで--------------------*/

/* ////////////////////////////////////////
PC,SP共通
//////////////////////////////////////// */
body {
	color: #333;
	font-family: "Noto Sans JP","游ゴシック",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;
  position: relative;
}

.main-column{
	container: main-size / inline-size;
}

p{
  word-break: break-all;
}
.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;
}


/* 共通色指定
*************************** */
.copyright,
.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;
}

.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(16vw, 100px) 0;
}
.contents{
    width: min(100%,1040px);
    padding: 0 min(8vw,40px);
    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;
}

/*テンプレート（テンプレ）*/
.grid-2{
	display:grid;
    grid-template-columns: repeat(auto-fill,minmax(min(100%,450px),1fr));
    gap: min(8vw,50px);
}
.grid-4{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));
	gap:min(9vw,40px);
}
p + .wp-block-columns:has(> :nth-child(2):not([style*="flex-basis"])), ul + .wp-block-columns:has(> :nth-child(2):not([style*="flex-basis"])),
ol + .wp-block-columns:has(> :nth-child(2):not([style*="flex-basis"])){
    margin-top: min(8vw, 45px);
}
.wp-block-columns:has(> :nth-child(2):not([style*="flex-basis"])) + p{
	margin-top: min(5.5vw, 30px);
}


/*装飾*/
a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
*:has(> .btn-archive){
    position: relative;
    transition: 0.3s;
    width: min(100%,350px);
	margin:min(9vw,45px) auto 0;
}
*:has(> .btn-archive):after {
    content: "";
    display: block;
    width: 100%;
    height: 98%;
    background: var(--main_color);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}
.btn-archive {
	text-align: center;
    text-transform: uppercase;
    width: 100%;
    padding: min(3.5vw,1.3rem) min(5vw,1rem);
    z-index: 1;
    line-height: 1.5;
    background: #fff;
    border: 1px solid var(--main_color);
    transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    top: -5px;
    left: -5px;
	font-weight:bold;
}
.btn-archive:hover{
	background:var(--main_color);
	color:#fff;
	opacity:1;
    top: 0;
    left: 0;
}


/*投稿モジュール*/
.list-post .box-post-text:first-of-type{
    border-top: 1px solid #ccc;
}
.list-post .box-post-text {
    border-bottom: 1px solid #ccc;
}
.box-post-text a {
    display: flex;
    align-items: center;
    padding: min(4vw,22px) 0 min(4vw,22px);
    position: relative;
    gap: min(2vw,22px);
	@media(width < 901px){
		flex-wrap: wrap;
	}
}
.box-post-text time {
    margin-right: 0;
    font-size: min(3.2vw,14px);
	font-weight: bold;
}

.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;
}

.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);
}

.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: "続きを読む";
    padding-right: 20px;
	display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    height: 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;
}

.box-post-archive a > div:nth-child(2) {
    position: relative;
    width: calc(100% - 270px);
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    height: 100%;
}

.box-post-archive a > div:nth-child(2) >div {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    width: 100%;
}

.box-post-archive img {
  width: 100%;
  height: auto;
    aspect-ratio: 3/2;
}

.box-post-archive time {
  display: block;
  font-size: 14px;
  line-height: 20px;
}

.box-post-archive 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;
}

.main-column .box-post-archive h3,.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: 1.5;
  font-size:14px;
  margin-top:5px;
  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;
	border-radius: 3px;
	text-align: center;
	font-size: min(3vw, 12px);
	line-height: 1;
	padding: min(1vw, 0.25rem) min(2vw, 0.7rem);
}

.box-post-text .category-post {
    height: auto;
    white-space: nowrap;
    margin: 0;
    font-size: min(3vw, 12px);
    line-height: 1;
    border-radius: 0.2rem;
    padding: min(1.4vw, 0.35rem) min(1.5vw, 0.5rem);
    width: min(17vw, 65px);
    font-weight: bold;
}
.bousai .box-post-text .category-post{
    width:min(28vw, 110px);
}

/*施工事例モジュール*/
/* .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: "";
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23d9d9d9" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center/contain;
    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);
} */


/*フッター*/
.footer {
  position:relative;
  margin-top:auto;
    border-top: 1px solid #ccc;
}
.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.7vw,15px);
}
.info-footer > * + *{
	margin-top:0.2rem;
}
.sns-link{
	gap:min(4vw,15px);
    display: flex;
}
.sns-link li{
    width: min(15%,52px);
}
.sns-link li a{
	display:block;
}
.sns-link li img{
	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;
    line-height: 1.25;
	 border-left: 3px solid #333;
    font-size: min(1.6vw,15px);
}
.copyright {
    padding: min(4vw,1.2rem) 0;
    line-height: 1.35;
    font-size: min(2.5vw,14px);
    color: #ffffff;
    text-align: center;
	background: var(--sub_color);
	font-weight: bold;
}
/* シンプルフッター */
.simple-footer-nav {
    display: flex;
    justify-content: center;
}
.simple-footer-nav li a {
    font-size: min(3vw,13px);
    height: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 0.1rem;
    padding: 0 0.95rem;
}
.simple-footer-nav li ul{
	display:none;
}

/*フッター　ワンカラム*/
.footer-one{
    padding: min(11vw, 50px) 0
}
.inner-footer-one .box-info-footer{
	width:100%;
	margin-bottom: min(10vw,35px);
}
.inner-footer-one .box-info-footer .logo{
    width: min(100%,480px);
	margin-left: auto;
    margin-right: auto;
    margin-bottom: min(4vw,18px);
}
.inner-footer-one .info-footer{
    font-weight: bold;
    display: flex;
    flex-wrap: wrap;
    text-align: justify;
    font-size: min(3.5vw,14px);
    gap: 3px min(4.5vw,25px);
	width: min(100%,595px);
    margin: 0 auto;
}
.inner-footer-one .info-footer > dd:first-of-type{
	width:100%;
}


/*フッターお問い合わせ*/
.contact-box-two{
	background:url(images/contact-back.jpg) bottom/cover;
	color:#fff;
    padding: min(20vw, 150px) 0
}
.contact-box-two .pc-textCenter{
	font-weight: bold;
    letter-spacing: 0.1rem;
    line-height: min(7.5vw,2rem);
}
.contact-box-two .top-title, .contact-box-two .top-title:before{
	color:#fff;
}
.index .pc-textCenter + .cbt-link-box, .cbt-link-box{
	margin-top: min(10vw, 50px);
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(min(100%,350px),1fr));
    gap: min(7vw,55px);
}
.cbt-link:has(> .btn-archive) {
    width: 100%;
    margin:0;
}
.cbt-link:has(> .btn-archive):after {
/*     background: #7ca664; */
	background:var(--sub_color);
    z-index: 0;
}
.cbt-link .btn-archive{
    font-size: min(4vw,18px);
    padding: min(4.5vw,1.3rem) min(5vw,1rem);
    letter-spacing: min(0.5vw,0.2rem);
}
.cbt-contact a:before{
	content:"";
    background: var(--main_color);
    mask-image: url(images/mail.svg);
    -webkit-mask-image: url(images/mail.svg);
	width: min(7.5vw,37px);
    height: auto;
    aspect-ratio: 4/3;
    display: block;
    margin-right: min(3vw,1.2rem);
}
.cbt-contact a:hover:before{
	background:url(images/mail.svg);
}
.cbt-tel a:before{
    content: "";
    background: var(--main_color);
    mask-image: url(images/tel.svg);
    -webkit-mask-image: url(images/tel.svg);
    width: min(7.5vw,22px);
    height: auto;
    aspect-ratio: 23/30;
    margin-right: min(3vw,1rem);
}
.cbt-tel a:hover:before{
	background:url(images/tel.svg);
}


/*フッター外部リンク*/
.sp:has(> .footer-link-box){
	width:100%;
}
.footer-link-box{
    margin: min(8vw,45px) auto 0;
    display: grid;
    grid-template-columns: repeat(auto-fill,minmax(min(45%,150px),1fr));
    gap: min(5vw,23px);
    width: min(100%,360px);
}
.flb-link:has(> .btn-archive){
    width: 100%;
    margin: 0;
}
.flb-link .btn-archive{
    justify-content: space-between;
    gap: min(0.5vw,0.3rem);
	padding: min(2.5vw,0.5rem) min(3.5vw,1rem);
    font-size: min(2.8vw,12.5px);
    line-height: 1;
    top: -3px;
    left: -3px;
    letter-spacing: min(0.15vw,0.1rem);
}
.flb-link .btn-archive:hover{
    top:0;
    left: 0;
}
.flb-link .btn-archive:after{
    content: "";
	background:var(--main_color);
	mask-image:url(images/link-icon.svg);
	-webkit-mask-image:url(images/link-icon.svg);
    width: min(3.5vw,15px);
    height: auto;
	aspect-ratio:1;
    display: block;
	position: relative;
    top: -2px;
}
.flb-link .btn-archive:hover:after{
	background:#fff;
	mask-image:url(images/link-icon.svg);
	-webkit-mask-image:url(images/link-icon.svg);
}
.logout-link{
	margin-top:min(5vw,23px);
    display: flex;
    align-items: center;
    justify-content: center;
	& a{
		text-decoration:underline;
		font-size:min(3.5vw,14px);
		display:block;
	}
}

/*サイドバー*/
.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;
    color: #fff;
}
.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;
}
.box-search input[type="text"] {
  width: 85%;
  padding: 7px 14px 6px;
  border-radius: 4px 0 0 4px;
}
.box-search button[type="submit"] {
  width: 15%;
}
.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;
}

/*サイドバー　理事会・諸会議・地区*/
.side-top-title{
    border-radius: 0.5rem;
    background: var(--main_color);
    line-height: 1.25rem;
    padding: min(9vw, 2.5rem) min(6vw, 2rem);
    color: #fff;
    font-size: min(4.5vw, 18px);
}
.box-side-menu{
	background:#ececec;
	margin-top: min(7vw, 2rem);
    padding: min(3vw, 0.7rem) min(6vw, 1.5rem);
    border-radius: 0.5rem;
	& li{
		&:not(:last-of-type){
			border-bottom: dotted 1px #333;
		}
		& a{
            display: block;
            padding: 0.5rem 0;
            line-height: 1.25rem;
		}
	}
}
.side-top-sub-title{
    border-radius: 0.5rem 0.5rem 0 0;
    background: var(--light-color);
    line-height: 1.25rem;
    padding: min(4vw, 1rem) min(6vw, 1.5rem);
    color: var(--main_color);
    font-size: min(4vw, 16px);
    margin-top: min(7vw, 2rem);
	& + .box-side-menu{
		border-radius:0 0 0.5rem 0.5rem;
		margin-top: 0;
	}
}

/*パンくずリスト*/
.breadcrumb {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  margin-bottom: 2em;
  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-button{
  margin:15px 0 32px;
}
.wp-block-column{
	position: relative;
}
.wp-block-column >*:first-child{
	margin-top: 0;
}
.wp-block-buttons{
	margin-top: 60px;
    position: absolute;
    bottom: 0;
    width: 100%;
}
.wp-block-button__link {
    width: 100%;
    max-width: 360px;
    position: absolute;
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
}


/******************************************
 * *WordPress cssカスタム
 * ****************************************/
.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;
}


/******************************************
 * *ヘッダー
* *****************************************/
.header {
    z-index: 6;
    background: #fff;
	position: fixed;
	left: 0;
	top: 0;
	transition: all 0.5s 0.5s;
}
body:not(.over) .header{
	border-bottom:1px solid #ccc;
}
.header.over{
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
}

.inner-header {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
	padding: 1rem 0;
}
.wrap-logo {
  display: flex;
    align-items: baseline;
}
.wrap-logo .logo {
    display: flex;
    align-items: flex-end;
    gap: min(4vw, 1rem);
	& span{
        line-height: 1;
		font-size: min(3vw, 14px);
        font-weight: bold;
		background: var(--main_color);
        color: #fff;
		padding: min(1.5vw, 0.35rem) min(1.5vw, 0.4rem);
		@media(901px > width > 640px){
			padding: 0.5rem 0.8rem;
		}
	}
}
.wrap-logo .logo:hover {
  opacity:1;
}
.wrap-logo .logo img {
  display: block;
  max-width: 100%;
  height: auto;
	max-height: 47px;
}
.head-header {
	margin-left: min(5vw,1.5rem);
	line-height: 1.25;
    margin-top: 5px;
	font-size:14px;
    display: block;
    position: relative;
    bottom: 0.2rem;
}
.head-header > *{
	font-weight: 500;
	line-height: 1;
}
.header-other-link{
    display: flex;
    gap: min(3.5vw,13px);
}
.header-other-link > li > a{
    display: block;
    background: var(--main_color);
    color: #fff;
    text-align: center;
    line-height: 1;
    border-radius: 2rem;
    padding: 0.6rem 0.5rem 0.7rem;
    font-size: min(3.5vw,14px);
}
.nav > .contents {
    width: 100%;
    padding: 0;
}

/*PCメニュー*/
.global-nav {
  display: flex;
  z-index: 2;
  width: 100%;
}
.global-nav > li {
  position: relative;
}
.global-nav > li:not(:last-of-type){
    border-right: 1px solid #333;
}
.global-nav > li > a {
  text-align: center;
  position:relative;
	font-weight:bold;
    padding: 0 min(1.5vw,1.5rem);
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    letter-spacing: 0.15rem;
    font-size: min(3.5vw,15px);
}
.global-nav > li:last-of-type > a{
	padding-right:0;
}
.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: min(11vw, 215px);
	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;
}
.global-nav > li:hover > ul:after{
  content:"";
  height:0;
  width:0;
  display:block;
  border-color: transparent transparent var(--sub_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 .sub-menu > li > a{
	background:var(--sub_color);
	color:#fff;
    line-height: 1.2;
	font-size: min(3.5vw, 15px);
}
.global-nav > li > ul.sub-menu > li a:hover{
	background: var(--light-color);
	color:var(--main_color);
	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;
  text-align: center;
}
.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;
}
.drawer-nav > li,.drawer-nav > li > ul > li,.drawer-nav > li > ul > li > ul >li {
  position: relative;
  border-bottom: 1px solid #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;
}
.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;
}
.drawer-nav a {
  display: block;
  padding: 0.5em 1em;
  position: relative;
}
.drawer-nav a:after {
    content: "";
    border-top: 3px solid #999;
    border-right: 3px solid #999;
    height: 9px;
    width: 9px;
    transform: rotate( 45deg );
}
.drawer-nav .btn-sub + a:after {
	content:none;
}
.drawer-nav .btn-sub {
    z-index: 2;
    position: absolute;
    top: 0;
    right: 0;
    width: 43px;
    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: 50%;
    right: 50%;
    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: 50%;
    right: 50%;
    transform: translate(75%,-50%) 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: 1rem;
    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;
  vertical-align: middle;
}
#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;
}
#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 span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) 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);
  transition: all 0.5s;
}


/******************************************
 * *トップ
* *****************************************/
.top-title{
    color: var(--main_color);
	line-height:min(8vw,2.75rem);
	font-size: min(7.5vw,40px);
    letter-spacing: min(0.2vw,0.2rem);
	text-align:left;
    font-family: "游ゴシック";
	margin-right: auto;
}
.index .pc-textCenter + *{
    margin-top: min(12vw,50px);
}
.title-btn{
	display:flex;
	align-items:center;
	gap:min(7vw,35px);
	margin-bottom: min(6vw,35px);
	& *:has(> .btn-archive){
        width: min(100%, 220px);
        margin: 0;
	}
	@media(width < 641px){
		flex-wrap: wrap;
		& *:has(> .btn-archive){
			width: min(100%, 90px);
		}
		& .btn-archive{
			top: -2px;
    		left: -2px;
			&:hover{
				top: 0;
    			left: 0;
			}
		}
	}
}
.post-btn-link a{
	font-size: min(3vw, 14px);
	padding: min(1.5vw, 0.45rem) min(5vw, 2rem);
	line-height: 1;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	background:var(--main_color);
	color:#fff;
	border:1px solid var(--main_color);
	border-radius:25rem;
	transition:0.3s;
	text-align:center;
	font-weight:bold;
	&:hover{
		background:#fff;
		color:var(--main_color);
		opacity:1;
	}
}
.list-post.info > .box-post-text:first-of-type .file-link-post{
    padding-top: 0;
}

/*メインイメージコンテンツ*/
.main-visual {
  position:relative;
}
.main-visual .noslide {
	width:100%;
	position:relative;
    width: min(100%, 1200px);
    margin: 0 auto;
}
.main-visual picture {
  display: block;
}
.main-visual .noslide img{
	width:100%;
	height: auto;
}

/*トップ協会スケジュール*/
.schedule-box{
	margin-top: min(8vw,50px);
	& iframe{
		width:100%;
		height:auto;
		aspect-ratio:10/7;
		@media(width < 901px){
			aspect-ratio:10/9;
		}
		@media(width < 641px){
			aspect-ratio:10/12;
		}
	}
}

/******************************************
 * *固定ページ
* *****************************************/
body:not(.index) .wrap {
	padding: 0 0 min(25vw,200px);
}
body:not(.index) .main-visual {
	display: flex;
	align-items: center;
	background:var(--main_color);
}
.head-page {
    width: min(100%,567px);
    z-index: 1;
	font-size: min(6.5vw, 32px);
    text-align: center;
    position: relative;
    margin: min(10vw, 55px) auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	color:#fff;
}
.head-page:before {
	display:none!important;
}
.wrap-head-common {
  margin-bottom: 30px;
}
.head-common {
  line-height: 1.5;
}
.page-section + .page-section{
    margin-top: min(25vw,120px);
}
.page-section_inner{
    margin-top: min(15vw,80px);
}
h2 + .page-section_inner{
	margin-top:0;
}
.page-box + .page-box{
    margin-top: min(10vw, 50px);
}
.main-column p + p {
    margin-top: min(3vw,1rem);
}

/*固定ページ見出しデザイン*/
/*メモ帳みたいなデザイン*/
.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)
}

/*左線と英語*/
.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(4.5vw, 20px);
    padding: min(3.3vw, 0.8rem) min(3.5vw, 0.9rem);
    line-height: 1.25;
    margin-bottom: min(8vw,40px);
}
.left-line-out + :is(p, ul) {
    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(4.5vw, 20px);
    padding-bottom: min(2.5vw,0.7rem);
    border-bottom: 3px solid var(--main_color);
    margin-bottom: min(4.5vw,23px);
}

/*その他タイトルcss*/
.left-line-en + div .left-line-in{
    margin-bottom: min(6vw, 30px);
}

/*リストデザイン*/
.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{
	& 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;
					left: 2px;
					width: min(1.9vw,8px);
					height: auto;
					aspect-ratio: 1;
					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*=" "])){
			& li:not([class]){
				padding-left: min(7vw,1.5rem);
				&::before{
					counter-increment: ol-count;
					content: counter(ol-count);
					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"] &: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%;
				}
			}
		}
	}
}
.check-list li{
    position: relative;
    padding-left: min(6vw,1.3rem);
    line-height: 1.55;
}
.check-list li:not(:last-of-type){
    margin-bottom: 0.4rem;	
}
.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);
}

/*番号（）リストデザイン*/
.brackets-list{
    counter-reset: ol-count;
}
.brackets-list li {
    position: relative;
    padding-left: min(8vw, 2.1rem);
    line-height: 1.55;
}
.brackets-list > li:not(:last-of-type) {
    margin-bottom: 0.6rem;
}
.brackets-list li:before {
    counter-increment: ol-count;
    content: "（" counter(ol-count) "）";
    font-weight: bold;
    line-height: 1;
    display: block;
    width: min(6.6vw, 28px);
    height: min(4.8vw, 20px);
    position: absolute;
    left: 0;
    top: 0.3rem;
}

/*******************************
 * テーブルデザイン
 * *****************************/
/*項目ベタ塗りテーブル*/
.back_color-table > table{
	border-top: 1px solid #B8B8B8;
}
.back_color-table td{
	border-bottom:1px solid #B8B8B8;
	padding: 1.2rem 1rem;
}
.back_color-table tr > *:nth-child(1){
	background:var(--main_color);
	color:#fff;
	font-weight:bold;
}

/*項目ライン入りテーブル*/
.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;
}

/*地区の投稿*/
.acf-form, .acf-form *{
	font-size: min(16px, 3.7vw);
}
#ui-datepicker-div{
	& select{
		width:100%;
	}
}
.acf-form-submit{
    position: relative;
    transition: 0.3s;
    width: min(100%, 350px);
    margin: min(9vw, 45px) auto 0;
	&:after{
		content: "";
		display: block;
		width: 100%;
		height: 98%;
		background: var(--main_color);
		position: absolute;
		bottom: 0;
		right: 0;
		z-index: -1;
	}
	& input{
		text-align: center;
		text-transform: uppercase;
		width: 100%;
		padding: min(3.5vw, 1.3rem) min(5vw, 1rem);
		z-index: 1;
		line-height: 1.5;
		background: #fff;
		border: 1px solid var(--main_color);
		transition: 0.3s;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		top: -5px;
		left: -5px;
		font-weight: bold;
		&:hover{
			background: var(--main_color);
			color: #fff;
			opacity: 1;
			top: 0;
			left: 0;
		}
	}
}

/*記事の非公開*/
.post-btn-list{
    display: flex;
    gap: min(2vw, 0.5rem);
    margin-top: min(5vw, 52px);
	& li{
		height: 100%;
		& a{
			background: #f0f0f0;
            font-weight: 500;
            line-height: 1;
            padding: 0.3rem 0.55rem;
            border: 1px solid #333;
            border-radius: 3px;
            font-size: min(3.5vw, 14px);
            display: block;
		}
	}
}

/*ログインページ*/
body:has( #wpmem_login){
	background:#efefef;
	align-items: center;
    justify-content: center;
    width: min(100%, 1040px);
    padding: 0 min(8vw, 40px);
    margin: 0 auto;
	& .footer, .pagetop{
		display:none;
	}
}
.login-title{
	font-size: min(6.5vw, 34px);
    text-align: center;
    font-weight: bold;
    margin-bottom: min(6vw, 35px);
    line-height: 1.95rem;
}
#wpmem_login{
	width: min(100%, 800px)!important;
	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
#wpmem_login_form{
	background:#fff;
	padding:min(8vw,2.5rem)!important;
	border-radius:0.3rem;
}
#wpmem_login fieldset{
	margin:0!important;
}
#wpmem_login legend, #wpmem_reg legend{
    font-size: min(5vw, 24px);
}
#wpmem_login, #wpmem_reg{
    font-size: min(16px, 3.7vw);
}
.button_div{
    display: flex;
    align-items: center;
    justify-content: end;
    gap: min(2.5vw, 1rem);
    margin-top: 1rem;
    padding: 0;
    flex-wrap: wrap;
	& label[for="rememberme"]{
		display: inline-block;
		vertical-align: middle;
		cursor: pointer;
		position: relative;
		line-height: 1;
		&::before{
			margin-right: 0.3em;
			content: "";
			width: 14px;
			height: 14px;
			display: inline-block;
			border: 1px solid #cccccc;
			position: relative;
			top: 2px;
		}
	}
	& input[type="checkbox"]:checked{
		& + label[for="rememberme"]::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);
		}
	}
	& input[type="submit"]{
        background: var(--main_color);
        border: 1px solid var(--main_color);
        color: #fff;
        border-radius: 25rem;
        padding: min(2vw, 0.5rem) min(6vw, 1.5rem);
        line-height: 1;
        font-size: min(15px, 3.2vw) !important;
        transition: 0.3s;
		&:hover{
			background:#fff;
			color:var(--main_color);
		}
	}
}
.grecaptcha-badge {
    bottom: min(20vw, 95px) !important;
    z-index: 2;
}

/* 会社概要 */
.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;
    position: relative;
    border-left: 1px solid var(--main_color);
}
.history table tr td:nth-of-type(2):before {
    content: "";
    height: 11px;
    width: 11px;
    border-radius: 50%;
    position: absolute;
    top: 8px;
    left: -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;
}

/*協会の紹介*/
.chairman-img p{
	display: block;
    text-align: center;
    font-weight: bold;
    margin-top: min(2.5vw, 0.8rem);
    font-size: min(4.5vw, 16px);
}
.chairman-img p span{
    display: block;
    text-align: center;
    font-size: min(3.2vw, 14px);
    line-height: min(4.5vw, 1.3rem);
    margin-bottom: 0.1rem;
}

/*事業内容*/
.machidukuri-img{
    margin-bottom: min(3.5vw, 1.5rem);
}
.inbu-col-img img{
	aspect-ratio:5/3;
	object-fit: cover;
	object-position:top;
}
.inbu-box_3 > *{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    margin-top: min(9vw, 40px);
}
.inbu-box{
	border:1px solid #ccc;
}
.inbu-box_h3{
	text-align: center;
    font-size: min(4.5vw, 20px);
    font-weight: bold;
    color: #fff;
    padding: min(2.5vw, 0.7rem);
}
#disaster-prevention-support .inbu-box_h3{
    background: #036eb8;
}
#humanitarian-aid .inbu-box_h3{
    background: #c30d23;
}
#reconstruction-assistance .inbu-box_h3{
    background: #22ac38;
}
.inbu-box_inner{
    padding: min(6vw, 1.5rem);
}
.inbu-box_h4{
    font-size: min(4.1vw, 18px);
    font-weight: bold;
    text-align: center;
    margin-bottom: 0.7rem;
}
.inbu-box-img{
	width:100%;
	margin-bottom: min(3.5vw, 1rem);
}
.inbu-box_inner li{
    font-size: min(3.5vw, 14px);
}

/*認定登記基準点整備事業*/
.ninfo-table > table th, .ninfo-table > table td,
.ninfo-table-sp > table th, .ninfo-table-sp > table td{
	vertical-align: middle;
	border:1px solid #B8B8B8;
    padding: 0.7rem 0.8rem;
	text-align:center;
}
.ninfo-table td a, .ninfo-table-sp td a{
	color:var(--main_color);
}
.ninfo-table-year{
	background:var(--main_color);
	color:#fff;
	font-weight:bold;
}
.ninfo-table tr:nth-child(1) > th{
    background: var(--sub_color);
    color: #fff;
	font-weight:bold;
}
.ninfo-table-list{
    background: var(--sub_color);
    color: #fff;
	font-weight:bold;
}
.ninfo-table-sp > table th{
    display: flex;
    position: relative;
    gap: 1rem;
    align-items: center;
    justify-content: center;
	font-weight:bold;
    border-bottom: none;
    border-top: none;
}
.ninfo-table-sp > table .ninfo-table-list{
	background:var(--sub_color);
	color:#fff;
}
.ninfo-table-sp > table .ninfo-table-sarea{
	background:#efefef;
}
.ninfo-table-sp > table .ninfo-table-sarea:has(+ .ninfo-table-slink){
    border-bottom: 1px solid #B8B8B8;
}
.ninfo-table-sp > table th:before{
	content: attr(txt);
    font-weight: bold;
    word-break: keep-all;
}
.ninfo-table-sp > table .ninfo-table-sarea:before{
	color:var(--sub_color);
}
.ninfo-table-sp > table td{
    display: flex;
    position: relative;
    gap: 1rem;
    align-items: center;
    justify-content: center;
}
.ninfo-table-sp > table .ninfo-table-slink{
    justify-content: start;
    border-top: none;
}
.ninfo-table-sp > table .ninfo-table-slink:before{
	content: attr(txt);
	display: block;
    font-weight: bold;
    word-break: keep-all;
    width: 20%;
	color:var(--sub_color);
}
.nts-link-box{
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    width: 75%;
}

/*Q&A（よくある質問）*/
.qa .main-column{
    counter-reset: qa-count;
}
.faq-section{
    counter-increment: qa-count;
}
.faq-section + .faq-section{
    margin-top: min(7vw,2.5rem);
}
.qa-top-title{
    position: relative;
    cursor: pointer;
    background: #f7f7f7;
    color: var(--main_color);
    font-weight: bold;
    line-height: 1.25;
    font-size: min(4.5vw, 22px);
    border-radius: 10px;
    padding: min(4.5vw, 1.5rem) min(12vw, 4.5rem) min(4.5vw, 1.5rem) min(9.5vw, 3rem);
}
.qa-top-title:before{
    content: counter(qa-count) ".";
    font-weight: bold;
    position: absolute;
    left: min(5vw, 1.7rem);
    top: min(4.5vw, 1.5rem);
}
.qa-top-title:after, .faq-inside-title:after{
	content:"";
	border-right: 2px solid var(--main_color);
    border-top: 2px solid var(--main_color);
    width: min(3.2vw, 16px);
    height: min(3.2vw, 16px);
    position: absolute;
    right: min(5vw, 2rem);
    top: min(6vw, 1.9rem);
    -webkit-transform: translateY(-50%) rotate(135deg);
    transform: translateY(-50%) rotate(135deg);
    transition: -webkit-transform .24s ease-out;
    transition: transform .24s ease-out;
    transition: transform .24s ease-out, -webkit-transform .24s ease-out;
}
.faq-inside-title:after{
	width: min(2.7vw, 12px);
    height: min(2.7vw, 12px);
    right: min(4vw, 1.5rem);
    top: min(5vw, 1.4rem);
}
.qa-top-title:hover:after, .faq-inside-title:hover:after{
    -webkit-transform: translateY(-10%) rotate(135deg);
    transform: translateY(-10%) rotate(135deg);
}
.qa-top-title.rot{
    border-radius: 10px 10px 0 0;
}
.qa-top-title.rot:after, .faq-inside-title.rot:after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    top: min(7.7vw, 2.4rem);
}
.faq-inside-title.rot:after{
    top: min(6.3vw, 1.8rem);
}
.qa-list-box, .answer-box{
	display:none;
}
.qa-list-box{
    background: #f7f7f7;
    border-radius: 0 0 10px 10px;
    padding: 0 min(5vw, 1.7rem) min(5.5vw, 1.7rem) min(5vw, 1.7rem);
}
.fqa-box + .fqa-box{
    margin-top: min(5vw,1.5rem);
}
.faq-inside-title{
    cursor: pointer;
    position: relative;
    font-weight: bold;
    line-height: 1.25;
    background: #fff;
    padding: min(3.5vw, 1rem) min(9vw, 3rem) min(3vw, 1rem) min(8.7vw, 2.6rem);
    border-radius: 10px;
    transition: 0.3s;
    font-size: min(4vw, 18px);
}
.faq-inside-title.rot{
    border-radius: 10px 10px 0 0;
    background: #e7f1e2;
}
.faq-inside-title:before{
	content:"Q.";
	color:var(--main_color);
    position: absolute;
    left: min(3vw, 1rem);
    top: min(3vw, 1rem);
}
.answer-box{
    background: #fff;
    padding: min(4.5vw, 1.3rem) min(5vw, 1.7rem) min(4.5vw, 1.3rem) min(9vw, 2.75rem);
    border-radius: 0 0 10px 10px;
    position: relative;
}
.answer-box:before{
    content: "A.";
    color: var(--main_color);
    font-weight: bold;
    font-size: min(4.2vw, 18px);
    position: absolute;
    left: min(3.3vw, 1.08rem);
    top: min(4.7vw, 1.5rem);
}
.answer-box p{
    position: relative;
    line-height: min(5.5vw, 1.45rem);
    font-size: min(3.5vw, 15px);
}
.qa-quote-box{
    background: #ececec;
    font-size: min(4.5vw, 20px);
    padding: min(4vw, 0.8rem) min(4.5vw, 1rem);
    margin-top: min(4vw, 0.6rem);
    margin-bottom: min(6vw, 0.5rem);
}
ol + .qa-quote-box, p + .qa-quote-box:has(+ .qa-quote-box){
	margin-top: min(4vw, 1.3rem);
}
.qa-quote-box:has(+ *){
	margin-bottom:min(6vw, 1.5rem);
}
.qa-quote-title{
    font-size: min(3.5vw, 15px);
    line-height: min(5.5vw, 1.45rem);
    font-weight: bold;
    margin-bottom: min(1vw, 0.5rem);
}
.answer-box .qa-quote-box p{
    line-height: min(5vw, 1.25rem);
    font-size: min(3.2vw, 13px);
}
.answer-box p + figure:has(> img){
    margin-top: min(3vw, 1rem);
}
.answer-list li {
    position: relative;
    font-size: min(3.5vw, 15px);
    padding-left: min(4vw, 1.05rem);
    line-height: 1.55;
}
.answer-list li strong, .answer-num li strong{
	font-size: min(3.7vw,16px);
    margin-bottom: 0.1rem;
    display: block;
}
.answer-list li strong + br, .answer-num li strong + br{
	display:none;
}
.answer-list > li:before {
    content: "";
    display: block;
    position: absolute;
    top: 7px;
    left: 2px;
    width: min(1.9vw, 8px);
    height: auto;
    aspect-ratio: 1;
    background: var(--main_color);
    border-radius: 15px;
}
.answer-list > li:not(:last-of-type), .answer-num > li:has(> strong):not(:last-of-type){
    margin-bottom: 0.4rem;
}
.answer-num{
    counter-reset: ol-count;
}
p + .answer-num{
    margin-top: min(1.5vw, 0.5rem);
}
.answer-num > li{
    position: relative;
    font-size: min(3.5vw, 15px);
    line-height: min(5.5vw, 1.45rem);
    padding-left: min(5.5vw, 1.5rem);
    line-height: 1.55;
}
.answer-num > li:before {
    counter-increment: ol-count;
    content: counter(ol-count) ".";
    font-weight: bold;
    position: absolute;
    left: 3px;
    top: 0px;
    color: var(--main_color);
}
.answer-num > li:not(:last-of-type){
    margin-bottom: 0.1rem;
}
.answer-num .brackets-list{
    margin-top: 0.15rem;
}
.answer-num .brackets-list li {
    padding-left: min(7vw, 1.9rem);
}
.answer-num .brackets-list > li:not(:last-of-type) {
    margin-bottom: 0.3rem;
}
.answer-num .brackets-list li:before {
    top: min(1vw, 0.3rem);
}
.answer-table{
    margin-top: 0.3rem;
    margin-bottom: 1rem;
}
.answer-table > table th, .answer-table > table td{
    vertical-align: middle;
    border: 1px solid #B8B8B8;
    padding: 0.5rem;
    text-align: center;
    line-height: min(5.5vw, 1.45rem);
    font-size: min(3.5vw, 15px);
}
.answer-table thead tr > th {
    background: var(--sub_color);
    color: #fff;
    font-weight: bold;
}
.answer-table tbody tr > th{
    background: var(--main_color);
    color: #fff;
    font-weight: bold;
}

/*※（コメ）リスト*/
* + .kome-list{
	margin-top:1rem;
}
.kome-list li{
    position: relative;
    padding-left: min(5vw,1.3rem);
    line-height: min(5.5vw, 1.45rem);
    font-size: min(3.5vw, 15px);
}
.kome-list li:not(:last-of-type){
    margin-bottom: 0.4rem;	
}
.kome-list li:before{
    content: "※";
    position: absolute;
    top: 1px;
    left: 1px;
    display: block;
}

/*情報公開*/
.pdf-list li{
	position: relative;
    padding-left: min(7.5vw, 30px);
    line-height: 1.45;
}
.pdf-list li:not(:last-of-type){
    margin-bottom: 0.8rem;
}
.pdf-list li:before{
    content: "";
    display: block;
    width: min(5vw, 20px);
    height: auto;
    aspect-ratio: 5 / 6;
    position: absolute;
    top: -2px;
    left: 0;
    background: url(images/pdf-icon.svg) center / contain no-repeat;
}
.pdf-list li a{
	color:var(--sub_color);
}
ul + .link-list{
    margin-top: min(4.3vw,20px);
}
.link-list li{
    position: relative;
    padding-left: min(7.4vw, 30px);
    line-height: 1.45;
}
.link-list li:not(:last-of-type){
    margin-bottom: 0.8rem;
}
.link-list li:before{
	content: "";
	background:#7ba663;
	mask: url(images/arrow.svg) center / contain no-repeat;
	-webkit-mask:url(images/arrow.svg) center / contain no-repeat;
    display: block;
    position: absolute;
    top: 0.5px;
    left: 0;
    width: min(5vw, 20px);
    height: auto;
    aspect-ratio: 1;
}
.link-list li a{
	color:var(--sub_color);
}

/* お問い合わせ */
.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;
}

/******************************************
 * *投稿関連
* *****************************************/
.single-post .head-common {
	font-size: min(5vw,28px);
	border-bottom:1px solid #999999;
	padding-bottom: 13px;
	line-height: 1.35;
}
.single-post .category-post{
	width:min(30vw, 115px);
}

.sidebar .btn-archive {
    padding: min(3.5vw,0.75rem);
}

.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;
    z-index: 5;
    position: fixed;
    align-items: center;
    justify-content: center;
    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;	
}
.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: 1em;
    color: var(--main_color);
    text-align: center;
    font-weight: bold;
    border: 1px solid var(--main_color);
    filter: drop-shadow();
    font-size: 14px;
}
.pageokuri li {
    width: 25%;
    margin-left: 0px;
}
.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 {
    -webkit-transform: rotate(225deg);
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 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 {
  -webkit-transform: rotate(45deg);
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 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);
}

.main-column ul.list-caution{
  margin:0.5em 0 0;
}

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

ul.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;
}

/*
* 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;
}

.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;
}

.single-post {
margin-bottom: 50px;
}

.single-header {
  margin-bottom: 1em;
  display:flex;
  justify-content:space-between;
}

.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 > *:not(:last-child) {
  margin-bottom: 1em;
}

.single-contents strong{
background: #ffffab;
    padding: 3px 5px;
}

.single-contents p > a{
	text-decoration:underline;
	color:#1A0DAB;
}

.main-column > *:nth-child(1){
  margin-top:0;
}

.single-contents p {
  line-height: 2;
}

.single-contents img {
  max-width: 100%;
  height: auto;
}

.single-contents iframe {
  max-width: 100%;
}

.single-contents table {
  width: 100%;
}

.single-contents table th,
.single-contents table td {
  padding: 0.5em 1em;
  line-height: 1.5;
}

.single-contents strong {
  font-weight: bold;
}

.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 > a{
    padding: 0.8rem 0;
    display: block;
    font-weight: bold;
    font-size: min(3.7vw, 15px);
	&:not([href]){
		pointer-events:none;
	}
}

.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;
    margin-bottom: 10px;
    padding-left: 1rem;
}

.main-column .sitemap > li > ul > li{
    margin-top: 10px;
    line-height: 2;
}

.main-column .sitemap > li > ul > li > a{
    display: inline-block;
    font-weight: bold;
}

.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 .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);
}

/*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;
}

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

/*アーカイブ変更*/
.posting-group{
	& .left-line-out{
        margin-bottom: 0.5rem;
        display: flex;
        flex-wrap: wrap;
        gap: min(2.5vw, 0.8rem) min(3vw, 1rem);
	}
	& .list-post .box-post-text:first-of-type{
		border-top:none;
	}
	& *:has(> .btn-archive){
        width: min(100%, 220px);
        margin-top: min(7vw, 32px);
	}
	& .btn-archive{
		font-size: min(3.5vw, 14px);
        padding: min(3vw, 0.9rem) min(4vw, 0.9rem);
        line-height: 1;
    	font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	}
}
.post-input-btn{
	background: #fff;
	font-weight: 500;
	line-height: 1;
	padding: 0.3rem min(3vw,1rem);
	border: 1px solid var(--main_color);
    font-size: min(3.2vw, 14px);
	display: block;
	margin-left:auto;
	&:hover{
		opacity:1;
		background:var(--main_color);
		color:#fff;
	}
}
.box-post-text{
	transition:0.5s;
}
.post-hidden{
	opacity: 0;
    height: 0;
    margin: 0;
	pointer-events:none;
	border-bottom:none!important;
}

/*データリンクアーカイブ*/
.box-post-text .file-link-post > a:has(+ .post-btn-list){
	width:calc(100% - (min(2vw, 15px) + 50px));
	@media(width < 641px){
		width: min(84%, 485px);
	}
}
.file-link-post:has(> a + .post-btn-list){
    display: flex;
    align-items: center;
    position: relative;
    gap: min(2vw, 15px);
    flex-wrap: wrap;
	& .post-btn-list{
		margin:0 0 0 auto;
		& a{
			padding: min(1vw, 0.3rem) min(1.7vw, 0.55rem);
			font-size: min(3.2vw, 14px);
		}
	}
}
.yosiki-text{
    display: inline-block;
    text-align: center;
    height: auto;
    white-space: nowrap;
    margin: 0;
    font-size: min(3vw, 13px);
    line-height: 1;
    padding: min(1.4vw, 0.45rem) min(1.5vw, 0.65rem);
	background:#666;
	color:#fff;
	width:min(42vw,180px);
}

/*公嘱ニュース*/
:is(.top-info, .top-kosyoku){
	& .posting-group{
		& > .flexCenter{
			margin-bottom:min(8vw, 45px);
		}
	}
}
.wrap-post-img{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(45%, 180px), 1fr));
    gap: min(8vw, 45px) min(5vw, 30px);
	position: relative;
	&:has(> .post-hidden){
    	padding-bottom: min(2vw, 3rem);
	}
	& *:has(> .btn-archive){
		margin: 0;
		position: absolute;
		translate: -50% 0%;
		bottom: 0;
		left: 50%;
	}
	& .post-btn-list{
		margin-top: min(0.5vw, 8px);
		justify-content: end;
	}
}
.box-post-img{
    transition: 0.5s;
    & img {
        width: 100%;
        border: 1px solid #ddd;
        aspect-ratio: 121 / 171;
        object-fit: contain;
    }
	& .img-title{
        margin-top: min(2.5vw, 0.8rem);
        line-height: min(6vw, 1.55em);
        transition: 0.5s;
	}
	& a{
		display:block;
		&:hover{
			& .img-title{
				color:var(--main_color);
			}
		}
	}
}

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


@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;	
	}
}


/* @media screen and (min-width: 1601px) { */
@media screen and (min-width: 1716px) {
.nav-drawer{
    width: 100%;
	display: flex;
    flex-wrap: wrap;
	align-items: end;
    padding: min(2vw, 1rem) min(2vw, 1.7rem);
}
.inner-header{
	padding:0;
    margin-right: auto;
}
.wrap-logo .logo img {
    max-height: 56px;
}
.nav{
	color:#666;
    padding-top: 1.5rem;
}
.nav > .contents {
    display: flex;
    align-items: center;
    margin: 0;
}
#nav-content{
	position:relative;	
}
#nav-open{
display: none;
}
  .btn-close {
    display: none;
  }
  .drawer-nav {
    display: none;
  }
.header-other-link{
    gap: min(5vw,10px);
    position: absolute;
    top: -1rem;
    right: 0;
}
.header-other-link > li > a{
    border-radius: 0 0 0 0.5rem;
    padding: 0.5rem 1.3rem 0.6rem;
    font-size: min(2.5vw,13px);
}
}


@media screen and (max-width:1715px){
/*ヘッダー*/
.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;
    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%);
  }
.header-other-link{
	flex-direction: column;
    margin: 20px 40px 0;	
}
}


@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: 901px) and (max-width:1240px) {
  .wrap-2column .main-column {
    width:calc(100% - 340px);
  }
}


@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: 901px) {
  select {
    width: 410px;
  }
  textarea {
    height: 210px;
	display:block;
	border: none;
    border-bottom: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
  }	
  .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(23%, 230px);
  }

/*追従*/	
.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%);
}
	
/*フッターお問い合わせ*/	
.cbt-tel:has(> .btn-archive):after{
	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);
}
.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 #333;
}	
	
/*フッターお問い合わせ*/
.contact-box-form:before{
    width: 2px;
    height: 100%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);	
}
	
/*協会の紹介*/
.chairman-box{
	overflow: hidden;
}
.chairman-img{
    float: right;
    clear: both;
    width: min(100%, 200px);
    margin: 1.5rem 0 0 1.8rem;
}
}


@media screen and (max-width: 900px) {
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;
  }

/*サイドバー*/
  .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;
}
.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 #ccc;
}
.simple-footer-nav li:nth-of-type(odd){
    border-right: 1px solid #ccc;
}
.simple-footer-nav li:nth-last-of-type(2){
    border-bottom: 1px solid #ccc;
}
.simple-footer-nav li a{
	border-right:none;	
	width: 100%;
	padding: min(3vw,15px);
    justify-content: center;
}
	
/*フッター　ワンカラム*/
.footer-one{
	padding-bottom:0;	
}
.footer-one .contents{
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}
	
/*フッターお問い合わせ*/
.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;
}
	
/*追従*/	
.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%);
}
	
/*トップ*/
.main-visual .noslide img{
    aspect-ratio: 5/3;
    object-fit: cover;	
}
.top-intro:after{
    width: min(92%,450px);
}
	
/*協会の紹介*/
.chairman-space{
	display:none;	
}
.chairman-img{
    margin-bottom: min(2.5vw, 20px);
}
.chairman-img img{
    display: block;
    width: min(60%, 250px);
    margin: 0 auto;
}
}


@media screen and (min-width: 641px) and (max-width:900px){
.wrap-logo .logo img{
    max-height: 38px;
}
#nav-open{
    top: 18px;	
}

  .wrap-1column .box-post-archive a > div:nth-child(1) {
    width: 240px;
    margin-right: 40px;
  }

  .wrap-1column .box-post-archive a > div:nth-child(2) {
    width: calc(100% - 280px);
  }
	
	.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: 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;	
	}
}
/*ブルースカイス入れ込みのみ用ここまで*/
/* ////////////////////////////////////////
PCのみ
//////////////////////////////////////// */

/* ////////////////////////////////////////
PCのみ
//////////////////////////////////////// */
@media screen and (min-width: 641px), print {
body:has( #wpadminbar) .header{
    top: 32px;
}
.head-header{
	display:none;	
}
	
  /* 会社概要　テーブル
	*************************** */
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){
textarea {
    height: 60vw;
    display:block;
}	
    
.header-tel{
    padding: min(4vw,1rem) min(3vw,1rem) min(4vw,1rem) min(13vw,3.3rem);	
}
.header-tel:before {
    width: min(7vw,33px);
    left: min(4.2vw,0.9rem);
}	
.htel{
    font-size: min(7.5vw,35px);	
}
.htime-holi {
    font-size: min(2.7vw,12px);
    margin-top: 0.3rem;
}	
    
.textCenter{
    text-align: unset;	
}	

.spFullWidth {
    width: 100%;
    height: auto;
}
.wrap-main {
    width: 100%;
    padding: 10vw 5vw;
}
.inner-main h1 {
    font-size: 6vw;
}
    
    .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;
}

/*ヘッダー*/
.inner-header {
    height: 75px;
    padding: 18px 0 5px;
}
.wrap-logo {
    margin-left: 0;
}
.wrap-logo .logo {
	width: min(95vw, 305px);
    margin-left: 10px;
	flex-wrap: wrap;
	gap: min(2vw, 1rem);
	& img{
		max-height: 25px;
	}
}
.head-header {
    position: absolute;
    top: 0;
    width: 100%;
    margin: 0;
    line-height: 15px;
	height:16px;
}
.head-header > * {
    color: #fff;
    font-size: 8px;
    text-align: center;
    line-height: 1.75;
    background: var(--main_color);
}

.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%;
}

.index .main-visual {
    width: 100%;
    margin-bottom:0;
}
    
.wrap-slider .slider {
    height: 75vw;
}
.wrap-slider .slider img {
    height: 75vw;
}
.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;
}
	
/*投稿記事移動*/
.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;
}
.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;
}
#nav-open {
    top: 25px;
    right: 10px;
}
.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;
}
    
.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%;		
    }
    
    .mobile-tel-header a{
    letter-spacing: -0.02em;
    }
	
.main-column .contact-tell{
	line-height: 1.5;
}

.main-column .contact-tell a {
    margin-top: 3vw;
    display: inline-block;
}
	
/*追従*/	
.fbtn-link:before{
    transform: translate(-173%,-50%);
}
	
/*メインイメージ*/
.main-visual .noslide img{
    aspect-ratio: 6/7;
}
	
/*****************************
 * モバイルトップ
 * ***************************/
.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;
    }
/*会社概要*/
	
/*認定登記基準点整備事業*/
.ninfo-table-sp > table{
	border-top:1px solid #B8B8B8;
}
.ninfo-table-sp > table .ninfo-table-list{
    background: var(--sub_color);
    border-bottom: 1px solid #fff;
}
.ninfo-table-sp > table .ninfo-table-sarea:has(+ .ninfo-table-slink){
    border-bottom: 1px solid #B8B8B8;
}
	
/*Q&A（よくある質問）*/
.faq-section {
    position: relative;
    transform: translateX(-50%);
    left: 50%;
    width: 100vw;
}
.qa-top-title, .qa-top-title.rot, .qa-list-box{
	border-radius:0;
}
.answer-table > table thead{
	display:none;
}
.answer-table > table th, .answer-table > table td{
	display:block;	
}
.answer-table > table td{
    display: flex;
    position: relative;
    gap: 1rem;
    border-top: none;
}
.answer-table > table td:before {
    content: attr(txt);
    display: block;
    font-weight: bold;
    word-break: keep-all;
    width: 20%;
    color: var(--sub_color);
}
	
/*お問い合わせ*/	
  .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;
  }
/*お問い合わせ*/	
}
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
