/*
Theme Name: odtheme
Theme URI: 
Description: This is ODworks theme.
Author: ODworks
Version: 240329
*/






/** ===========================================================================================
 *
 *  リセット 〜 デフォルトセットアップ
 *
 *  =========================================================================================== */

/*  ↓↓↓  reset.css に記載
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, main, nav, section {
	display: block;
}

body {
}
input, textarea {
	margin: 0;
	padding: 0;
}
ul, ol {
    list-style: none;
}
table {
    border-collapse: collapse; 
    border-spacing: 0;
}
caption, th, td {
    text-align: left;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
a:focus {
	outline: none;
}
a img {
	border: 0;
}


/* iOSでのデフォルトスタイルをリセット *
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


/* --- リセット end --- *

*/







/** ===========================================================================================
 *
 *  デフォルトセットアップ
 *
 *  =========================================================================================== */

/* --- 変数設定 ---*/
:root {
	--vw: 1vw;
	--vw50: calc( var(--vw) * 50 );
	--vw100: calc( var(--vw) * 100 );
	--header-height: 70px;
	--cont-w: 1200px;
	--cont-w-lg: 1600px;
	/* --sidespace: calc(100vw * 0.08); */
	--sidespace: calc( var(--vw100) * 0.08 );
	--color01: #998866;
	--color01-2: #ccc3b2;
	--color01-3: #ebe7e0;
	--color01-4: #f5f3f0;
    --color02: #ffcc00;
	--color02-2: #ffe580;
	--color02-3: #fff5cc;
	--color02-4: #fffae5;
    --color03: #334477;
	--color03-2: #99a2bb;
	--color03-3: #d6dae4;
	--color03-4: #ebecf1;
    --color04: #007788;
	--color04-2: #80bbc3;
	--color04-3: #cce4e7;
	--color04-4: #e5f1f3;
    --color05: #ccaa66;
	--color05-2: #e5d4b2;
	--color05-3: #f5eee0;
	--color05-4: #faf6f0;
    --color06: #eef3f6;
    --color-link: #3399cc;
    --color-link-hover: #99cce5;
	--color-text: #333333;
    --color-red: #ff0004;
	--color-lightgray: #f6f6f6;
    --font-family-gothic: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    --font-family-gothic02: "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    --font-family-gothic03: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    /* --font-family-mincho: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; */
	--font-family-mincho: "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", "Times New Roman", serif;
}




*,
*::before,
*::after {
	box-sizing: border-box;
}


html {
	font-size: 62.5%;  /*1rem=10px 標準フォントサイズ16px*/
    /* font-size: 70.3125%; */  /*1rem=11.25px 標準フォントサイズ18px*/
    /* overflow-y: scroll; */
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}

/* --- Typography ---*/
body,
button,
input,
select,
textarea {
	color: var(--color-text, #333333);
    /*font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
	/*font-family: "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;  */
	font-family: var(--font-family-gothic03, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif);
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.7;
}
body {
	overflow-wrap: anywhere; /* 収まらない場合に折り返す */
	/* word-break: normal; */ /* 単語の分割はデフォルトに依存 */
	line-break: strict; /* 禁則処理を厳格に適用 */
}
h1, h2, h3, h4, h5, h6 {
	/* clear: both; */
	font-weight: 700;
}
p {
	margin-bottom: 1.6em;
}
b,
strong {
	font-weight: 700;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
small {
	font-size: 75%;
}
big {
	font-size: 125%;
}


/* --- Elements --- */
hr {
	background-color: #eaeaea;
	background-color: rgba(51, 51, 51, 0.2);
	border: 0;
	height: 1px;
	margin-bottom: 1.6em;
}
ul, ol {
	list-style: none;
	margin: 0 0 1.6em 0;
}
ol {
	list-style-type: decimal;
	padding-left: 2em;
}
li > ul,
li > ol {
	margin-bottom: 0;
}
dl {
	margin-bottom: 1.6em;
}
dt {
	font-weight: bold;
}
dd {
	margin-bottom: 1.6em;
}
table,
th,
td {
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.3);
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.6em;
	/*table-layout: fixed; /* テーブルのセル幅、割合の設定 */
	width: 100%;
}
caption,
th,
td {
	font-weight: normal;
	text-align: left;
}
th {
	border-width: 0 1px 1px 0;
}
td {
	border-width: 0 1px 1px 0;
}
th, td {
	padding: 0.4em;
}

a {
	color: var(--color-link);
	text-decoration: none;
}
a:hover,
a:focus {
	color: var(--color-link-hover);
}
a:hover img {
	opacity: 0.75;
}
a:focus {
	outline: none;
}

img {
	max-width: 100%;
	/* display: block; */
	height: auto;
	border: 0;
}
img[src$=".svg"] {
	width: 100%;
	height: auto;
}
figure {
	margin-bottom: 1em;
}
figcaption {
	font-size: 0.9375em;
	line-height: 1.4;
}

input, textarea {
	margin: 0;
	padding: 0;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}


button,
input,
select,
textarea {
	background-color: transparent;
	border-style: inset;
	border-width: 1px;
	border-radius: 2px;
}
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
	outline-width: 1px;
}





/* --- その他追加CSS --- */

.wp-caption {
	max-width: 100%;
}

.alignleft {
	display: inline;
	float: left;
}
.alignright {
	display: inline;
	float: right;
}
.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}
blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
	margin: 0.4em 1.6em 1.6em 0;
}
blockquote.alignright,
.wp-caption.alignright,
img.alignright {
	margin: 0.4em 0 1.6em 1.6em;
}
blockquote.aligncenter,
.wp-caption.aligncenter {
	clear: both;
	margin-top: 0.4em;
	margin-bottom: 1.6em;
}
.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
	margin-bottom: 1.2em;
}



/*blockquote　引用ボックス*/
blockquote {
    position: relative;
    box-sizing: border-box;
	display: inline-block;
    font-style: italic;
    color: #464646;
	padding: 20px 15px 20px 50px;
	border-left: 2px solid #cccccc;
    background: #efefef;
    font-weight: bold;
	margin-bottom: 20px;
}
blockquote::before{
    display: inline-block;
    position: absolute;
    top: 11px;
    left: 11px;
    content: "\f10d";
    font-family: "Font Awesome 5 Free";
    color: #cccccc;
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}
blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}
blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}


.clear:before,
.clear:after,
.site:before,
.site:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
/* .site-content:before, */
/* .site-content:after, */
.nav-links:before,
.nav-links:after,
.comment-navigation:before,
.comment-navigation:after,
.social-navigation ul:before,
.social-navigation ul:after,
.textwidget:before,
.textwidget:after {
	content: '';
	display: table;
}
.clear:after,
.site:after,
.entry-content:after,
.comment-content:after,
/* .site-content:after, */
.nav-links:after,
.comment-navigation:after,
.social-navigation ul:after,
.textwidget:after {
	clear: both;
}



/*テーブルの中のテーブル*/
table table,
table table th,
table table td {
	border: none;
}
table table {
	margin: 0;
	/* table-layout: fixed; /* テーブルのセル幅、割合の設定 */
	/* width: 100%; */
}
table table th,
table table td {
	font-weight: normal;
	text-align: left;
	padding: 0;
}




/** ===========================================================================================
 *
 *  helperスタイル
 *
 *  =========================================================================================== */

.textL {text-align: left!important;}
.textR {text-align: right!important;}
.textC {text-align: center!important;}
.mT0 {margin-top: 0!important;} .mT5 {margin-top: 5px!important;} .mT10 {margin-top: 10px!important;} .mT15 {margin-top: 15px!important;} .mT20 {margin-top: 20px!important;} .mT25 {margin-top: 25px!important;} .mT30 {margin-top: 30px!important;} .mT40 {margin-top: 40px!important;} .mT50 {margin-top: 50px!important;} .mT60 {margin-top: 60px!important;} .mT80 {margin-top: 80px!important;} .mT100 {margin-top: 100px!important;} .mT120 {margin-top: 120px!important;}
.mB0 {margin-bottom: 0!important;} .mB5 {margin-bottom: 5px!important;} .mB10 {margin-bottom: 10px!important;} .mB15 {margin-bottom: 15px!important;} .mB20 {margin-bottom: 20px!important;} .mB25 {margin-bottom: 25px!important;} .mB30 {margin-bottom: 30px!important;} .mB40 {margin-bottom: 40px!important;} .mB50 {margin-bottom: 50px!important;} .mB60 {margin-bottom: 60px!important;} .mB80 {margin-bottom: 80px!important;} .mB100 {margin-bottom: 100px!important;} .mB120 {margin-bottom: 120px!important;}
.mL0 {margin-left: 0!important;} .mL5 {margin-left: 5px!important;} .mL10 {margin-left: 10px!important;} .mL15 {margin-left: 15px!important;} .mL20 {margin-left: 20px!important;} .mL25 {margin-left: 25px!important;} .mL30 {margin-left: 30px!important;} .mL40 {margin-left: 40px!important;} .mL50 {margin-left: 50px!important;}
.mR0 {margin-right: 0!important;} .mR5 {margin-right: 5px!important;} .mR10 {margin-right: 10px!important;} .mR15 {margin-right: 15px!important;} .mR20 {margin-right: 20px!important;} .mR25 {margin-right: 25px!important;} .mR30 {margin-right: 30px!important;} .mR40 {margin-right: 40px!important;} .mR50 {margin-right: 50px!important;}
.pT0 {padding-top: 0!important;} .pT5 {padding-top: 5px!important;} .pT10 {padding-top: 10px!important;} .pT15 {padding-top: 15px!important;} .pT20 {padding-top: 20px!important;} .pT25 {padding-top: 25px!important;} .pT30 {padding-top: 30px!important;} .pT40 {padding-top: 40px!important;} .pT50 {padding-top: 50px!important;} .pT60 {padding-top: 60px!important;} .pT80 {padding-top: 80px!important;} .pT100 {padding-top: 100px!important;} .pT120 {padding-top: 120px!important;}
.pB0 {padding-bottom: 0!important;} .pB5 {padding-bottom: 5px!important;} .pB10 {padding-bottom: 10px!important;} .pB15 {padding-bottom: 15px!important;} .pB20 {padding-bottom: 20px!important;} .pB25 {padding-bottom: 25px!important;} .pB30 {padding-bottom: 30px!important;} .pB40 {padding-bottom: 40px!important;} .pB50 {padding-bottom: 50px!important;} .pB60 {padding-bottom: 60px!important;} .pB80 {padding-bottom: 80px!important;} .pB100 {padding-bottom: 100px!important;} .pB120 {padding-bottom: 120px!important;}
.pL0 {padding-left: 0!important;} .pL5 {padding-left: 5px!important;} .pL10 {padding-left: 10px!important;} .pL15 {padding-left: 15px!important;} .pL20 {padding-left: 20px!important;} .pL25 {padding-left: 25px!important;} .pL30 {padding-left: 30px!important;} .pL40 {padding-left: 40px!important;} .pL50 {padding-left: 50px!important;}
.pR0 {padding-right: 0!important;} .pR5 {padding-right: 5px!important;} .pR10 {padding-right: 10px!important;} .pR15 {padding-right: 15px!important;} .pR20 {padding-right: 20px!important;} .pR25 {padding-right: 25px!important;} .pR30 {padding-right: 30px!important;} .pR40 {padding-right: 40px!important;} .pR50 {padding-right: 50px!important;}

.mT05em {margin-top: 0.5em!important;} .mT1em {margin-top: 1em!important;} .mT15em {margin-top: 1.5em!important;} .mT2em {margin-top: 2em!important;} .mT3em {margin-top: 3em!important;}
.mB05em {margin-bottom: 0.5em!important;} .mB1em {margin-bottom: 1em!important;} .mB15em {margin-bottom: 1.5em!important;} .mB2em {margin-bottom: 2em!important;} .mB3em {margin-bottom: 3em!important;}

.lineH10 {line-height: 1!important;} .lineH11 {line-height: 1.1!important;} .lineH12 {line-height: 1.2!important;} .lineH13 {line-height: 1.3!important;} .lineH14 {line-height: 1.4!important;} .lineH15 {line-height: 1.5!important;} .lineH16 {line-height: 1.6!important;} .lineH17 {line-height: 1.7!important;} .lineH20 {line-height: 2.0!important;}

.fs50 {font-size: 0.5em!important;}
.fs60 {font-size: 0.6em!important;}
.fs75 {font-size: 0.75em!important;}
.fs80 {font-size: 0.8em!important;}
.fs90 {font-size: 0.9em!important;}
.fs110 {font-size: 1.1em!important;}
.fs120 {font-size: 1.2em!important;}
.fs130 {font-size: 1.3em!important;}
.fs150 {font-size: 1.5em!important;}
.fs200 {font-size: 2em!important;}
.fs250 {font-size: 2.5em!important;}
.fs300 {font-size: 3em!important;}

.fw-bold {font-weight: bold!important;}

.mincho {font-family: var(--font-family-mincho);}

.color01 {color: var(--color01)!important;}
.color02 {color: var(--color02)!important;}
.color03 {color: var(--color03)!important;}
.color04 {color: var(--color04)!important;}
.color05 {color: var(--color05)!important;}
.color06 {color: var(--color06)!important;}
.text-color {color: var(--color-text)!important;}
.red {color:var(--color-red)!important;}
.white {color: #ffffff!important;}
.black {color: #000000!important;}








/** ===========================================================================================
 *
 *  レイアウト
 *
 *  =========================================================================================== */
.site-inner {
	margin: 0 auto;
	position: relative;
	min-height: 100vh;
}
.site-header {
	position: sticky;
	top: 0;
	z-index: 200;
	/* スクロールするとヘッダー固定　は下を有効にし、fanctions.js を修正
	position: relative;
	z-index: 1000;
	*/
}
.site-footer {
	position: sticky;
	top: 100%;
	z-index: 100;
}


/**
 *  ウィジェット付きレイアウト　デフォルト
 */
.site-content {
	width: calc(100% - var(--sidespace) * 2);
	max-width: var(--cont-w);
	/*
	width: calc(var(--cont-w) + var(--sidespace) * 2);
	max-width: 100%;
	*/
	margin: 0 auto;
	display: flex;
	/* flex-wrap: wrap; */
	align-items: flex-start;
	/* justify-content: space-between; */
	/*
	padding-left: var(--sidespace);
	padding-right: var(--sidespace);
	*/
}
.content-area {
	width: 100%;
	/* padding-bottom: 60px; */
	margin-bottom: 60px;
}
.widget-area {
	flex: 0 0 25%;
	margin-left: 5%;
	/* padding-bottom: 60px; */
	margin-bottom: 60px;
}


/**
 *  ウィジェットなし固定ページ　全幅・サイト幅１カラム
 */
.site-content-one-column {
	/*
	width: 100%;
	max-width: 100%;
    padding-left: 0;
	padding-right: 0;
	*/
	/*
	align-items: center;
	flex-direction: column;
	*/
	flex-wrap: wrap;
	justify-content: center;
}
.site-content-one-column .content-area {
	width: 100%;
}
.site-content-one-column .widget-area {
	flex: 0 1 100%;
	margin-left: 0;
}
.site-content-one-column .entry-header,
.site-content-one-column .entry-content,
.site-content-one-column .entry-footer {
	/*
	margin-left: auto;
	margin-right: auto;
	*/
}
.site-content-one-column .entry-content,
.site-content-one-column .entry-footer {
	/*
	width: calc(100% - var(--sidespace) * 2);
	max-width: var(--cont-w);
	*/
}


.site-content-full-width,
.page-template-full-width .site-content {
	/*
	width: 100%;
	max-width: 100%;
	*/
	/*
    padding-left: 0;
	padding-right: 0;
	*/
	/*
	align-items: center;
	flex-direction: column;
	*/
	flex-wrap: wrap;
	justify-content: center;
}
.site-content-full-width .content-area,
.page-template-full-width .content-area {
	/*
	width: calc(100% + var(--sidespace) * 2);
	margin-left: calc(-1 * var(--sidespace));
	margin-right: calc(-1 * var(--sidespace));
	*/
	width: var(--vw100);
	margin-left: calc(50% - var(--vw50));
	margin-right: calc(50% - var(--vw50));
	margin-bottom: 0;
}
.site-content-full-width .entry-footer,
.page-template-full-width .entry-footer {
    padding-left: var(--sidespace);
    padding-right: var(--sidespace);
	/*
	width: calc(100% - var(--sidespace) * 2);
	max-width: var(--cont-w);
	*/
	/*
	width: calc(var(--cont-w) + var(--sidespace) * 2);
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	*/
}
.site-content-full-width .widget-area,
.page-template-full-width .widget-area {
	flex: 0 1 100%;
	margin-left: 0;
}




/** ===========================================================================================
 *
 *  ナビゲーション
 *
 *  =========================================================================================== */
 
.site-header-menu {
}
.main-navigation {
	/*
	max-width: var(--cont-w);
	margin: 0 auto;
	*/
}
.main-navigation ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

/*
.main-navigation ul ul {
	display: none;
	margin-left: 0.8em;
}
.main-navigation ul .toggled-on {
	display: block;
}
*/
ul.primary-menu  {
    /* letter-spacing: -0.4em; */
	display: flex;
}
ul.primary-menu li {
    /* letter-spacing: normal; */
	position: relative;
}
ul.primary-menu li a {
	display: block;
	position: relative;
	line-height: 1.4;
}
ul.primary-menu > li {
	/* display: inline-block; */
    /* vertical-align: top; */
	margin-left: 1.5em;
}
ul.primary-menu > li:first-child {
	margin-left: 0;
}
ul.primary-menu > li > a {
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #333333;
	padding: 6px 5px 2px;
}
ul.primary-menu > li > a::after {
	display: block;
	content: '';
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color01);
	transform-origin: right top;
	transform: scale(0, 1);
}
ul.primary-menu > li:hover > a,
ul.primary-menu > li > a:hover,
ul.primary-menu > li:focus > a,
ul.primary-menu > li > a:focus {
	/*
	background: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee 100%);
	background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee 100%);
	background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);
	*/
}
ul.primary-menu > li:hover > a::after,
ul.primary-menu > li > a:hover::after,
ul.primary-menu > li:focus > a::after,
ul.primary-menu > li > a:focus::after {
	/*
	display: block;
	content: '';
	width: 100%;
	height: 3px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color01);
	*/
	transform-origin: left top;
	transform: scale(1, 1);
	transition: transform .3s;
}
ul.primary-menu > .current-menu-item > a,
ul.primary-menu > .current-menu-ancestor > a {
	/*
	font-weight: 700;
	background: -webkit-linear-gradient(top, #ffffff 0%, #eeeeee 100%);
	background: -moz-linear-gradient(top, #ffffff 0%, #eeeeee 100%);
	background: linear-gradient(to bottom, #ffffff 0%, #eeeeee 100%);
	*/
}
ul.primary-menu > .current-menu-item > a::after,
ul.primary-menu > .current-menu-ancestor > a::after,
ul.primary-menu > .current-page-ancestor > a::after {
	/*
	display: block;
	content: '';
	width: 100%;
	height: 3px;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color01);
	*/
	transform: scale(1, 1);
}

ul.primary-menu ul {
	
}
ul.primary-menu ul li {
	border-top: 1px solid #fff;
}
ul.primary-menu ul li a {
	color: #fff;
	margin: 0;
	padding: 10px 5px;
	background-color: var(--color-link);
}
ul.primary-menu ul li a:hover,
ul.primary-menu ul li a:focus {
	background-color: var(--color-link-hover);
}

ul.primary-menu > li > .sub-menu {
	border-top: 10px solid transparent;
	padding: 0;
	position: absolute;
	/* left: -2px; */
	z-index: 9999;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	top: 100%; /* flexの時 */
	/*background-color: var(--color-link); */
}
ul.primary-menu > li:last-child > .sub-menu,
ul.primary-menu > li:nth-last-child(2) > .sub-menu {
	right: 0;
}
ul.primary-menu > li:hover > .sub-menu {
	clip: inherit;
	overflow: inherit;
	height: inherit;
	width: 250px;
}
ul.primary-menu > li > .sub-menu > li:first-child {
	border-top: none;
}
ul.primary-menu .sub-menu ul {
	/*padding-left: 15px; */
}
ul.primary-menu .sub-menu ul a {
	padding-left: 15px;
}

ul.primary-menu .current_page_item > a,
ul.primary-menu .current_page_ancestor > a,
ul.primary-menu .current-menu-item > a,
ul.primary-menu .current-menu-ancestor > a {
	color: var(--color01);
}
ul.primary-menu .sub-menu .current_page_item > a,
ul.primary-menu .sub-menu .current-menu-item > a {
	background-color: var(--color-link-hover);
	font-weight: bold;
}

ul.primary-menu .menu-item-description {
	color: #999999;
	font-size: 10px;
	font-size: 0.625em;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: 0;
	display: none;
 }

.menu-toggle {
	display: none;
}


ul.primary-menu > li.sp {
	display: none;
}


/*
.dropdown-toggle {
	background-color: transparent;
	border: 0;
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	content: '';
	height: 42px;
	padding: 0;
	position: absolute;
	text-transform: lowercase;
	top: 3px;
	right: 0;
	width: 42px;
}
.dropdown-toggle:after {
	color: #333;
	content: "\f431";
	font-size: 24px;
	line-height: 42px;
	position: relative;
	top: 0;
	left: 1px;
	width: 42px;
}
.dropdown-toggle:hover,
.dropdown-toggle:focus {
	background-color: #eaeaea;
	background-color: rgba(51, 51, 51, 0.1);
}
.dropdown-toggle:focus {
	outline: 1px solid #c1c1c1;
	outline: 1px solid rgba(51, 51, 51, 0.3);
}
.dropdown-toggle.toggle-on:after {
	content: "\f432";
}
*/




/* --- ポストナビゲーション --- */
.post-navigation {
	max-width: var(--cont-w);
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 60px;
}
.post-navigation .nav-links {
	background-color: #fff;
	border-top: 1px solid rgba(51, 51, 51, 0.1);
	border-bottom: 1px solid rgba(51, 51, 51, 0.1);
}
.post-navigation a {
	display: block;
	padding: 3.8461% 0.5em;
}
.post-navigation span {
	display: block;
}
.post-navigation .meta-nav {
	font-size: 12px;
	font-size: 1.2rem;
	letter-spacing: 0.04em;
	line-height: 1.4;
	position: relative;
	text-transform: uppercase;
	z-index: 2;
}
.post-navigation .post-title {
	line-height: 1.4;
	position: relative;
	z-index: 2;
	margin-top: 0.3em;
	font-size: 0.875em;
}
.post-navigation .nav-next,
.post-navigation .nav-previous {
	background-position: center;
	background-size: cover;
	position: relative;
	width: 50%;
}
.post-navigation .nav-previous {
	float: left;
	border-right: 1px solid rgba(51, 51, 51, 0.1);
}
.post-navigation .nav-next {
	float: right;
	text-align: right;
}
.post-navigation a:before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.post-navigation a:hover:before,
.post-navigation a:focus:before {
	opacity: 0.5;
}



/* --- ページネーション --- */
.pagination {
	max-width: var(--cont-w);
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 60px;
}
.pagination .nav-links {
	background-color: #fff;
	border-top: 1px solid rgba(51, 51, 51, 0.1);
	border-bottom: 1px solid rgba(51, 51, 51, 0.1);
	min-height: 3.2em;
	position: relative;
	text-align: center;
}
.pagination .page-numbers {
	line-height: 3.2em;
	padding: 0.5em 0.8em;
	background-color: #eeeeee;
	border-radius: 5px;
}
.pagination .page-numbers.current {
	text-transform: uppercase;
    background-color: #888888;
    color: #ffffff;
}
.pagination .current {
	/*display: inline-block; */
	font-weight: 700;
}
.pagination .current .screen-reader-text {
	/* position: static !important; */
}
.pagination .prev,
.pagination .next {
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0.3);
	background-color: var(--color-link);
	color: #ffffff;
	display: inline-block;
	width: 48px;
	height: 100%;
	overflow: hidden;
	padding: 0;
	position: absolute;
	padding-left: 48px;
	border-radius: 0;
}
.pagination .prev {
	left: 0;
}
.pagination .next {
	right: 0;
}
.pagination .prev:before,
.pagination .next:before {
	font-size: 21px;
	line-height: 1;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	color: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.pagination .prev:before {
	content: "\f104";
}
.pagination .next:before {
	content: "\f105";
}
.pagination .prev:hover,
.pagination .prev:focus,
.pagination .next:hover,
.pagination .next:focus {
	background-color: var(--color-link-hover);
}





/** ===========================================================================================
 *
 * Accessibility
 *
 *  =========================================================================================== */
/* Text meant only for screen readers */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}



/** ===========================================================================================
 *
 *  ヘッダー
 *
 *  =========================================================================================== */
 
.site-header {
	line-height: 1.4;
	background-color: #ffffff;
	/* margin-bottom: 30px; */
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.05);
}
.site-header-main {
}
.site-description-wrap {
	background-color: #eeeeee;
}
.site-description {
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.4;
	margin: 0 auto;
	padding: 0.3em 0;
}
.head-line {
}
.head-line-inner {
	display: flex;
	padding-top: 10px;
	padding-bottom: 10px;
	align-items: flex-end;
	/* justify-content: space-between; */
	height: var(--header-height);
}
.site-branding {
	flex: 0 0 auto;
	/* margin-right: 40px; */
}
.site-title {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	margin: 0;
	max-width: 308px;
}
.site-title a {
	display: block;
}
.site-title img {
	display: block;
    width: 100%;
}
.head-sub {
	flex: 1 1 auto;
	display: flex;
	justify-content: flex-end;
	/* margin-left: auto; */
	align-items: flex-end;
	flex-direction: column;
}
.head-info {
	display: flex;
	align-items: flex-end;
}
.head-info > p,
.head-info > div {
	margin-bottom: 5px;
}
.h-tel {
	font-size: 1.3125em;
}
.h-tel span {
	font-size: 1.2em;
	font-family: 'Oswald', sans-serif;
	line-height: 1.2;
	vertical-align: bottom;
}
.h-open {
	font-size: 0.8em;
}
.h-mail {
	/*
	width: 40px;
	height: 40px;
	*/
	font-size: 0.875em;
	margin-left: 1.5em;
}
.h-mail a {
	/*
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 50%;
	font-size: 20px;
	*/
}
/*
.h-mail a::before {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	content: '\f0e0';
	line-height: 1;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	color: #ffffff;	
	background-color: var(--color-link);
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}
.h-mail a:hover::before {
	background-color: var(--color-link-hover);
}
*/


.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	z-index: 100;
	box-shadow: 0 3px 5px rgba(0,0,0,0.2);
	background-color: #ffffff;
}



.top-image {
	/* background-color: #eaeaea; */
	padding: 0px 0;
    margin-bottom: 30px;
}
.top-main-visual {
    max-width: 100vw;
    margin: 0 auto;
	text-align: center;
	overflow: hidden;
}




/** ===========================================================================================
 *
 *  コンテンツ
 *
 *  =========================================================================================== */
 
 /**
 * 12.1 Posts and pages
 */
/*
.hentry {
	position: relative;
}
.hentry + .hentry {
	border-top: 1px solid rgba(51, 51, 51, 0.1);
	padding-top: 30px;
}
.post-thumbnail {
	max-width: 150px;
	border: 0;
	display: block;
	margin-bottom: 1em;
	float: left;
}
.hentry + .hentry .post-thumbnail {
	margin-top: 24px;
}
.post-thumbnail img {
	display: block;
}
.post-thumbnail + .entry-wrap {
	margin-left: 170px;
}

.blog .entry-wrap h2,
.blog .entry-wrap h3,
.blog .entry-wrap h4,
.blog .entry-wrap h5,
.blog .entry-wrap h6,
.archive .entry-wrap h2,
.archive .entry-wrap h3,
.archive .entry-wrap h4,
.archive .entry-wrap h5,
.archive .entry-wrap h6,
.search .entry-wrap h2,
.search .entry-wrap h3,
.search .entry-wrap h4,
.search .entry-wrap h5,
.search .entry-wrap h6 {
	clear: none;
}
*/


.hentry {
	/* position: relative; */
}
.post-thumbnail {
	
}
.post-thumbnail img {
	display: block;
}



.entry-header {
}

.entry-content,
.entry-summary {
	padding: 0 0 0%;
}
.entry-content > :last-child,
.entry-summary > :last-child {
	margin-bottom: 0;
}

.entry-content h1,
.entry-summary h1,
.page-content h1 {
	font-size: 32px;
	font-size: 2em;
	line-height: 1.4;
	margin-top: 1.5em;
	margin-bottom: 1em;
}
.entry-content h2,
.entry-summary h2,
.page-content h2 {
	font-size: 28px;
	font-size: 1.75em;
	line-height: 1.4;
	margin-top: 2em;
	margin-bottom: 1em;
}
.entry-content h3,
.entry-summary h3,
.page-content h3 {
	font-size: 24px;
	font-size: 1.5em;
	line-height: 1.4;
	margin-top: 2em;
	margin-bottom: 1em;
}
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6,
.page-content h4,
.page-content h5,
.page-content h6 {
    font-size: 20px;
    font-size: 1.25em;
	line-height: 1.4;
	margin-top: 1em;
	margin-bottom: 0.5em;
}
.entry-content > h1:first-child,
.entry-content > h2:first-child,
.entry-content > h3:first-child,
.entry-content > h4:first-child,
.entry-content > h5:first-child,
.entry-content > h6:first-child,
.entry-summary > h1:first-child,
.entry-summary > h2:first-child,
.entry-summary > h3:first-child,
.entry-summary > h4:first-child,
.entry-summary > h5:first-child,
.entry-summary > h6:first-child,
.page-content > h1:first-child,
.page-content > h2:first-child,
.page-content > h3:first-child,
.page-content > h4:first-child,
.page-content > h5:first-child,
.page-content > h6:first-child {
	margin-top: 0;
}

.entry-content a,
.entry-summary a,
.page-content a {
	/* border-bottom: 1px solid var(--color-link); */
}
.entry-content a:hover,
.entry-content a:focus,
.entry-summary a:hover,
.entry-summary a:focus,
.page-content a:hover,
.page-content a:focus {
	/* border-bottom: 0; */
}
.entry-content a img,
.entry-summary a img,
.page-content a img {
    /* display: block; */
}

.entry-content .more-link,
.entry-summary .more-link {
	font-size: 0.75em;
	white-space: nowrap;
	line-height: 1;
	float: right;
	padding: 5px 15px 5px 5px;
	margin-top: 5px;
	position: relative;
	background-color: #eeeeee;
	/* border: 1px solid var(--color-link); */
}
.entry-content .more-link::after,
.entry-summary .more-link::after {
	content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 1px var(--color-link);
    border-right: solid 1px var(--color-link);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 6px;
    margin-top: -3px;
}
.entry-content .more-link:hover::after,
.entry-summary .more-link:hover::after {
	border-top: solid 1px var(--color-link-hover);
    border-right: solid 1px var(--color-link-hover);
}

.entry-footer {
	font-size: 12px;
    font-size: 0.75em;
	line-height: 1.4;
	/* padding: 20px 0 30px; */
}
.entry-footer a {
}
.entry-footer a:hover,
.entry-footer a:focus {
}
/*
.posted-on:before,
.byline:before,
.cat-links:before,
.tags-links:before,
.entry-format:before,
.edit-link:before,
.full-size-link:before {
	margin-right: 2px;
	position: relative;
}
*/
.posted-on,
.byline,
.cat-links,
.tags-links,
.entry-format,
.full-size-link,
.term-links,
.modified,
.post-author {
	margin-right: 1em;
	display: inline-block;
	margin-bottom: 0.5em;
}
.modified,
.post-author {
    display: none;
}



/* アーカイブページのページタイトルなど */
.page-header {
	padding: 1em 10px 0.9em;
	border-top: 2px solid var(--color01);
	border-bottom: 2px solid var(--color01);
	margin: 0 auto 2em;
}
.page-title {
	font-size: 1.5em;
	line-height: 1.4;
	margin: 0;
}

.entry-title { /* アーカイブページの個別記事タイトル・投稿記事ページタイトル・固定ページタイトルなど　基本デザイン */
	font-size: 21px;
	font-size: 1.3125em;
	line-height: 1.4;
	margin-top: 1em;
	margin-bottom: 0.5em;
}

/* 投稿シングルページのタイトルなど */
.single .entry-header {
	padding: 1em 10px 0.9em;
	border-top: 2px solid var(--color01);
	border-bottom: 2px solid var(--color01);
	margin: 0 auto 2em;
}
.single .entry-title { 
	font-size: 1.5em;
	line-height: 1.4;
	margin: 0;
}

/* 固定ページのタイトル */
body.page .entry-header {
	padding: 1em 10px 0.9em;
	border-top: 2px solid var(--color01);
	border-bottom: 2px solid var(--color01);
	margin: 0 auto 2em;
	background-color: var(--color01-4);
}
body.page .entry-title {
	font-size: 2.5em;
	line-height: 1.4;
	margin: 0;
	font-family: var(--font-family-mincho);
}
.page-template-one-column .entry-header:not(.custom-title),
.page-template-full-width .entry-header:not(.custom-title),
.site-content-one-column .entry-header:not(.custom-title),
.site-content-full-width .entry-header:not(.custom-title) { /* ページテンプレート（全幅・1カラム）でカスタムタイトルがない場合 */
	padding: 3em var(--sidespace) 3em;
	border-top: 2px solid var(--color01);
	border-bottom: 2px solid var(--color01);
	background-color: var(--color01-4);
	width: var(--vw100);
	margin-left: calc(50% - var(--vw50));
	margin-right: calc(50% - var(--vw50));
	margin-bottom: 0;
}
.page-template-one-column .entry-header:not(.custom-title) .entry-title,
.page-template-full-width .entry-header:not(.custom-title) .entry-title,
.site-content-one-column .entry-header:not(.custom-title) .entry-title,
.site-content-full-width .entry-header:not(.custom-title) .entry-title {
	font-size: 3em;
	line-height: 1.4;
	font-family: var(--font-family-mincho);
	max-width: var(--cont-w);
	margin: 0 auto;
}







/**
 *  アーカイブページ
 */
.archive-container {
	margin-bottom: 100px;
}

/* 一覧ページレイアウト　デフォルト */
.archive-display-default .hentry {
	display: flex;
	margin-top: 30px;
}
.archive-display-default .post-thumbnail {
	margin-bottom: 1em;
	flex: 0 0 150px;
	margin-right: 20px;
}
.archive-display-default .entry-wrap {
	width: 100%;
}
.archive-display-default .entry-title {
	margin-top: 0;
}
.archive-display-default .entry-footer {
	margin: 20px 0 30px;
}

/* 一覧ページレイアウト　グリッド */

/* 一覧ページレイアウト　カード */




/* new出力 */
.icon-new {
	font-size: 0.8em;
	font-weight: bold;
	color: #ff0000;
}


/* カテゴリー「information」一覧ページレイアウト　デフォルト
 * ※アーカイブの.hentryに.info-articleをプラス　シングルページにはつけていない
 *
 * ショートコード od-infolist も同様の出力 */

/* デフォルト .archive-display-line .info-article */
.archive-display-line .info-article {
	margin-top: 0px;
	display: flex;
    line-height: 1.4;
    padding: 10px 0 10px;
}
.info-article .posted-day {
	margin-right: 1.5em;
	white-space: nowrap;
}
/*
.info-article .info-main {
	display: flex;
}
*/
.info-article .article-cat-list {
	margin: 1px 0.5em 0 0;
}
.info-article .cat-name {
	white-space: nowrap;
	margin-bottom: 5px;
}
.info-article .cat-name:last-child {
	margin-bottom: 0;
}
.info-article .cat-name a {
	display: block;
	font-size: 0.7em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	color: #ffffff;
    background-color: #aaaaaa;
    padding: 2px 5px;
}
.info-article .article-title {
	font-size: 1em;
	margin: 0;
}
.info-article .article-title a {
	color: var(--color-text);
}
.info-article .article-title a:hover {
	color: var(--color-link-hover);
}




/* ショートコード od-postlist 出力時のレイアウトのパターン
 * 記事には.entry-carticle をつける */
/* デフォルト .archive-display-default .entry-article */
.archive-display-default .entry-article {
	display: flex;
    margin-top: 30px;
	flex-wrap: wrap;
	align-content: flex-start;
	position: relative;
	padding-left: 170px;
	min-height: 150px;
}
.archive-display-default .entry-article .thumbnail {
	width: 150px;
    margin-right: 20px;
    margin-bottom: 0.5em;
    position: absolute;
    top: 0;
    left: 0;
}
.archive-display-default .entry-article .thumbnail img {
	display: block;
	width: 100%;
}
.archive-display-default .entry-article .posted-day {
	margin-right: 1em;
}
.archive-display-default .entry-article .article-cat-list {
	letter-spacing: -0.4em;
}
.archive-display-default .entry-article .cat-name {
	letter-spacing: normal;
	display: inline-block;
	margin-bottom: 5px;
	margin-right: 5px;
}
.archive-display-default .entry-article .cat-name:last-child {
	margin-right: 0;
}
.archive-display-default .entry-article .cat-name a {
	display: block;
	font-size: 0.7em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	color: #ffffff;
	background-color: #aaaaaa;
	padding: 2px 5px;
}
.archive-display-default .entry-article .article-title {
	font-size: 1.3125em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	width: 100%;
}
.archive-display-default .entry-article .article-content {
	width: 100%;
}


/* アーカイブレイアウト　グリッド */
.archive-display-grid .entry-article {}
.archive-display-grid .entry-article .posted-day {
}
.archive-display-grid .entry-article .thumbnail {
	margin-bottom: 0.5em;
}
.archive-display-grid .entry-article .thumbnail img {
	display: block;
	width: 100%;
}
.archive-display-grid .entry-article .article-cat-list {
	letter-spacing: -0.4em;
}
.archive-display-grid .entry-article .cat-name {
	letter-spacing: normal;
	display: inline-block;
	margin-bottom: 5px;
	margin-right: 5px;
}
.archive-display-grid .entry-article .cat-name:last-child {
	margin-right: 0;
}
.archive-display-grid .entry-article .cat-name a {
	display: block;
	font-size: 0.7em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	color: #ffffff;
	background-color: #aaaaaa;
	padding: 2px 5px;
}
.archive-display-grid .entry-article .article-title {
	font-size: 1.125em;
	line-height: 1.4;
	color: var(--color-text);
	margin: 0 0 0.5em;
}
.archive-display-grid .entry-article .article-content {
	font-size: 0.9375em;
	line-height: 1.4;
}

/* アーカイブレイアウト　カード */
.archive-display-card .entry-article {
	padding: 15px;
	box-shadow: 1px 1px 6px 2px rgba(0, 0, 0, 0.1);
}
.archive-display-card .entry-article .posted-day {
}
.archive-display-card .entry-article .thumbnail {
	margin-bottom: 0.5em;
}
.archive-display-card .entry-article .thumbnail img {
	display: block;
	width: 100%;
}
.archive-display-card .entry-article .article-cat-list {
	letter-spacing: -0.4em;
}
.archive-display-card .entry-article .cat-name {
	letter-spacing: normal;
	display: inline-block;
	margin-bottom: 5px;
	margin-right: 5px;
}
.archive-display-card .entry-article .cat-name:last-child {
	margin-right: 0;
}
.archive-display-card .entry-article .cat-name a {
	display: block;
	font-size: 0.7em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	color: #ffffff;
	background-color: #aaaaaa;
	padding: 2px 5px;
}
.archive-display-card .entry-article .article-title {
	font-size: 1.125em;
	line-height: 1.4;
	color: var(--color-text);
	margin: 0 0 0.5em;
}
.archive-display-card .entry-article .article-content {
	font-size: 0.9375em;
	line-height: 1.4;
}

/* アーカイブレイアウト　ライン（リスト） */
.archive-display-line .entry-article {
	display: flex;
    line-height: 1.4;
    padding: 10px 0 10px;
}
.archive-display-line .entry-article .thumbnail,
.archive-display-line .entry-article .article-content {
	display: none;
}
.archive-display-line .entry-article .posted-day {
	margin-right: 1.5em;
	white-space: nowrap;
}
.archive-display-line .entry-article .article-cat-list {
	margin: 1px 0.5em 0 0;
}
.archive-display-line .entry-article .cat-name {
	white-space: nowrap;
	margin-bottom: 5px;
}
.archive-display-line .entry-article .cat-name:last-child {
	margin-bottom: 0;
}
.archive-display-line .entry-article .cat-name a {
	display: block;
	font-size: 0.7em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	color: #ffffff;
    background-color: #aaaaaa;
    padding: 2px 5px;
}
.archive-display-line .entry-article .article-title {
	font-size: 1em;
	margin: 0;
}
.archive-display-line .entry-article .article-title a {
	color: var(--color-text);
}
.archive-display-line .entry-article .article-title a:hover {
	color: var(--color-link-hover);
}
.archive-display-line .icon-new {
	
}






/**
 *  シングルページ
 */
body.single .entry-content {
	padding-bottom: 100px;
}
body.single .entry-footer {
	margin: 20px 0 30px;
}






/** ===========================================================================================
 *
 *  メディア
 *
 *  =========================================================================================== */

/**
 *  Galleries
 */

.gallery-item {
	display: inline-block;
	text-align: left;
	vertical-align: top;
	margin: 0 0 1.5em;
	padding: 0 1em 0 0;
	width: 50%;
}
/* Gallery Columns */
.gallery-columns-1 .gallery-item {max-width: 100%;}
.gallery-columns-2 .gallery-item {max-width: 50%;}
.gallery-columns-3 .gallery-item {max-width: 33.33%;}
.gallery-columns-4 .gallery-item {max-width: 25%;}
.gallery-columns-5 .gallery-item {max-width: 20%;}
.gallery-columns-6 .gallery-item {max-width: 16.66%;}
.gallery-columns-7 .gallery-item {max-width: 14.28%;}
.gallery-columns-8 .gallery-item {max-width: 12.5%;}
.gallery-columns-9 .gallery-item {max-width: 11.11%;}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus {
	-webkit-box-shadow: none;
	box-shadow: none;
	background: none;
	display: inline-block;
	max-width: 100%;
}
.gallery-item a img {
	display: block;
	-webkit-transition: -webkit-filter 0.2s ease-in;
	transition: -webkit-filter 0.2s ease-in;
	transition: filter 0.2s ease-in;
	transition: filter 0.2s ease-in, -webkit-filter 0.2s ease-in;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	margin: 0 auto;
}
.gallery-item a:hover img,
.gallery-item a:focus img {
	-webkit-filter: opacity(60%);
	filter: opacity(60%);
}
.gallery-caption {
	display: block;
	text-align: center;
	padding: 0 0 0 0;
	margin-bottom: 0;
	font-size: 0.875em;
}


/* ギャラリースタイル　.gallery-style01 　画像を全て同じ大きさにする　*/
.wp-block-gallery.has-nested-images.gallery-style01 figure.wp-block-image {
    flex-grow: 0;
}
/* ギャラリースタイル　.gallery-style02 　画像が半端な数の場合、後ろの画像ではなく最初の画像を大きくする　*/
.wp-block-gallery.has-nested-images.gallery-style02 {
    flex-flow: row wrap-reverse;
}







/** ===========================================================================================
 *
 *  ウィジェット
 *
 *  =========================================================================================== */

.widget-area {
}
.widget {
	margin-bottom: 30px;
}
/* 従来のウィジェットタイトル */
h2.widget-title {
	font-size: 1.125em;
	line-height: 1.4;
	margin-bottom: 10px;
	border-bottom: 2px solid var(--color01);
	padding: 5px 0 3px;
}
/* ブロックのウィジェットタイトル */
.widget h2.wp-block-heading {
	font-size: 1.125em;
	line-height: 1.4;
	background-color: var(--color01-4);
	padding: 5px 10px;
	margin-bottom: 0.8em;
}

/* 三角矢印・区切り線付きリスト　　クラス：side-list01 */
.side-list01 {
	border-top: 1px solid #ddd;
	margin-bottom: 0;
}
.side-list01 li {
	border-bottom: 1px solid #ddd;
}
.side-list01 li a {
	display: block;
	line-height: 1.4;
	padding: 15px 5px 15px 15px;
	background: url(images/arrow01.png) no-repeat left 3px top 19px;
}
.side-list01 li a:hover {
}


/* サイドバーのバナー */
.side-bnr img {
	display: block;
	margin: 0 auto;
	padding: 0;
}
.side-bnr {
	text-align: center;
	letter-spacing: -.4em; /* 文字間を詰めて隙間をなくす */
}
.side-bnr li {
	display: inline-block;
	letter-spacing: normal; /* 文字間を元に戻す */
	vertical-align: top;
	margin-bottom: 5px;
}


.wp-block-latest-posts__list li {
	display: flex;
    flex-direction: column-reverse;
	margin-bottom: 10px;
}





 
 
/** ===========================================================================================
 *
 *  フッター
 *
 *  =========================================================================================== */

.site-footer {
}

.footer-appeal {
	padding: 30px 0;
	background-color: var(--color-lightgray);
	text-align: center;
}

.footer-main {
	font-size: 0.875em;
	background-color: var(--color02);
	padding: 30px 0 20px;
}
.footer-main-inner {
	display: flex;
	flex-direction: row-reverse;
}
.footer-main-inner .footer-box1 {
	flex: 0 1 70%;
	padding-right: 5%;
	margin-right: 5%;
	border-right: 1px solid #666666;
}
.footer-main-inner .footer-box2 {
	flex: 0 0 25%;
}

.footer-box2 h4 {
	text-align: center;
	margin-top: 2em;
	margin-bottom: 1em;
}
.related-link-list li {
	line-height: 1.4;
	text-align: center;
	margin-bottom: 0.5em;
}
.related-link-list li a {
	display: block;
	padding: 8px 10px;
	background-color: #ffffff;
	color: var(--color-text);
}
.related-link-list li a:hover {
	color: var(--color-link);
}


.f-navi-wrap {
	display: flex;
}
.f-navi-wrap .f-navi1 {
	margin-right: 2em;
}

/* --- フッターナビゲーション --- */
.footer-menu {
	line-height: 1.4;
}
.footer-menu li {
	position: relative;
    padding: 0 0 0 1em;
    text-decoration: none;
	margin-top: 5px;
}
.footer-menu li::before {
    position: absolute;
    top: 0.5em;
    left: 6px;
    content: '';
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 4px solid #666666;
}
.footer-menu li a {
	color: var(--color-text);
}
.footer-menu li a:hover {
	color: var(--color-link);
}
/*
.footer-menu {
	display: flex;
	flex-wrap: wrap;
	column-gap: calc(8% / 3);
	row-gap: 10px;
	line-height: 1.4;
}
.footer-menu > li {
	width: 23%;
}
.footer-menu li {
	position: relative;
    padding: 0 0 0 1em;
    text-decoration: none;
	margin-top: 5px;
}
.footer-menu li::before {
    position: absolute;
    top: 0.5em;
    left: 6px;
    content: '';
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 4px solid #666666;
}
*/
/* インラインブロックの場合
.footer-navigation {
	text-align: left;
}
.footer-navigation li,
.footer-navigation ul {
	display: inline-block;
}
.footer-navigation li {
	margin-right: 20px;
}
.footer-navigation li ul {
	margin-left: 20px;
}
.footer-navigation li:last-child {
	margin-right: 0;
}
.footer-menu li {
	position: relative;
    display: inline-block;
    padding: 0 0 0 1em;
    vertical-align: middle;
    text-decoration: none;
}
.footer-menu li::before {
    position: absolute;
    top: 0.6em;
    left: 6px;
    content: '';
    vertical-align: middle;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 4px solid #aaaaaa;
}
*/


.siteowner {
	
}
.siteowner p {
	margin-bottom: 0px;
	line-height: 1.5;
}
.f-site-logo {
}

.f-site-logo img {
	width: 210px;
	display: block;
}
.siteowner .siteowner-name {
	font-size: 1.4em;
	font-weight: bold;
	font-family: var(--font-family-mincho);
	margin-top: 10px;
	margin-bottom: 5px;
}
.siteowner p.tel .tel-num {
	font-size: 1.3em;
	font-weight: inherit;
}
.sns-list {
	letter-spacing: -0.4em;
	margin-bottom: 0.5em;
	margin-top: 1em;
}
.sns-list li {
	letter-spacing: normal;
	width: 30px;
	height: 30px;
	position: relative;
	display: inline-block;
	margin-right: 5px;
}
.sns-list li:last-child {
	margin-right: 0;
}
.sns-list li a {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	border-radius: 50%;
	overflow: hidden;
}
.sns-list li a i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 20px;
	color: var(--color-text);
}
.sns-list li a:hover i {
	color: var(--color-link-hover);
}

.copyright {
	font-size: 12px;
	font-size: 1.2rem;
	background-color: var(--color02);
	text-align: center;
	padding: 5px 10px 3px;
}

.site-footer a {
}
.site-footer a:hover,
.site-footer a:focus {
	color: var(--color-link-hover);
}

 





/** ===========================================================================================
 *
 *  パーツ追加
 *  ブロックエディタースタイル追加　　editor.jsでブロックエディタに適用
 *  style-editor.cssにも記述すること。
 *
 *  =========================================================================================== */

/* ----- 見出しスタイル ----- */
.midashi01,
.entry-content .midashi01,
.is-style-midashi01,
.entry-content .is-style-midashi01 {
	
}

/* .type-post .entry-content h2, */
.midashi02,
.entry-content .midashi02,
.is-style-midashi02,
.entry-content .is-style-midashi02 {
    font-size: 2.25em;
    text-align: center;
	color: var(--color01);
}

.midashi02b,
.entry-content .midashi02b,
.is-style-midashi02b,
.entry-content .is-style-midashi02b {
    font-size: 1.75em;
    font-weight: bold;
    color: #ffffff;
    background-color: var(--color01);
    padding: 0.4em 10px 0.4em 35px;
    position: relative;
}
/* .type-post .entry-content h2::before, */
.midashi02b::before,
.entry-content .midashi02b::before,
.is-style-midashi02b::before,
.entry-content .is-style-midashi02b::before  {
    content: '';
    display: inline-block;
    background-color: #ffffff;
    width: 8px;
    height: 1.4em;
    position: absolute;
    top: 0.4em;
    left: 15px;
}

.midashi02c,
.entry-content .midashi02c,
.is-style-midashi02c,
.entry-content .is-style-midashi02c {
    font-size: 2.25em;
    text-align: center;
	border-top: 2px solid var(--color01);
	border-bottom: 2px solid var(--color01);
	padding: 0.3em 5px;
}

/* .type-post .entry-content h3, */
.midashi03,
.entry-content .midashi03,
.is-style-midashi03,
.entry-content .is-style-midashi03 {
    font-size: 1.5em;
	text-align: center;
	color: var(--color01);
}

.midashi03b,
.entry-content .midashi03b,
.is-style-midashi03b,
.entry-content .is-style-midashi03b {
    font-size: 1.5em;
    font-weight: bold;
    border-bottom: 1px dashed var(--color01);
	padding-bottom: 3px;
}

/* .type-post .entry-content h4, */
.midashi04,
.entry-content .midashi04,
.is-style-midashi04,
.entry-content .is-style-midashi04 {
	font-size: 1.25em;
	color: var(--color01);
	position: relative;
	padding-left: 1.2em;
}
/* .type-post .entry-content h4::before, */
.midashi04::before,
.entry-content .midashi04::before,
.is-style-midashi04::before,
.entry-content .is-style-midashi04::before {
	content: '';
	display: block;
	width: 0.9em;
	height: 0.9em;
	position: absolute;
	top: 0.25em;
	left: 0;
	background-color: var(--color01);
}

/*
.hs {
    margin: 2.5em 0 1em;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-weight: bold;
}
.hs01 {
    position: relative;
    padding: 0.5em 0.5em 0.5em 1.8em;
    background: var(--color03, #504944);
    color: white;
    line-height: 1.4;
}
.hs01:before {
    position: absolute;
    left: 0.5em;
    font-family: "Font Awesome 5 free";
    content: "\f14a";
}
*/



/* ----- リスト  ----- */
.is-style-od-list,
.od-list {
	padding-left: 0;
}
.is-style-od-list > li,
.od-list > li {
	line-height: 1.4;
	margin-top: 0.5em;
	list-style: none;
}
.is-style-od-list > li:first-child,
.od-list > li:first-child {
	margin-top: 0;
}

.is-style-od-list01,
.od-list01 {
	padding-left: 1em;
}
.is-style-od-list01 > li,
.od-list01 > li {
	/* line-height: 1.4;
	margin-top: 0.5em; */
	margin-top: 1em;
	list-style: disc;
}
.is-style-od-list01 > li:first-child,
.od-list01 > li:first-child {
	margin-top: 0;
}

.is-style-od-list02 > li,
.od-list02 > li {
	line-height: 1.4;
	margin-top: 0.5em;
	position: relative;
    padding: 0 0 0 1em;
    text-decoration: none;
}
.is-style-od-list02 > li::before,
.od-list02 > li::before {
	position: absolute;
    top: 0.5em;
    left: 5px;
    content: '';
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-left: 5px solid #333333;
	border-left-color: inherit;
}
.is-style-od-list02 > li:first-child,
.od-list02 > li:first-child {
	margin-top: 0;
}

.is-style-od-list03 > li,
.od-list03 > li {
	line-height: 1.4;
	border-bottom: 1px dotted #ccc;
	padding: 0.6em 0 0.5em;
}
.is-style-od-list03 > li:first-child,
.od-list03 > li:first-child {
	border-top: 1px dotted #ccc;
}

.is-style-od-list04 > li,
.od-list04 > li {
	line-height: 1.4;
	margin-top: 0.5em;
	position: relative;
    padding: 0 0 0 1.2em;
    text-decoration: none;
}
.is-style-od-list04 > li::before,
.od-list04 > li::before {
	content: '';
	display: block;
	width: 1em;
    height: 1em;
    border-radius: 50%;
    background: var(--color01);
	position: absolute;
    top: 0.2em;
    left: 0;
}
.is-style-od-list04 > li::after,
.od-list04 > li::after {
	content: '';
	display: block;
	width: 0px;
    height: 0px;
	position: absolute;
    top: 0.45em;
    left: 0.35em;
    border: 0.25em solid transparent;
    border-left: 0.4em solid #fff;
}
.is-style-od-list05 > li,
.od-list05 > li {
	line-height: 1.4;
	margin-top: 0.5em;
	position: relative;
    padding: 0 0 0 1.2em;
    text-decoration: none;
}
.is-style-od-list05 > li::before,
.od-list05 > li::before {
	content: '\f152';
	font-family: "Font Awesome 6 Free";
	font-weight: bold;
	font-size: inherit;
	line-height: inherit;
	display: inline-block;
	position: absolute;
    top: 0;
    left: 0;
}
.is-style-od-list06 > li,
.od-list06 > li {
	line-height: 1.4;
	margin-top: 0.5em;
	position: relative;
    padding: 0 0 0 1.1em;
    text-decoration: none;
}
.is-style-od-list06 > li::before,
.od-list06 > li::before {
	content: '';
	display: block;
	width: 0.8em;
	height: 0.8em;
	background-color: var(--color-text);
	position: absolute;
    top: 0.3em;
    left: 0;
}



/* ----- テーブル装飾 ----- */
.is-style-od-table01 table,
.is-style-od-table01 th,
.is-style-od-table01 td,
.od-table01,
.od-table01 th,
.od-table01 td {
	border: 1px solid #dddddd;
}
.is-style-od-table01 table,
.od-table01 {
	border-width: 1px 0 0 0;
}
.is-style-od-table01 th,
.od-table01 th {
	font-weight: normal;
}
.is-style-od-table01 th,
.is-style-od-table01 td,
.od-table01 th,
.od-table01 td {
	border-width: 0 0 1px 0;
	line-height: 1.4;
	vertical-align: baseline;
	padding: 1em 0.6em;
}

.is-style-od-table02 table,
.is-style-od-table02 th,
.is-style-od-table02 td,
.od-table02,
.od-table02 th,
.od-table02 td {
	border: 1px solid #999999;
}
.is-style-od-table02 table,
.od-table02 {
	border-width: 1px 0 0 1px;
}
.is-style-od-table02 th,
.is-style-od-table02 td,
.od-table02 th,
.od-table02 td {
	border-width: 0 1px 1px 0;
	padding: 1em 0.6em;
	line-height: 1.4;
	vertical-align: baseline;
}
.is-style-od-table02 th,
.od-table02 th {
	font-weight: normal;
	background-color: #f6f6f6;
}

.is-style-od-table03 table,
.is-style-od-table03 th,
.is-style-od-table03 td,
.od-table03,
.od-table03 th,
.od-table03 td {
	border: none;
}
.is-style-od-table03 th,
.is-style-od-table03 td,
.od-table03 th,
.od-table03 td {
	line-height: 1.4;
	vertical-align: baseline;
}

.is-style-od-table04 table,
.is-style-od-table04 th,
.is-style-od-table04 td,
.od-table04,
.od-table04 th,
.od-table04 td {
	border: none;
	width: auto;
}
.is-style-od-table04 th,
.is-style-od-table04 td,
.od-table04 th,
.od-table04 td {
	line-height: 1.4;
	vertical-align: baseline;
}
.is-style-od-table04 th,
.od-table04 th {
	white-space: nowrap;
	padding-right: 1.5em;
}


.is-style-od-table-stripe tr:nth-child(even),
.od-table-stripe tr:nth-child(even) {
	background-color: #f6f6f6;
}
.is-style-od-table-textC th,
.is-style-od-table-textC td,
.od-table-textC th,
.od-table-textC td {
	text-align: center;
}
.is-style-od-table-tateC th,
.is-style-od-table-tateC td,
.od-table-tateC th,
.od-table-tateC td {
	vertical-align: middle;
}

.od-list-icon {
	padding-left: 0;
}
.od-list-icon > li {
	line-height: 1.4;
	margin-top: 0.5em;
	list-style: none;
	padding-left: 1.2em;
	position: relative;
}
.od-list-icon > li:first-child {
	margin-top: 0;
}
.od-list-icon li::before {
	content: '';
	font-family: "Font Awesome 6 Free";
	color: var(--color01);
	position: absolute;
	top: 0;
	left: 0;
}
.od-list-icon.list-icon01 li::before {
	content: '\f14a';
}





 
 
/** ===========================================================================================
 *
 *  その他　追加
 *
 *  =========================================================================================== */

.sp,
.sp-text {
	display: none!important;
}
.tab,
.tab-text {
	display: none!important;
}
.pc {
	display: block!important;
}
.pc-text {
	display: inline!important;
}


.clearfix:after {
	content: ''; 
	display: block;
	clear: both;
}

.clearText {   /* テキストを非表示 */
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.textblock {
	display: inline-block;  
	*display: inline;  
	*zoom: 1;
	font-weight: inherit;
}
.justify {
	text-align: justify;
}

.notes,
.note {
	font-size: 0.8em;
}
.jisage {
	padding-left: 1em;
	text-indent: -1em;
}
.underline-text {
	text-decoration: underline;
}

.fig-center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.cap-left {
	text-align: left;
}
.cap-center {
	text-align: center;
}
.cap-right {
	text-align: right;
}
.block-image img {
	display: block;
}
.text-nowrap {
	white-space: nowrap;
}
.sub-text {
	font-size: 0.6em;
	font-weight: inherit;
}
.caption {
	font-size: 0.9375em;
	line-height: 1.4;
}
.table-wrap {
	max-width: 100%;
	overflow: auto;
}



.wrap-wide {
	max-width: var(--cont-w);
	margin-left: auto;
	margin-right: auto;
}
.wrap-wide-lg {
	max-width: var(--cont-w-lg);
	margin-left: auto;
	margin-right: auto;
}
.site-content-full-width .wrap-wide,
.site-content-full-width .wrap-wide-lg,
.front-page-content .wrap-wide,
.front-page-content .wrap-wide-lg {
	width: calc(100% - var(--sidespace) * 2);
}
.site-gutter {
	width: calc(100% - var(--sidespace) * 2);
	margin-left: auto;
	margin-right: auto;
}
.wrap-inner {
	padding-left: var(--sidespace);
	padding-right: var(--sidespace);
}

.site-wide {
	width: calc(var(--cont-w) + var(--sidespace) * 2);
	max-width: 100%;
	padding-left: var(--sidespace);
	padding-right: var(--sidespace);
	margin-left: auto;
	margin-right: auto;
}
.site-wide-lg {
	width: calc(var(--cont-w-lg) + var(--sidespace) * 2);
	max-width: 100%;
	padding-left: var(--sidespace);
	padding-right: var(--sidespace);
	margin-left: auto;
	margin-right: auto;
}
.fullwide-inner {
    padding-left: var(--sidespace);
    padding-right: var(--sidespace);
}

.fullwide-cont {
	width: var(--vw100);
	margin-left: calc(50% - var(--vw50));
	margin-right: calc(50% - var(--vw50));
}


.w600 {max-width: 600px; margin-left: auto; margin-right: auto;}
.w700 {max-width: 700px; margin-left: auto; margin-right: auto;}
.w800 {max-width: 800px; margin-left: auto; margin-right: auto;}
.w900 {max-width: 900px; margin-left: auto; margin-right: auto;}
.w1000 {max-width: 1000px; margin-left: auto; margin-right: auto;}
.w1100 {max-width: 1100px; margin-left: auto; margin-right: auto;}
.w1200 {max-width: 1200px; margin-left: auto; margin-right: auto;}
.w1300 {max-width: 1300px; margin-left: auto; margin-right: auto;}
.w1400 {max-width: 1400px; margin-left: auto; margin-right: auto;}
.w1500 {max-width: 1500px; margin-left: auto; margin-right: auto;}
.w1600 {max-width: 1600px; margin-left: auto; margin-right: auto;}




.flex-grid {
	display: flex;
	flex-wrap: wrap;
}
.col5 > * {width: 20%;}
.col4 > * {width: 25%;}
.col3 > * {width: 33.333333333%;}
.col2 > * {width: 50%;}

.cgap-ss {column-gap: 1%;}
.cgap-s {column-gap: 2%;}
.cgap-sm {column-gap: 3%;}
.cgap-m {column-gap: 4%;}
.cgap-l {column-gap: 6%;}
.cgap-ss.col5 > * {width: calc(calc(100% - 1% * 4) / 5);}
.cgap-ss.col4 > * {width: calc(calc(100% - 1% * 3) / 4);}
.cgap-ss.col3 > * {width: calc(calc(100% - 1% * 2) / 3);}
.cgap-ss.col2 > * {width: calc(calc(100% - 1% * 1) / 2);}
.cgap-s.col5 > * {width: calc(calc(100% - 2% * 4) / 5);}
.cgap-s.col4 > * {width: calc(calc(100% - 2% * 3) / 4);}
.cgap-s.col3 > * {width: calc(calc(100% - 2% * 2) / 3);}
.cgap-s.col2 > * {width: calc(calc(100% - 2% * 1) / 2);}
.cgap-sm.col5 > * {width: calc(calc(100% - 3% * 4) / 5);}
.cgap-sm.col4 > * {width: calc(calc(100% - 3% * 3) / 4);}
.cgap-sm.col3 > * {width: calc(calc(100% - 3% * 2) / 3);}
.cgap-sm.col2 > * {width: calc(calc(100% - 3% * 1) / 2);}
.cgap-m.col5 > * {width: calc(calc(100% - 4% * 4) / 5);}
.cgap-m.col4 > * {width: calc(calc(100% - 4% * 3) / 4);}
.cgap-m.col3 > * {width: calc(calc(100% - 4% * 2) / 3);}
.cgap-m.col2 > * {width: calc(calc(100% - 4% * 1) / 2);}
.cgap-l.col5 > * {width: calc(calc(100% - 6% * 4) / 5);}
.cgap-l.col4 > * {width: calc(calc(100% - 6% * 3) / 4);}
.cgap-l.col3 > * {width: calc(calc(100% - 6% * 2) / 3);}
.cgap-l.col2 > * {width: calc(calc(100% - 6% * 1) / 2);}
.rgap-ss {row-gap: clamp(5px, 0.5vw, 20px)}
.rgap-s {row-gap: clamp(10px, 1vw, 30px)}
.rgap-m {row-gap: clamp(10px, 2vw, 40px)}
.rgap-l {row-gap: clamp(20px, 3vw, 60px)}

.flex-grid.space-around {
	column-gap: normal;
	/* justify-content: space-around; */
}
.space-around.cgap-ss.col5 > * {width: calc(100% / 5 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
.space-around.cgap-ss.col4 > * {width: calc(100% / 4 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
.space-around.cgap-ss.col3 > * {width: calc(100% / 3 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
.space-around.cgap-ss.col2 > * {width: calc(100% / 2 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
.space-around.cgap-s.col5 > * {width: calc(100% / 5 - 1% * 2); margin-left: 1%; margin-right: 1%;}
.space-around.cgap-s.col4 > * {width: calc(100% / 4 - 1% * 2); margin-left: 1%; margin-right: 1%;}
.space-around.cgap-s.col3 > * {width: calc(100% / 3 - 1% * 2); margin-left: 1%; margin-right: 1%;}
.space-around.cgap-s.col2 > * {width: calc(100% / 2 - 1% * 2); margin-left: 1%; margin-right: 1%;}
.space-around.cgap-sm.col5 > * {width: calc(100% / 5 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
.space-around.cgap-sm.col4 > * {width: calc(100% / 4 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
.space-around.cgap-sm.col3 > * {width: calc(100% / 3 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
.space-around.cgap-sm.col2 > * {width: calc(100% / 2 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
.space-around.cgap-m.col5 > * {width: calc(100% / 5 - 2% * 2); margin-left: 2%; margin-right: 2%;}
.space-around.cgap-m.col4 > * {width: calc(100% / 4 - 2% * 2); margin-left: 2%; margin-right: 2%;}
.space-around.cgap-m.col3 > * {width: calc(100% / 3 - 2% * 2); margin-left: 2%; margin-right: 2%;}
.space-around.cgap-m.col2 > * {width: calc(100% / 2 - 2% * 2); margin-left: 2%; margin-right: 2%;}
.space-around.cgap-l.col5 > * {width: calc(100% / 5 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
.space-around.cgap-l.col4 > * {width: calc(100% / 4 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
.space-around.cgap-l.col3 > * {width: calc(100% / 3 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
.space-around.cgap-l.col2 > * {width: calc(100% / 2 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}


.flex-cont,
.flex-col {
	display: flex;
}
.flex-cont-wrap {
	display: flex;
	flex-wrap: wrap;
}
.cont-80 {width: 80%;}.cont-20 {width: 20%;}
.cont-75 {width: 75%;}.cont-25 {width: 25%;}
.cont-70 {width: 70%;}.cont-30 {width: 30%;}
.cont-60 {width: 60%;}.cont-40 {width: 40%;}
.cont-55 {width: 55%;}.cont-45 {width: 45%;}
.cont-50 {width: 50%;}
.cont-22 {width: 22%;}.cont-27 {width: 27%;}.cont-32 {width: 32%;}.cont-37 {width: 37%;}
.cont-46 {width: 46%;}.cont-47 {width: 47%;}.cont-48 {width: 48%;}.cont-49 {width: 49%;}
.cont-57 {width: 57%;}.cont-65 {width: 65%;}.cont-67 {width: 67%;}.cont-72 {width: 72%;}
.cont-66 {width: calc(100% / 3 * 2);}.cont-33 {width: calc(100% / 3);}

.box80 {width: 80%;}.box75 {width: 75%;}.box70 {width: 70%;}.box60 {width: 60%;}.box55 {width: 55%;}.box50 {width: 50%;}
.box45 {width: 45%;}.box40 {width: 40%;}.box30 {width: 30%;}.box25 {width: 25%;}.box20 {width: 20%;}
.box49 {width: 49%;}.box48 {width: 48%;}.box47 {width: 47%;}.box46 {width: 46%;}
.box66 {width: 66%;}.box33 {width: 33%;}

.col-80 {width: 80%;}.col-20 {width: 20%;}
.col-75 {width: 75%;}.col-25 {width: 25%;}
.col-70 {width: 70%;}.col-30 {width: 30%;}
.col-60 {width: 60%;}.col-40 {width: 40%;}
.col-55 {width: 55%;}.col-45 {width: 45%;}
.col-50 {width: 50%;}
.col-22 {width: 22%;}.col-27 {width: 27%;}.col-32 {width: 32%;}.col-37 {width: 37%;}
.col-46 {width: 46%;}.col-47 {width: 47%;}.col-48 {width: 48%;}.col-49 {width: 49%;}
.col-57 {width: 57%;}.col-65 {width: 65%;}.col-67 {width: 67%;}.col-72 {width: 72%;}
.col-66 {width: calc(100% / 3 * 2);}.col-33 {width: calc(100% / 3);}

.cont-space-left-ss,
.col-space-left-ss {padding-left: 1%;}
.cont-space-left-s,
.col-space-left-s {padding-left: 2%;}
.cont-space-left-sm,
.col-space-left-sm {padding-left: 3%;}
.cont-space-left-m,
.col-space-left-m {padding-left: 4%;}
.cont-space-left-l,
.col-space-left-l {padding-left: 5%;}
.cont-space-right-ss,
.col-space-right-ss {padding-right: 1%;}
.cont-space-right-s,
.col-space-right-s {padding-right: 2%;}
.cont-space-right-sm,
.col-space-right-sm {padding-right: 3%;}
.cont-space-right-m,
.col-space-right-m {padding-right: 4%;}
.cont-space-right-l,
.col-space-right-l {padding-right: 5%;}


.flex-reverse {
	flex-direction: row-reverse;
}
.jc-between {justify-content: space-between;}
.jc-center {justify-content: center;}
.jc-start {justify-content: flex-start;}
.jc-end {justify-content: flex-end}






/* ----- インラインブロックコラム ----- */
.ib-col {
	letter-spacing: -0.4em;
}
.ib-col > * {
	letter-spacing: normal;
	vertical-align: top;
}
.ib-col img {
	display: block;
}
.ib-box-50 {display: inline-block; max-width: 50%;}
.ib-box-80 {display: inline-block; max-width: 80%;}
.ib-box-20 {display: inline-block; max-width: 20%;}
.ib-box-75 {display: inline-block; max-width: 75%;}
.ib-box-25 {display: inline-block; max-width: 25%;}
.ib-box-70 {display: inline-block; max-width: 70%;}
.ib-box-30 {display: inline-block; max-width: 30%;}
.ib-box-60 {display: inline-block; max-width: 60%;}
.ib-box-40 {display: inline-block; max-width: 40%;}
.ib-box-66 {display: inline-block; max-width: calc(100% / 3 * 2);}
.ib-box-33 {display: inline-block; max-width: calc(100% / 3);}





/*　バックグラウンドパターン　*/
.bg-color01-4 {background-color: var(--color01-4)!important;}
.bg-eee {background-color: #eeeeee!important;}
.bg-white {background-color: #ffffff!important;}
.bg-lightgray {background-color: var(--color-lightgray)!important;}

.bg-hogan01 {
	background: url("images/bg_hogan01.png") repeat;
	/* background-size: 10px; */
}
.bg-hogan02 {
	background: url("images/bg_hogan02.png") repeat;
	/* background-size: 10px; */
}
.bg-dot01 {
	background: url(images/bg_dot01.png) repeat top left;
}
.bg-dot02 {
	background: url(images/bg_dot02.png) repeat top left;
}
.bg-dot03 {
	background: url(images/bg_dot03.png) repeat top left;
}

.bg-pt01 {
	background-color: var(--color03-4);
	background-image: radial-gradient(var(--color04) 1px, var(--color03-4) 1px);
	background-size: 20px 20px;
	background-repeat: repeat;
}
.bg-pt02 {
	background-color: var(--color03-4);
	background-image: repeating-linear-gradient(45deg, var(--color04) 0, var(--color04) 1px, var(--color03-4) 0, var(--color03-4) 50%);
	background-size: 20px 20px;
	background-repeat: repeat;
}
.bg-pt03 {
	background-color: var(--color03-4);
	background-image: repeating-linear-gradient(45deg, var(--color04) 25%, transparent 25%, transparent 75%, var(--color04) 75%, var(--color04)), repeating-linear-gradient(45deg, var(--color04) 25%, var(--color03-4) 25%, var(--color03-4) 75%, var(--color04) 75%, var(--color04));
	background-position: 0 0, 20px 20px;
	background-size: 40px 40px;
	background-repeat: repeat;
}
.bg-pt04 {
    background-color: var(--color03-4);
    background-image: linear-gradient(135deg, var(--color04) 25%, transparent 25%), linear-gradient(225deg, var(--color04) 25%, transparent 25%), linear-gradient(45deg, var(--color04) 25%, transparent 25%), linear-gradient(315deg, var(--color04) 25%, var(--color03-4) 25%);
    background-position: 20px 0, 20px 0, 0 0, 0 0;
    background-size: 20px 20px;
    background-repeat: repeat;
}
.bg-pt05 {
    background-color: var(--color03-4);
    background-image: linear-gradient(var(--color04) 2px, transparent 2px), linear-gradient(to right, var(--color04) 2px, var(--color03-4) 2px);
    background-size: 40px 40px;
	background-repeat: repeat;
}
.bg-pt06 {
    background-color: var(--color03-4);
    background: radial-gradient(circle, transparent 20%, var(--color03-4) 20%, var(--color03-4) 80%, transparent 80%, transparent),
    radial-gradient(circle, transparent 20%, var(--color03-4) 20%, var(--color03-4) 80%, transparent 80%, transparent) 50px 50px,
    linear-gradient(var(--color04) 4px, transparent 4px) 0 -2px,
    linear-gradient(90deg, var(--color04) 4px, var(--color03-4) 4px) -2px 0;
    background-size: 100px 100px, 100px 100px, 50px 50px, 50px 50px;
}
.bg-pt07 {
    background-color: var(--color03-4);
    opacity: 1.0;
    background-image:  linear-gradient(30deg, var(--color03-3) 12%, transparent 12.5%, transparent 87%, var(--color03-3) 87.5%, var(--color03-3)), linear-gradient(150deg, var(--color03-3) 12%, transparent 12.5%, transparent 87%, var(--color03-3) 87.5%, var(--color03-3)), linear-gradient(30deg, var(--color03-3) 12%, transparent 12.5%, transparent 87%, var(--color03-3) 87.5%, var(--color03-3)), linear-gradient(150deg, var(--color03-3) 12%, transparent 12.5%, transparent 87%, var(--color03-3) 87.5%, var(--color03-3)), linear-gradient(60deg, var(--color03-3) 25%, transparent 25.5%, transparent 75%, var(--color03-3) 75%, var(--color03-3)), linear-gradient(60deg, var(--color03-3) 25%, transparent 25.5%, transparent 75%, var(--color03-3) 75%, var(--color03-3));
    background-size: 40px 70px;
    background-position: 0 0, 0 0, 20px 35px, 20px 35px, 0 0, 20px 35px;
	background-repeat: repeat;
}







.list-arrow {position: relative;display: inline-block;padding: 0 0 0 16px;color: #000;vertical-align: middle;text-decoration: none;}
.list-arrow::before,
.list-arrow::after{position: absolute;top: 0;bottom: 0;left: 0;margin: auto;content: '';vertical-align: middle;}
.arw01-1::before {left: 4px;box-sizing: border-box;width: 5px;height: 5px;border: 5px solid transparent;border-left: 6px solid var(--color01, #cc3366);}
.arw01-2::before {width: 12px;height: 12px;border-radius: 50%;background: var(--color01, #cc3366);}
.arw01-2::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid #fff;}
.arw01-3::before {width: 12px;height: 12px;border-radius: 15%;background: var(--color01, #cc3366);}
.arw01-3::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid #fff;}
.arw01-4::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid var(--color01, #cc3366);border-radius: 50%;}
.arw01-4::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid var(--color01, #cc3366);}
.arw01-5::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid var(--color01, #cc3366);border-radius: 25%;}
.arw01-5::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid var(--color01, #cc3366);}
.arw02-1::before {left: 3px;width: 5px;height: 5px;border-top: 1px solid var(--color01, #cc3366);border-right: 1px solid var(--color01, #cc3366);-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-2::before {width: 12px;height: 12px;border-radius: 50%;background: var(--color01, #cc3366);}
.arw02-2::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid #fff;border-right: 1px solid #fff;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-3::before {width: 12px;height: 12px;border-radius: 25%;background: var(--color01, #cc3366);}
.arw02-3::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid #fff;border-right: 1px solid #fff;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-4::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid var(--color01, #cc3366);border-radius: 50%;}
.arw02-4::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid var(--color01, #cc3366);border-right: 1px solid var(--color01, #cc3366);-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-5::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid var(--color01, #cc3366);border-radius: 25%;}
.arw02-5::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid var(--color01, #cc3366);border-right: 1px solid var(--color01, #cc3366);-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw03-1::before {left: 0px;width: 10px;height: 1px;background: var(--color01, #cc3366);}
.arw03-1::after {left: 3px;width: 7px;height: 7px;border-top: 1px solid var(--color01, #cc3366);border-right: 1px solid var(--color01, #cc3366);-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw04-1::before {left: 1px;width: 8px;height: 6px;border-left: 4px solid var(--color01, #cc3366);}
.arw04-1::after {left: 5px;box-sizing: border-box;width: 6px;height: 6px;border: 6px solid transparent;border-left: 6px solid var(--color01, #cc3366);}
.arw04-2::before {left: 1px;width: 7px;height: 8px;background: var(--color01, #cc3366);}
.arw04-2::after {left: 8px;box-sizing: border-box;width: 4px;height: 8px;border: 4px solid transparent;border-left: 3px solid var(--color01, #cc3366);}





/*　リンクボタン　*/
.link-btn-wrap {
}
.od-btn {
	width: 100%;
}
.od-btn a {
	display: inline-block;
	font-size: 1em;
	text-align: center;
	vertical-align: middle;
	line-height: 1.4;
	color: #ffffff;
	background-color: var(--color-link);
	padding: 0.3em 1em;
	cursor: pointer;
}
.od-btn a:hover {
	background-color: var(--color-link-hover);
}

/* btn01 */
.od-btn.btn01 a {
	min-width: 120px;
	padding: 0.7em 1em;
}
/* btn02 */
.od-btn.btn02 a {	
	position: relative;
	min-width: 160px;
    padding: 0.7em calc(1.5em + 5px) 0.7em 1.5em;
}
.od-btn.btn02 a::after {
    content: '';
    width: 0.5em;
    height: 0.5em;
    border-top: solid 1px #ffffff;
	border-right: solid 1px #ffffff;
    -ms-transform: rotate(45deg) translate(-50%, 0);
    -webkit-transform: rotate(45deg) translate(-50%, 0);
    transform: rotate(45deg) translate(-50%, 0);
    position: absolute;
    top: 50%;
    right: 0.8em;
}
.od-btn.btn02.btn-bg-white a::after {
	border-top-color: var(--color-link);
	border-right-color: var(--color-link);
}
.od-btn.btn02.btn-bg-white a:hover::after {
	border-top-color: #ffffff;
	border-right-color: #ffffff;
}
.od-btn.btn02.btn-fw-bold a::after {
	border-top-width: 2px;
	border-right-width: 2px;
}
/* btn03 */
.od-btn.btn03 a {
    position: relative;
    padding: 1em 40px 1em 15px;
	width: 100%;
	max-width: 600px;
}
.od-btn.btn03 a::after {
    content: '';
    width: 0.4em;
    height: 0.4em;
    border: 0px;
    border-top: solid 0.4em transparent;
    border-right: solid 0.4em #ffffff;
	border-bottom: solid 0.4em #ffffff;
	border-left: solid 0.4em transparent;
    position: absolute;
    bottom: 5px;
    right: 5px;
}
.od-btn.btn03 a:hover {
	background-color: var(--color-link-hover);
}
.od-btn.btn03.btn-bg-white a:hover {
	background-color: var(--color-link);
}
.od-btn.btn03.btn-bg-white a::after {
	border-right-color: var(--color-link);
	border-bottom-color: var(--color-link);
}
.od-btn.btn03.btn-bg-white a:hover::after {
	border-right-color: #ffffff;
	border-bottom-color: #ffffff;
}

.btn-center {text-align: center;}
.btn-left {text-align: left;}
.btn-right {text-align: right;}
.od-btn.btn-ib {display: inline-block; width: auto;}
.btn-l a {font-size: 1.2em;}
.btn-m a {font-size: 1em;}
.btn-s a {font-size: 0.875em;}
.btn-ss a {font-size: 0.8em;}
.btn-fw-bold a {font-weight: bold;}
.btn-bg-white a {background-color: #ffffff; color: var(--color-link); border: 1px solid var(--color-link);}
.btn-bg-white a:hover {background-color: var(--color-link); color: #ffffff;}
.btn-kadomaru-s a {border-radius: 2px;}
.btn-kadomaru-m a {border-radius: 0.3em;}
.btn-kadomaru-l a {border-radius: 100px;}
.od-btn.btn-min120:not(.btn-ib) a {min-width: min(120px, 100%);}
.od-btn.btn-min150:not(.btn-ib) a {min-width: min(150px, 100%);}
.od-btn.btn-min160:not(.btn-ib) a {min-width: min(160px, 100%);}
.od-btn.btn-min180:not(.btn-ib) a {min-width: min(180px, 100%);}
.od-btn.btn-min200:not(.btn-ib) a {min-width: min(200px, 100%);}
.od-btn.btn-min250:not(.btn-ib) a {min-width: min(250px, 100%);}
.od-btn.btn-min300:not(.btn-ib) a {min-width: min(300px, 100%);}
.od-btn.btn-min400:not(.btn-ib) a {min-width: min(400px, 100%);}
.od-btn.btn-min600:not(.btn-ib) a {min-width: min(600px, 100%);}
.od-btn.btn-min800:not(.btn-ib) a {min-width: min(800px, 100%);}
.od-btn.btn-full {display: block; width: 100%;}
.od-btn.btn-full a {width: 100%; max-width: inherit;}
.od-btn.btn-text-center a {text-align: center;}
.od-btn.btn-text-left a {text-align: left;}
.od-btn.btn-text-right a {text-align: right;}





.od-btn01 {
	display: inline-block;
	/* min-width: 120px; */
	max-width: 100%;
	width: 300px;
	font-size: 1em;
    line-height: 1.4;
	color: #ffffff;
	padding: 12px 20px 11px;
	text-align: center;
    background-color: var(--color-link);
	border-radius: 4px;
}
.od-btn01:hover {
	color: #ffffff;
	background-color: var(--color-link-hover);
}

.od-btn01b {
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	font-size: 0.875em;
    line-height: 1.4;
	padding: 12px 20px 11px;
	text-align: center;
    border: 1px solid var(--color-link);
}
.od-btn01b:hover {
	color: #ffffff;
	background-color: var(--color-link);
}

.od-btn02 {
    position: relative;
    display: inline-block;
	min-width: 180px;
    max-width: 100%;
    font-size: 0.875em;
    color: #ffffff;
    line-height: 1.4;
    text-align: center;
    padding: 12px 25px 11px 20px;
    background-color: var(--color-link);
}
.od-btn02::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px #ffffff;
	border-right: solid 1px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 12px;
    margin-top: -4px;
}
.od-btn02:hover {
	color: #ffffff;
	background-color: var(--color-link-hover);
}
.od-btn02:hover::after {
	border-top: solid 1px #ffffff;
	border-right: solid 1px #ffffff;
}

.od-btn02b {
    position: relative;
    display: inline-block;
	min-width: 180px;
    max-width: 100%;
    font-size: 0.875em;
    color: var(--color-link);
    line-height: 1.4;
    text-align: center;
    padding: 12px 25px 11px 20px;
    background-color: #ffffff;
	border: 1px solid var(--color-link);
}
.od-btn02b::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px var(--color-link);
	border-right: solid 1px var(--color-link);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 12px;
    margin-top: -4px;
}
.od-btn02b:hover {
	color: #ffffff;
	background-color: var(--color-link);
}
.od-btn02b:hover::after {
	border-top: solid 1px #ffffff;
	border-right: solid 1px #ffffff;
}

.od-btn03 {
    position: relative;
    display: inline-block;
    font-size: 0.875em;
	line-height: 1.2;
    color: #ffffff;
    text-align: left;
    padding: 1em 40px 1em 15px;
    background-color: var(--color-link);
	min-width: 120px;
	max-width: 100%;
}
.od-btn03::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px;
}
.od-btn03:hover {
	color: #ffffff;
	background-color: var(--color-link-hover);
}

.od-btn03b {
    position: relative;
    display: inline-block;
    font-size: 0.875em;
	line-height: 1.2;
    text-align: left;
    padding: 1em 40px 1em 15px;
    background-color: #ffffff;
	border: 1px solid var(--color-link);
	min-width: 120px;
	max-width: 100%;
}
.od-btn03b::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px var(--color-link);
    border-right: solid 1px var(--color-link);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px;
}
.od-btn03b:hover {
	color: #ffffff;
	background-color: var(--color-link);
}
.od-btn03b:hover::after {
	border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
}

.od-btn04 {
    position: relative;
    display: inline-block;
	min-width: 180px;
    max-width: 100%;
    font-size: 0.875em;
	line-height: 1.4;
    color: #ffffff;
    text-align: center;
    padding: 1em 30px 1em 20px;
    background-color: var(--color-link);
    border-radius: 30px;
}
.od-btn04::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 18px;
    margin-top: -4px;
}
.od-btn04:hover {
	background-color: var(--color-link-hover);
	color: #ffffff;
}

.od-btn04b {
    position: relative;
    display: inline-block;
	min-width: 180px;
    max-width: 100%;
    font-size: 0.875em;
	line-height: 1.4;
    text-align: center;
    padding: 1em 30px 1em 20px;
    background-color: #ffffff;
	border: 1px solid var(--color-link);
    border-radius: 30px;
}
.od-btn04b::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px var(--color-link);
    border-right: solid 1px var(--color-link);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 18px;
    margin-top: -4px;
}
.od-btn04b:hover {
	color: #ffffff;
	background-color: var(--color-link);
}
.od-btn04b:hover::after {
	border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
}

.od-btn05 {
	position: relative;
    display: inline-block;
	width: 100%;
	max-width: 180px;
	color: #ffffff;
	line-height: 1.4;
	padding: 15px 30px 12px 20px;
    background-color: var(--color-link);
	background: -moz-linear-gradient(top, var(--color-link-hover), var(--color-link));
	background: -webkit-linear-gradient(top, var(--color-link-hover), var(--color-link));
	background: linear-gradient(to bottom, var(--color-link-hover), var(--color-link));
	border-radius: 4px; 
}
.od-btn05::after {
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -4px;
}
.od-btn05:hover {
	opacity: 0.75;
}

.od-btn06 {
    position: relative;
    display: inline-block;
    font-size: 0.875em;
	line-height: 1.2;
    text-align: center;
    padding: 1em 40px 1em 15px;
	color: #ffffff;
    background-color: var(--color-link);
	width: 100%;
	/* max-width: 600px; */
}
.od-btn06::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 6px transparent;
    border-right: solid 6px #ffffff;
	border-bottom: solid 6px #ffffff;
	border-left: solid 6px transparent;
    position: absolute;
    bottom: 5px;
    right: 5px;
}
.od-btn06:hover {
	background-color: var(--color-link-hover);
	color: #ffffff;
}



.od-btn-pdf {
	position: relative;
    display: inline-block;
	max-width: 100%;
	line-height: 1.4;
	text-align: center;
	background-color: #ffffff;
	border: 1px solid var(--color-link, #00909f);
	padding: 0.5em 10px 0.4em 35px;
}
.od-btn-pdf::before {
	display: inline-block;
    position: absolute;
    top: 0.6em;
    left: 12px;
    content: "\f1c1";
    font-family: "Font Awesome 5 Free";
    color: var(--color-link, #00909f);
    font-size: 18px;
    line-height: 1;
	font-weight: bold;
}
.od-btn-pdf:hover {
	background-color: var(--color-link-hover);
	color: var(--color-link);
}






.arrow {
	position: relative;
	display: inline-block;
	padding-left: 1.2em;
}
.arrow::before {
	content: '';
	width: 6px;
	height: 6px;
	position: absolute;
	top: calc(1em * 1.4 / 2);
	left: 0.5em;
	transform: translate(-50%, -50%) rotate(45deg);
	border: 0px;
	border-top: solid 1px;
	border-top-color: inherit;
	border-right: solid 1px;
	border-right-color: inherit;
}




/*基本の吹き出し*/
.balloon01 {
	position: relative;
	background: var(--color04-4);
	padding: 2em;
	margin-bottom: 20px;
}
.balloon01:after {
	content: '';
	position: absolute;
	right: 0;
	bottom: -20px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: var(--color04-4) transparent transparent transparent;
	border-width: 20px 20px 0 20px;
}

/*まんまる吹き出し*/
.balloon02 {
	position: relative;
	width: 120px;
	height: 120px;
	background: var(--color04-4);
	padding: 1em;
	line-height: 1.6;
	text-align:center;
	border-radius: 50%;
}
.balloon02:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	right: 3px;
	bottom: 3px;
	border-style: solid;
	border-color: transparent transparent transparent var(--color04-4);
	border-width: 10px 0 10px 17.32px;
	transform: rotate(45deg);
}
.balloon02 span {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
}

/*枠線つき吹き出し*/
.balloon03 {
	position: relative;
	padding: 2em;
	border: 3px solid var(--color03);
	margin-top: 40px;
	margin-bottom: 20px;
}
.balloon03:before,
.balloon03:after {
	content: '';
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
}
.balloon03:before {
	top: -40px;
	border-style: solid;
	border-color: transparent transparent var(--color03) transparent;
	border-width: 0 45px 40px 0;
}
.balloon03:after {
	top: -34px;
	border-style: solid;
	border-color: transparent transparent #fff transparent;
	border-width: 0 39px 35px 0;
	z-index: 10;
}






/* タブ */
.tab-menu {
	letter-spacing: -0.4em;
	margin-bottom: 1em;
	border-bottom: 2px solid var(--color01-4);
}
.tab-menu li {
	letter-spacing: normal;
	display: inline-block;
	padding: 10px 1em;
	cursor: pointer;
	background-color: var(--color01-4);
	margin-left: 5px;
}
.tab-menu li:first-child {
	margin-left: 0;
}
.tab-menu li.active {
	background-color: var(--color01);
	color: #ffffff;
}
.tab-box {
}
.tab-box > div {
	display: none;
	opacity: 0;
}
.tab-box > div.show {
	display: block;
	animation: fadeIn2 1s forwards;
}
@keyframes fadeIn2 {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}



/* トグルスイッチ */
.toggle-switch {
	position: relative;
	cursor: pointer;
}
.toggle-switch.open {
}
.toggle-switch:hover {
}
.toggle-switch::after {
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-size: 20px;
	font-weight: 900;
	line-height: 1.4;
	color: #cccccc;
	background-color: #ffffff;
	text-align: center;
	display: inline-block;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 5px;
	transition: transform .2s;
}
.toggle-switch.open::after {
	transform: rotateZ(180deg);
	top: 13%;
}
.toggle-content {
	display: none;
}

.accordion-switch {
	position: relative;
	cursor: pointer;
}
.accordion-switch.open {
}
.accordion-switch:hover {
}
.accordion-switch::after {
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-size: 20px;
	font-weight: 900;
	line-height: 1.4;
	color: #cccccc;
	background-color: #ffffff;
	text-align: center;
	display: inline-block;
	width: 26px;
	height: 26px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 5px;
	transition: transform .2s;
}
.accordion-switch.open::after {
	transform: rotateZ(180deg);
	top: 13%;
}
.accordion-content {
	display: none;
}



dl.q-a {
	margin-bottom: 1em;
}
dl.q-a > dt {
    background: url("images/icon_question.png") no-repeat left top 12px;
    padding: 5px 30px 5px 20px;
}
dl.q-a > dd {
    background: url("images/icon_answer.png") no-repeat left top 12px;
    padding: 5px 30px 5px 20px;
}






/*googlemap ポインター無効化 ＆ レスポンシブ対応*/
.gmap iframe{
	pointer-events: none;
}
.gmap {
	position: relative;
	/* padding-bottom: 56.25%; */
	padding-bottom: 40%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.gmap iframe,
.gmap object,
.gmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/*youtube　レスポンシブ対応 */
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.youtube-cap {
	line-height: 1.6;
	font-size: 0.85em;
	margin-top: 0.5em;
}



/*画像を中央トリミングjs（object-fit-images-master）用 */
.object-fit-img,
.object-fit img {
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width: 100%;
	height: 100%;
}





/* ----- od-postlist 自作ショートコード用 ----- */
/* ポストリストレイアウト　グリッド */
/*
.postlist-grid .entry-article {
	
}
.postlist-grid .posted-day {
	
}
.postlist-grid .thumbnail img {
	display: block;
	width: 100%;
}
.postlist-grid .belong-terms {
	letter-spacing: -0.4em;
}
.postlist-grid .belong-terms li {
	letter-spacing: normal;
	display: inline-block;
	margin-bottom: 5px;
	margin-right: 5px;
}
.postlist-grid .belong-terms li:last-child {
	margin-right: 0;
}
.postlist-grid .belong-terms li a {
	display: block;
	font-size: 0.7em;
	line-height: 1.4;
	text-align: center;
	white-space: nowrap;
	color: #ffffff;
	background-color: #aaaaaa;
	padding: 2px 5px;
}
.postlist-grid .article-title {
	font-size: 1.125em;
	line-height: 1.4;
	color: var(--color-text);
	margin: 0 0 0.5em;
}
.postlist-grid .article-content {
	font-size: 0.9375em;
	line-height: 1.4;
}
*/


/* ----- showcatposts 自作ショートコード用 ----- */
.showcatposts .entry-article {
	clear: both;
	margin-bottom: 30px;
}
.showcatposts .posted-day {
	width: 140px;
	float: left;
}
.showcatposts .article-title {
	margin-left: 150px;
	margin-top: 0;
	margin-bottom: 10px;
	clear: none;
}
.showcatposts .article-content {
	margin-left: 150px;
	margin-top: 10px;
	margin-bottom: 10px;
}
.showcatposts .article-terms {
	margin-left: 150px;
	margin-top: 10px;
	margin-bottom: 20px;
	font-size: 0.8em;
}

/* ----- od-infolist 自作ショートコード用・お知らせ一覧用 ----- */
/*　※一覧ページレイアウト　info　参照
.info-article {
	clear: both;
    line-height: 1.6;
    padding: 20px 0 20px;
    border-top: 1px dashed #cccccc;
}
.info-article:nth-last-of-type(1) {
    border-bottom: 1px dashed #cccccc;
}
.archive .info-article.hentry + .info-article.hentry { /*アーカイブページのお知らせ一覧用 
    border-top: 1px dashed #cccccc;
    padding-top: 20px;
}

.info-article .posted-day {
	float: left;
	font-size: 0.9em;
    margin-top: 0.1em;
	margin-right: 0.7em;
}
.info-article .info-main {
	margin-left: 6em;
}
.info-article .info-main:after {
	content: '';
	clear: both;
	display: block;
}
.info-article ul.article-cat-list {
	letter-spacing: -.4em;
	margin-bottom: 0;
	display: inline-block;
}
.info-article .article-cat-list li {
    letter-spacing: normal;
	display: inline-block;
    margin-right: 10px;
}
.info-article .article-cat-list li img {
	display: block;
}
.info-article .article-cat-list li a {
	color: #fff;
    display: block;
    padding: 0 5px;
    font-size: 0.7em;
	text-align: center;
	background-color: #ccc;
}
.info-article .article-title {
	margin: 0;
	display: inline-block;
}
.info-article .article-title a {
}
.info-article .article-title a:hover {
}
*/






/* ----- Display Posts ----- */
.blog-wrap ul::after {
	content: '';
	display: block;
	clear: both;
}
.blog-wrap li.listing-item {
	width: 47%;
	float: left;
	margin-right: 6%;
	margin-bottom: 40px;
	position: relative;
    /*min-height: 160px; */
}
.blog-wrap li.listing-item:nth-child(2n) {
	margin-right: 0;
}
.blog-wrap li.listing-item::after {
	content: '';
	display: block;
	clear: both;
}
.blog-wrap li.listing-item .image {
	display: block;
	width: 150px;
	height: auto;
	margin-bottom: 5px;
    float: left;
}
.blog-wrap li.listing-item .image img {
	width: 100%;
	height: auto;
}
.blog-wrap li.listing-item .title,
.blog-wrap li.listing-item .date,
.blog-wrap li.listing-item .excerpt-dash,
.blog-wrap li.listing-item .excerpt {
	display: block;
    margin-left: 170px;
}
.blog-wrap li.listing-item .title {
    font-size: 1.2em;
	line-height: 1.4;
	margin-bottom: 5px;
    padding-top: 1.3em;
}

.blog-wrap li.listing-item .date {
	font-size: 0.8em;
    position: absolute;
    left: 0;
    top: 0;
}
.blog-wrap li.listing-item .excerpt-dash {
    display: none;
}
.blog-wrap li.listing-item .excerpt {
    font-size: 0.9em;
    text-align: justify;
    line-height: 1.6;
}


.top-info li.listing-item {
	display: flex;
	line-height: 1.4;
	padding: 10px 5px;
}
.top-info li.listing-item .title {
	order: 2;
}
.top-info li.listing-item .date {
	order: 1;
	flex: 0 0 90px;
	margin-right: 1.5em;
	font-size: 0.9em;
    margin-top: 0.1em;
}





/* ----- パンくずリスト ----- */
.breadcrumb {
	font-size: 12px;
	font-size: 1.2rem;
	color: #707070;
	padding-top: 10px;
	padding-bottom: 10px;
}
.breadcrumb .inner {
	
}
.custom-title + .breadcrumb {
	/* padding-bottom: 50px; */
}





/* MW WP Form */
.form-entry input,
.form-entry textarea,
.form-entry select {
    padding: 3px 5px;
}
input.input-text-max,
textarea.input-text-max {
	width: 100%;
}
.form-entry textarea {
    vertical-align: top;
}
input::placeholder,
textarea::placeholder {
    color: #aaaaaa;
}
.required {
	font-size: 0.7em;
	color: #ffffff;
	background-color: var(--color01);
	display: inline-block;
	line-height: 1;
	padding: 2px 4px;
	vertical-align: text-bottom;
	margin-left: 0.5em;
	border-radius: 3px;
}
input[type="submit"] {
	display: inline-block;
	width: 240px;
	max-width: 100%;
	font-size: 1em;
	color: #fff;
	text-align: center;
	padding: 10px 30px;
	background-color: var(--color-link);
	border-style: none;
	margin: 0 15px 20px;
}
input[type="submit"]:hover:enabled,
input[type="submit"]:hover:enabled {
	background-color: var(--color-link-hover);
}
.submit-btn-wrap {
	text-align: center;
	margin-top: 60px;
}
.input-address {
	margin-top: 10px;
}
.privacy-protection {
	border: 1px solid #999999;
	padding: 20px;
}
.privacy-protection h3 {
	margin-top: 0;
	margin-bottom: 0.5em;
}
.privacy-protection p {
	margin-bottom: 0;
}
.privacy-check {
	margin-top: 1em;
}








/* メタスライダー　　トップページメインスライダーにクラスをつける「.top_slide_caro」　 */
.metaslider.top_slide_caro .flex-viewport {
	overflow: visible!important;
}
.metaslider.top_slide_caro .flex-viewport ul.slides li.ms-image {
	opacity: 0.3;
}
.metaslider.top_slide_caro .flex-viewport ul.slides li.flex-active-slide {
	opacity: 1;
}
.metaslider.top_slide_caro .flex-viewport ul.slides li img {
	/*
	padding-left: 3px;
	padding-right: 3px;
	*/
	box-sizing: border-box;
}

.top-main-visual .metaslider .flexslider .flex-direction-nav li a {
    margin: -20px -40px 0;
    /* background-color: transparent; */
    position: absolute;
    top: 50%;
    z-index: 10;
    cursor: pointer;
    text-indent: -9999px;
    opacity: 0.8;
    /* -webkit-transition: all .3s ease; */
    /* -moz-transition: opacity .25s ease-in-out;
    /* transition: all .3s ease; */
	-webkit-transition: none;
    -moz-transition: none;
    transition: none;
}
.top-main-visual .flex-direction-nav .flex-next,
.top-main-visual .flexslider:hover .flex-direction-nav .flex-next {
	right: 0px;
}
.top-main-visual .flex-direction-nav .flex-prev,
.top-main-visual .flexslider:hover .flex-direction-nav .flex-prev {
	left: 0;
}



/* slickスライダー */
.top-mainvisual {
	position: relative;
}
.top-mainvisual .slider {
	overflow: hidden;
	width: 100%;
	height: 35vw;
	min-height: 600px;
	margin: 0 auto;
	position: relative;
}

.slider.animation {
	/* jsで .slider-animation を付与 */
}
.slider.fullscreen {
	height: calc(100vh - var(--header-height));
}

.slick-list {
	width: 100%;
	height: 100%;
}
.slick-track {
	width: 100%;
	height: 100%;
}
/*
.slider-item::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-image: radial-gradient(rgba(0,0,0,0.3) 1px, transparent 1px);
    background-size: 2px 2px;
	background-repeat: repeat;
	position: absolute;
	top: 0;
	left: 0;
}
*/
.slider-item {
	width: 100%;
	height: 100%;
}
.slider-item img {
	margin: auto;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width: 100%;
	height: 100%;
	max-width: auto;
	/*
	width: 100%;
	max-width: 100%;
	height: calc(100vh - var(--header-height));
	max-height: calc(100vh - var(--header-height));
	*/
}
.slick-arrow {
	z-index: 1;
	transition: all 0.5s 0s ease;
}
.slider:hover .slick-prev {
	left: 15px;
}
.slider:hover .slick-next {
	right: 15px;
}
.slick-dotted.slick-slider {
	margin-bottom: 0;
	padding-bottom: 30px;
}
.slick-dots {
	bottom: 0;
}
/*
ズーム（ズームイン）させるためのアニメーション
コメントアウト部分を入れ替えれば、ズームアウトになります。
*/
.slider-animation img {
  /* アニメーション名 アニメーションにかかる時間 アニメーションの実行前後の状態 */
  /* zoom-fade 10秒 [実行前]最初のキーフレーム（0%） → [実行後]最後のキーフレーム（100%） */
  animation: zoom-fade 10s both;
}

@keyframes zoom-fade {
  0% {
    /*transform: scale(1.05);*/
    transform: scale(1);
  }
  100% {
    /*transform: scale(1);*/
    transform: scale(1.1);
  }
}

.slider-item {
	position: relative;
}
.slider-item-text {
	position: absolute;
	top: 10%;
	left: 0;
	/*
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	*/
	z-index: 100;
	/*
	color: #fff;
	width: 90%;
	*/
	background-color: rgba(60,40,0,0.6);
	padding: 1em 2em;
}
.slider-item-text h2 {
	margin-top: 0;
	font-weight: bold;
	font-size: 3em;
	color: #ffffff;
	/*
	text-shadow: 1px 2px 3px #808080;
	text-align: center;
	*/
	margin-bottom: 0;
	font-family: var(--font-family-mincho);
}
.slider-item-text h2 span {
	font-size: 0.7em;
	font-weight: inherit;
}
.slider-item-text p {
	font-size: 1.3125em;
	color: #ffffff;
	margin: 1em 0 0;
	font-family: var(--font-family-mincho);
	/*
	text-align: center;
	text-shadow: 1px 1px 2px #808080;
	*/
}

/*=== 9-1-4 スクロールダウン　矢印が動いてスクロールを促す  ====*/
.scrolldown4{
	position: absolute;
	bottom: 1%;
	right: 50%;
	animation: arrowmove 1s ease-in-out infinite;
}
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }
.scrolldown4 span{
	position: absolute;
	left: -25px;
	bottom: 10px;
	color: #ffffff;
	font-size: 0.8em;
	letter-spacing: 0.05em;
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}
.scrolldown4:before {
    content: '';
    position: absolute;
    bottom: 0;
    right: -6px;
    width: 4px;
    height: 20px;
    background: #ffffff;
    transform: skewX(-31deg);
}
.scrolldown4:after{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	width: 4px;
	height: 50px;
	background: #ffffff;
}




/* ----- ページトップ ----- */
#page-top{
	width: 50px;
    height: 50px;
    position: fixed;
    right: 20px;
    bottom: 20px;
    background: var(--color-link, #cc6699);
    opacity: 0.6;
    border-radius: 50%;
	z-index: 1000;
}
#page-top a{
	position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}
#page-top a::before{
	font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f062';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    line-height: 1;
}



/* CSSアニメーションの指定 */
/* 下からスライドイン */
.anim-box.slidein {
    transform: translateY(60px);
    opacity: 0;
}
.anim-box.slidein.is-animated {
    animation: slideIn 1.0s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slideIn {
    0% {
        transform: translateY(60px);
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* 左からスライドイン */
.anim-box.slidein-l {
    transform: translateX(-100px);
    opacity: 0;
}
.anim-box.slidein-l.is-animated {
    animation: slideIn-l 1.0s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slideIn-l {
    0% {
        transform: translateX(-100px);
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* 右からスライドイン */
.anim-box.slidein-r {
    transform: translateX(100px);
    opacity: 0;
}
.anim-box.slidein-r.is-animated {
    animation: slideIn-r 1.0s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes slideIn-r {
    0% {
        transform: translateX(100px);
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

/* ズームイン */
.anim-box.zoomin {
    opacity: 0;
}
.anim-box.zoomin.is-animated {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* フェードイン */
.anim-box.fadein {
    opacity: 0;
}
.anim-box.fadein.is-animated {
  animation: fadeIn 2s forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}





/* 背景固定　やり方1　
背景固定　パララックス効果（fanctions.jsに記載） */
/* 古い方法なので削除
.od-fixed-bg2 {
	background: url("images/main_visual_03.jpg") no-repeat center center;
	background-attachment: fixed;
	background-size: cover;
	position: relative;
	z-index: 0;
}

.od-fixed-bg2::after {
	content: '';
	display: block;
	background-color: rgba(255, 255, 255, 0.8);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.od-fixed-bg2.dark::after {
	background-color: rgba(0, 0, 0, 0.5);
}

.od-fixed-bg2.bg01 {
    background-image: url("images/main_visual_05.jpg");
}
.od-fixed-bg2.bg02 {
    background-image: url("images/main_visual_04.jpg");
}
*/


/* 背景固定　やり方2 */
/*背景固定コンテンツ　jQuery使用　（fanctions.jsに記載） */
/*.fix-bg-cont　クラスに.showを追加して.fix-bgを表示（固定） */
/* .fix-bgと.add-filterを合わせて使うとフィルターがかかる */
.fix-bg-cont .fix-bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: none;
    z-index: -100;
}

.fix-bg-cont.show .fix-bg {
    display: block;
}
/*　以下があるとダメかも？？？　連続して使用する時に対応したが・・・ */
.fix-bg-cont {
	overflow: hidden;
	/* transform: scale(1); */
    /* perspective: 0; */
    filter: blur(0);   /*本来はぼかしの設定だが、　absoluteで配置した要素もoverflow: hidden させるために記載 */
}
.fix-bg-cont .fix-bg {
	background-attachment: fixed;
}

.fix-bg.bg01 {
    background-image: url("images/image_top04.jpg");
}
.fix-bg.bg02 {
    background-image: url("images/image_top05.jpg");
}



/* 背景固定　やり方3 */
/* 親に.od-fix-bg  内包.fixed-bg-wrap .fixed-bg */
/* .fixed-bgと.add-filterを合わせて使うとフィルターがかかる */
.od-fix-bg {
	position: relative;
	overflow: hidden;
	width: 100%;
}
.od-fix-bg .fix-bg-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	clip: rect(0, auto, auto, 0);
}
.od-fix-bg .fix-bg {
	position: fixed;
	z-index: -1;
	display: block;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-size: cover;
	background-position: center center;
}



/* フィルター　フィルターをかける場所（親とか）にposition: relative; */
.bg-filter {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.8);
	mix-blend-mode: normal;
	/* z-index: -1; */
}
.bg-filter.dark {
	background-color: #999999;
	mix-blend-mode: multiply;
}

.add-filter::after {
	content: '';
	background-color: rgba(255, 255, 255, 0.8);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.add-filter.dark::after {
	background-color: rgba(0, 0, 0, 0.5);
}




/* カバーブロック */
.od-block-cover {
	display: flex;
	align-items: center;
	justify-content: center;
	background-position: 50%;
	overflow: clip;
	min-height: 300px;
	padding: 1em;
	position: relative;
	z-index: 0;
}
.od-block-cover .bg-image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-image: url(http://od004.local/wp-content/uploads/2022/09/image_top08.jpg);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	z-index: -1;
}
.cover-inner {
	/* color: #ffffff; */
}

















/** ===========================================================================================
 *
 *  ページ個別
 *
 *  =========================================================================================== */


.sec-pT {
    padding-top: 80px;
	/* padding-top: clamp(40px, 5vw, 100px); */
}
.sec-pB {
    padding-bottom: 80px;
	/* padding-bottom: clamp(40px, 5vw, 100px); */
}

.entry-content .sec-title,
.sec-title {
	font-size: 2.5em;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color: var(--color01);
}
.entry-content .sec-sub-title,
.sec-sub-title {
	display: block;
	font-size: 0.6em;
	font-weight: inherit;
}


.spacer-s {
	height: 60px;
}
.spacer-m {
	height: 80px;
}
.spacer-l {
	height: 120px;
}


.catch {
    font-size: 1.5em;
    text-align: center;
}
.lead {
    text-align: center;
}


.anchor::before {
	display: block;
	content: '';
    padding-top: 120px;
    margin-top: -120px;
}



img.waku {
	border: 1px solid #333333;
}
img.fullwide {
	width: 100%;
}


.bnrlist-img-waku li {
	border: 1px solid #333333;
}
.bnrlist-img-waku li img {
	display: block;
	width: 100%;
}









/**
 *  アーカイブページ
 */
/* 一覧ページレイアウト */











/* 一覧ページレイアウト　info */




/**
 *  シングルページ
 */






/**
 *  固定ページ
 */
body.page .entry-header.custom-title {
	padding: 0;
	border: none;
	margin: 0 auto;
	background-color: transparent;
}
.title-obi {
    min-height: 35vw;
	position: relative;
	padding-top: 30px;
	padding-bottom: 30px;
}
.title-obi .title-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	background-color: var(--color01-4);
}
.content-title-text {
	display: inline-block;
	/*max-width: calc(700px + calc(var(--vw50) - 50%)); */
	min-width: 30%;
	background-color: rgba(60,40,0,0.6);
	color: #ffffff;
	margin-top: 0;
	margin-left: calc(50% - var(--vw50));
    padding: 1.5em 2em 1.5em calc(var(--vw50) - 50%);
	margin-bottom: 0;
}
.title-obi h1 {
	font-size: 3em;
    font-weight: bold;
	line-height: 1.4;
	font-family: var(--font-family-mincho);
    margin: 0;
}
.title-obi h1 span {
	font-size: 0.7em;
	font-weight: inherit;
}
.title-obi .title-sub {
	font-size: 1em;
	line-height: 1.4;
    margin-bottom: 0;
}




/**
 *  コンタクトウィジェット
 */
.contact-box {
	border: 2px solid var(--color01, #33bbcc);
}
.contact-box h2 {
	font-size: 1.2em;
	color: #ffffff;
	text-align: center;
	background-color: var(--color01, #33bbcc);
	margin: 0;
	padding: 10px;
}
.contact-box .bg {
	padding: 20px 30px;
	background: url("images/contact_image.png") no-repeat top right;
	background-size: auto 100%;
}
.contact-box .text-cont {
	width: 500px;
	max-width: 70%;
	margin-right: 30%;
}
.contact-box p {
	margin-bottom: 0;
	text-align: center;
	line-height: 1.4;
}
.contact-box p.tel {
	font-size: 3em;
    line-height: 1;
}
.contact-box p.tel .fas {
	font-size: 0.75em;
}
.contact-box p.tel span {
    font-family: 'Oswald', sans-serif;
    font-family: var(--font-family-gothic02, "Helvetica", "Helvetica Neue", "Hiragino Kaku Gothic ProN", sans-serif);
    font-family: "Helvetica";
    font-weight: bold;
    vertical-align: middle;
}
.contact-box p.business-hours {
	font-size: 0.875em;
}
.contact-box p.mail-link {
	margin-top: 20px;
}
.contact-box p.mail-link a {
	display: block;
	color: #ffffff;
	background-color: var(--color02, );
	padding: 10px;
	border-radius: 5px;
}
.contact-box p.mail-link .fas {
	font-size: 1.5em;
	vertical-align: middle;
    margin-right: 5px;
}
.contact-box p.mail-link span {
	vertical-align: middle;
}
.contact-box p.mail-link a:hover {
	opacity: 0.75;
}




/**
 *  ODパターン
 */








/**
 *  トップページ
 */
.intro-about-cont {
	position: relative;
	padding: 6% 0;
}
.intro-about-cont .cont-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.intro-about-cont .cont-bg img {
	object-position: top;
}
.intro-about-cont .cont-inner {
	display: flex;
	align-items: center;
	min-height: 36vw;
}
.intro-about-cont .area-text {
	width: 50%;
}
.intro-about-cont h2 {
	font-size: 2.5em;
	font-size: clamp(1.5em, 3vw, 2.5em);
	font-family: var(--font-family-mincho);
}
.intro-about-cont h2 + p {
	line-height: 2;
}
.intro-about-cont .link-btn-wrap {
	margin-top: 3em;
}

.intro-facility-cont {
	position: relative;
	padding: 6% 0;
	background-color: var(--color01-4);
}
.intro-facility-cont .cont-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 55%;
	height: 100%;
	z-index: 0;
}
.intro-facility-cont .cont-inner {
	display: flex;
	align-items: center;
	min-height: 26vw;
	position: relative;
	z-index: 1;
}
.intro-facility-cont .area-text {
	width: calc(var(--vw100) * 0.45 + 50% - var(--vw50));
	margin-left: auto;
	padding: 0 2% 0 3%;
}
.intro-facility-cont h2 {
	font-size: 2em;
	font-size: clamp(1.4em, 2.5vw, 2em);
	font-family: var(--font-family-mincho);
}
.intro-facility-cont h2 + p {
	line-height: 2;
}
.intro-facility-cont .link-btn-wrap {
	margin-top: 3em;
}


.top-info-title {
	padding-right: 1em;
	margin-right: 1.5em;
    border-right: 2px dotted var(--color01);
}
.top-info-title h2 {
	white-space: nowrap;
}
.info-article .article-cat-list {
	display: none;
}
.top-info-archive-link {
	font-size: 0.875em;
	text-align: right;
	margin-bottom: 0;
}


.top-sublink-item {
	position: relative;
}
.top-sublink-item .item-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.top-sublink-item .item-inner {
	padding: 50px 8%;
}
.top-sublink-item .area-text {
	max-width: 600px;
	padding: 20px 20px;
	border: 1px solid var(--color01);
	text-align: center;
}
.top-sublink-item .area-text h4 {
	font-size: 1.5em;
}
.top-link-blog .area-text {
	margin-left: auto;
}




/**
 *  志真会について
 */
.corporate-policy-wrap {
	padding: 50px 10px 30px;
	border-bottom: 1px solid #aaaaaa;
}
.corporate-policy-wrap.philosophy {
	border-top: 1px solid #aaaaaa;
}
.greeting-sec {
	background-color: var(--color01);
	color: #ffffff;
}
.greeting-sec .midashi02 {
	color: #ffffff;
}
.greeting-cont .area-image img {
	border-radius: 50%;
}



/**
 *  施設紹介
 */
.facility-item {
	padding-top: 40px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--color01-2);
}
.facility-item:first-child {
	border-top: 1px solid var(--color01-2);
}
.facility-title {
	padding: 3px 0 3px 10px;
	border-left: 10px solid var(--color02);
	margin-bottom: 1.6em;
}
.facility-type {
	font-size: 1.125em;
	font-weight: bold;
	color: var(--color01);
	margin-bottom: 0;
}
.facility-title h3  {
	margin-top: 0;
	margin-bottom: 0;
}
.facility-title h3 span {
	font-size: 1.5em;
}
.facility-service-list li {
	border: 1px solid var(--color01);
	border-radius: 5px;
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.4;
	text-align: center;
}



/**
 *  施設紹介　個別
 */
.facility-service-detail {
	border: 1px solid var(--color01);
	border-radius: 5px;
	padding: 20px;
}
.facility-service-detail h3 {
	margin-top: 0;
}
.facility-service-detail .capacity {
	margin-bottom: 0.5em;
}
.facility-service-detail .capacity span {
	font-size: 1.5em;
}
.facility-service-detail .explanation {
	margin-bottom: 0;
}




/**
 *  夢の郷　施設案内　コンセプト
 */
.guide-counter figure {
	margin-bottom: 0;
}
.guide-counter figure img {
	display: block;
}
.guide-counter .area-text {
	padding: 40px 30px;
	background-color: var(--color01-4);
}
.menu-alacarte {
	padding: 20px 20px;
	border: 1px solid var(--color01);
}
.menu-alacarte dl {
	margin-bottom: 0;
}
.menu-alacarte dt {
	width: 9em;
    float: left;
	clear: both;
	font-weight: normal;
}
.menu-alacarte dd {
	margin-left: 10em;
	margin-bottom: 5px;
}

.point-box {
	padding: 20px 20px;
	background-color: var(--color01-4);
}
.point-box .point-title {
	font-size: 1.125em;
	margin: 0;
}
.point-box p {
	margin-top: 1em;
	margin-bottom: 0;
}





/**
 *  法人概要
 */
.outline-cont table td:first-child {
	white-space: nowrap;
}
.traffic-by h4 {
	font-size: 1.125em;
	color: var(--color01);
	padding: 6px 0 6px 45px;
	position: relative;
}
.traffic-by h4::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 36px;
	height: 36px;
	content: '';
	background: url("images/icon_train.png") no-repeat center center;
	background-size: contain;
}
.traffic-by.by-car h4::before {
	background: url("images/icon_car.png") no-repeat center center;
	background-size: contain;
}



/**
 *  夢の郷児童クラブ
 */
.target {
	background-color: var(--color01);
	padding: 1em 20px;
	color: #ffffff;
	font-size: 1.3125em;
	text-align: center;
	line-height: 1.4;
	font-weight: bold;
}
.target span {
	display: inline-block;
	background-color: #ffffff;
	padding: 3px 20px;
	border-radius: 20px;
	color: var(--color-text);
	margin-right: 1em;
}
.star {
	color: #ff0000;
}

.judo-detail .price {
	font-size: 1.5em;
}
.korobikata {
	display: block;
	background-color: #ff0000;
	padding: 0.3em 20px;
	text-align: center;
	color: #ffffff;
	font-size: 1.2em;
}


/**
 *  柔道クラブ
 */
.facility-overview h3 {
	margin: 0 0 0.5em;
}
.facility-overview .contact {
	margin-bottom: 0;
}
.facility-overview .tel-num {
	font-size: 1.5em;
	font-weight: bold;
}
.facility-overview .address {
	
}



/**
 *  情報公開
 */
.report-list li {
	margin-bottom: 0.5em;
}
.report-list li:last-child {
	margin-bottom: 0;
}




/**
 *  お問い合わせ
 */










/* --- 時々使うCSS3 start -----------------------------

リンク　ゆっくり変化
a,a:hover {
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

ボックスシャドウ {
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

ボックスシャドウ内側 {
	-moz-box-shadow: inset 1px 1px 3px #000;
	-webkit-box-shadow: inset 1px 1px 3px #000;
	box-shadow: inset 1px 1px 3px #000;
}

角丸 {
	border-radius: 8px; 
}

トランジション {
	-webkit-transition: 1.5s;
	-moz-transition: 1.5s;
	-o-transition: 1.5s;
	transition: 1.5s;
}

透明 {
	filter: alpha(opacity=25);
	-moz-opacity:0.25;
	opacity:0.25;
}

背景のみ透明 {
	background-color:rgba(255,255,255,0.2);
}

グラデーション {
	background: -moz-linear-gradient(top, #ffffff 0%, #a2d93f 10%, #ffa220 90%, #000000 100%);
	background: -webkit-linear-gradient(top, #ffffff 0%, #a2d93f 10%, #ffa220 90%, #000000 100%));
	background: linear-gradient(to bottom, #ffffff 0%, #a2d93f 10%, #ffa220 90%, #000000 100%);
}

スマホ対応
@media screen and (max-width: 480px){
	
}



時々使うCSS3 end  --------------------------------------- */










/** ===========================================================================================
 *
 *  Media Queries
 *
 *  =========================================================================================== */
 
/*
@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}
*/



@media screen and (max-width: 1600px) {
	.metaslider.top_slide_caro .flex-viewport ul.slides li img {
		padding-left: 0px;
		padding-right: 0px;
	}
	.top-main-visual .metaslider .flexslider .flex-direction-nav li a {
    	margin: -20px 10px 0;
	}
	
}


@media screen and (max-width: 1429px) {
	html {
	    /* font-size: 62.5%; */  /*1rem=10px 標準フォントサイズ16px*/
    }
	:root {
		--sidespace: calc(var(--vw100) * 0.04);
	}
	/* 計算式は VW - (VW * 0.08 * 2) < 1200px  */
	
    
}



@media screen and (max-width: 1305px) {
	/*
	:root {
		--sidespace: 20px;
	}
    */
	/* 計算式は VW - (VW * 0.04 * 2) < 1200px */
    
}



@media screen and (max-width: 1280px) {
	
	
	
	
	
}



@media screen and (max-width: 1024px) {
    :root {
		--sidespace: 20px;
	}
}



@media screen and (max-width: 960px) {
	
	:root {
		--header-height: 60px;
	}
	
	body,
	button,
	input,
	select,
	textarea {
		/* font-size: 15px; */
		/* font-size: 1.5rem; */
	}
	
	.pc, .pc-text {display: none!important;}
	.sp, .sp-text {display: none!important;}
	.tab {display: block!important;}
	.tab-text {display: inline!important;}
	
	
	.site-header {
		/*
		position: sticky;
		top: 0;
		*/
	}
	/*
	.head-line-inner {
		height: 60px;
	}
	*/
	.site-branding {
		flex: 0 1 auto;
	}
	.site-title {
		max-width: 240px;
	}
	.head-info {
		display: none;
	}
	
	.head-sub {
		margin-right: 40px;
	}
	
	/* ---------- メインナビゲーション ------------- */
	.site-header-menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
	}
	.main-navigation {
		/* position: relative; */
	}
	.main-navigation a {
		/*padding: 0.8em 5px;*/
		/*position: relative;*/
	}
	.menu-toggle {
		background-color: var(--color-link);
		border-radius: 0;
		font-size: 13px;
		font-size: 1.3rem;
		color: #fff;
		text-align: center;
		text-indent: -9999px;
		width: 40px;
		height: 40px;
		border: none;
		padding: 0;
		margin: 0;
		position: absolute;
		top: -50px;
		right: 10px;
		/*
		background-image: url(images/toggle-icon.png);
		background-size: auto 100%;
		background-position: top right;
		background-repeat: no-repeat;
		*/
		z-index: 1100;
		cursor: pointer;
	}
	.menu-toggle {
		display: table;
	}
	.menu-toggle span {
		display: inline-block;
		transition: all .4s;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 50%;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		transform: translate(-50%, -50%);
	}
	.menu-toggle span:nth-of-type(1) {
		top: 30%;
	}
	.menu-toggle span:nth-of-type(2) {
		top: 50%;
	}
	.menu-toggle span:nth-of-type(3) {
		top: 70%;
	}
	/*activeクラスが付与されると線が回転して×に*/
	.toggled-on .menu-toggle span:nth-of-type(1) {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
		width: 70%;
	}
	.toggled-on .menu-toggle span:nth-of-type(2) {
		opacity: 0;
	}
	.toggled-on .menu-toggle span:nth-of-type(3) {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
		width: 70%;
	}
	/*
	.site-header-menu.toggled-on .menu-toggle {
		text-align: left;
		text-indent: -9999px;
		padding-left: 10px;
		background-image: url(images/toggle-icon_close.png);
	}
	*/
	.menu-toggle:focus {
		outline: none;
	}
	
	.site-header-menu .menu-container {
		background-color: #f6f6f6;
		padding: 20px 20px 30px 20px;
		margin: 0;
		border-bottom: 2px solid #ffffff;
		overflow: auto;
		width: 100%;
		max-height: calc(100vh - 60px);
		display: none;
	}
	.site-header-menu.toggled-on .menu-container {
		display: block;
		/* position: fixed; */
	}
	
	ul.primary-menu {
		flex-direction: column;
	}
	ul.primary-menu li {
		/* position: relative; */
		padding: 0;
		border-top: 1px dashed #ccc;
	}
	ul.primary-menu li a {
	}
	ul.primary-menu > li > a,
	ul.primary-menu ul li a {
		color: #333333;
		padding: 20px 10px;
		text-align: left;
		background-color: inherit;
	}
	ul.primary-menu > li > a:hover,
	ul.primary-menu ul li a:hover {
		background-color: var(--color-link-hover);
    	color: #fff;
	}
	
	ul.primary-menu > li {
		margin: 0;
	}
	ul.primary-menu > li:last-child {
		border-bottom: 1px dashed #ccc;
	}
	ul.primary-menu > li > a {
		align-items: flex-start;
	}
	ul.primary-menu > li > a::after {
		display: none;
	}
	
	ul.primary-menu > .current_page_item > a,
	ul.primary-menu > .current_page_ancestor > a,
	ul.primary-menu > .current-menu-item > a,
	ul.primary-menu > .current-menu-ancestor > a {
	}
	ul.primary-menu .sub-menu .current_page_item > a,
	ul.primary-menu .sub-menu .current-menu-item > a {
	}
	
	ul.primary-menu > li > .sub-menu {
		background-color: inherit;
		position: inherit;
		height: auto;
		width: 100%;
		clip: inherit;
		padding-left: 15px;
		border-top: none;
	}
	ul.primary-menu > li:last-child > .sub-menu,
	ul.primary-menu > li:nth-last-child(2) > .sub-menu {
		right: auto;
	}
	ul.primary-menu > li:hover > .sub-menu {
		width: 100%;
	}
	ul.primary-menu .sub-menu li,
	ul.primary-menu > li > .sub-menu > li:first-child {
		border-top: 1px dashed #ccc;
	}
	ul.primary-menu .sub-menu ul {
		position: inherit;
		left: inherit;
		top: inherit;
		width: 100%;
		padding-left: 15px;
	}
	ul.primary-menu li:last-child .sub-menu ul {
		left: 0;
	}
	
	ul.primary-menu > li.sp {
		display: block;
	}
	
	
	
	.site-content {
		flex-wrap: wrap;
	}
	.widget-area {
		flex: 0 1 100%;
		/* width: 100%; */
		margin-left: 0;
	}
	
	
	
	.post-navigation {
	}
	.post-navigation .nav-previous a {
	}
	.post-navigation .nav-next a {
	}
	
	
	
	.widget h2 {
		margin-left: calc(50% - var(--vw50));
		margin-right: calc(50% - var(--vw50));
		padding: 5px calc(var(--vw50) - 50%);
	}
	
	
	
	.sec-pT {
		padding-top: 60px;
	}
	.sec-pB {
		padding-bottom: 60px;
	}
	
	
	
	
	
	/* ---------- ページトップへ ------------- */
	#page-top {
		width: 40px;
		height: 40px;
		position: fixed;
		right: 10px;
		bottom: 10px;
		border-radius: 50%;
	}
	#page-top a {
		width: 40px;
		height: 40px;
	}
	
	
	/* 背景固定解除　パララックス効果（fanctions.jsに記載） */
	/* 古い方法なので削除
	.od-fixed-bg2 {
		background-size: cover;
		background-attachment: scroll;
		background-size: auto 100vh;
	}
	*/
	
	
	/* ----- トップページ ----- */
	
	
	
	
	
	
}



@media screen and (max-width: 768px) {
	
	.col-tab-5,.col-tab-4,.col-tab-3,.col-tab-2,.col-tab-1 {flex-wrap: wrap;}
	.col-tab-5 > * {width: 20%;}
	.col-tab-4 > * {width: 25%;}
	.col-tab-3 > * {width: 33.333333333%;}
	.col-tab-2 > * {width: 50%;}
	.col-tab-1 > * {width: 100%;}
	.cgap-ss.col-tab-5 > * {width: calc(calc(100% - 1% * 4) / 5);}
	.cgap-ss.col-tab-4 > * {width: calc(calc(100% - 1% * 3) / 4);}
	.cgap-ss.col-tab-3 > * {width: calc(calc(100% - 1% * 2) / 3);}
	.cgap-ss.col-tab-2 > * {width: calc(calc(100% - 1% * 1) / 2);}
	.cgap-ss.col-tab-1 > * {width: 100%;}
	.cgap-s.col-tab-5 > * {width: calc(calc(100% - 2% * 4) / 5);}
	.cgap-s.col-tab-4 > * {width: calc(calc(100% - 2% * 3) / 4);}
	.cgap-s.col-tab-3 > * {width: calc(calc(100% - 2% * 2) / 3);}
	.cgap-s.col-tab-2 > * {width: calc(calc(100% - 2% * 1) / 2);}
	.cgap-s.col-tab-1 > * {width: 100%;}
	.cgap-sm.col-tab-5 > * {width: calc(calc(100% - 3% * 4) / 5);}
	.cgap-sm.col-tab-4 > * {width: calc(calc(100% - 3% * 3) / 4);}
	.cgap-sm.col-tab-3 > * {width: calc(calc(100% - 3% * 2) / 3);}
	.cgap-sm.col-tab-2 > * {width: calc(calc(100% - 3% * 1) / 2);}
	.cgap-sm.col-tab-1 > * {width: 100%;}
	.cgap-m.col-tab-5 > * {width: calc(calc(100% - 4% * 4) / 5);}
	.cgap-m.col-tab-4 > * {width: calc(calc(100% - 4% * 3) / 4);}
	.cgap-m.col-tab-3 > * {width: calc(calc(100% - 4% * 2) / 3);}
	.cgap-m.col-tab-2 > * {width: calc(calc(100% - 4% * 1) / 2);}
	.cgap-m.col-tab-1 > * {width: 100%;}
	.cgap-l.col-tab-5 > * {width: calc(calc(100% - 6% * 4) / 5);}
	.cgap-l.col-tab-4 > * {width: calc(calc(100% - 6% * 3) / 4);}
	.cgap-l.col-tab-3 > * {width: calc(calc(100% - 6% * 2) / 3);}
	.cgap-l.col-tab-2 > * {width: calc(calc(100% - 6% * 1) / 2);}
	.cgap-l.col-tab-1 > * {width: 100%;}
	
	.space-around.cgap-ss.col-tab-5 > * {width: calc(100% / 5 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-tab-4 > * {width: calc(100% / 4 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-tab-3 > * {width: calc(100% / 3 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-tab-2 > * {width: calc(100% / 2 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-tab-1 > * {width: calc(100% / 1 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-s.col-tab-5 > * {width: calc(100% / 5 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-tab-4 > * {width: calc(100% / 4 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-tab-3 > * {width: calc(100% / 3 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-tab-2 > * {width: calc(100% / 2 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-tab-1 > * {width: calc(100% / 1 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-sm.col-tab-5 > * {width: calc(100% / 5 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-tab-4 > * {width: calc(100% / 4 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-tab-3 > * {width: calc(100% / 3 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-tab-2 > * {width: calc(100% / 2 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-tab-1 > * {width: calc(100% / 1 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-m.col-tab-5 > * {width: calc(100% / 5 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-tab-4 > * {width: calc(100% / 4 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-tab-3 > * {width: calc(100% / 3 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-tab-2 > * {width: calc(100% / 2 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-tab-1 > * {width: calc(100% / 1 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-l.col-tab-5 > * {width: calc(100% / 5 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-tab-4 > * {width: calc(100% / 4 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-tab-3 > * {width: calc(100% / 3 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-tab-2 > * {width: calc(100% / 2 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-tab-1 > * {width: calc(100% / 1 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	
	
	.col-break-tab {flex-wrap: wrap;}
	.col-break-tab > * {width: 100%;}
	.col-break-tab .col-space-left-ss,
	.col-break-tab .col-space-left-s,
	.col-break-tab .col-space-left-sm,
	.col-break-tab .col-space-left-m,
	.col-break-tab .col-space-left-l,
	.col-break-tab .cont-space-left-ss,
	.col-break-tab .cont-space-left-s,
	.col-break-tab .cont-space-left-sm,
	.col-break-tab .cont-space-left-m,
	.col-break-tab .cont-space-left-l {padding-left: 0;}
	.col-break-tab .col-space-right-ss,
	.col-break-tab .col-space-right-s,
	.col-break-tab .col-space-right-sm,
	.col-break-tab .col-space-right-m,
	.col-break-tab .col-space-right-l,
	.col-break-tab .cont-space-right-ss,
	.col-break-tab .cont-space-right-s,
	.col-break-tab .cont-space-right-sm,
	.col-break-tab .cont-space-right-m,
	.col-break-tab .cont-space-right-l {padding-right: 0;}
	
	/*
	.ib-column-50 {width: 100%; margin-right: 0;}
	.ib-column-48 {width: 100%; margin-right: 0;}
	.ib-column-32 {width: 100%; margin-right: 0;}
	.ib-column-31 {width: 100%; margin-right: 0;}
	.ib-column-30 {width: 100%; margin-right: 0;}
	.ib-column-22 {width: 100%; margin-right: 0;}
	
	.column50 {float: none; width: 100%; margin-right: 0;}
	.column48 {float: none; width: 100%; margin-right: 0;}
	.column32 {float: none; width: 100%; margin-right: 0;}
	.column31 {float: none; width: 100%; margin-right: 0;}
	.column30 {float: none; width: 100%; margin-right: 0;}
	.column22 {float: none; width: 100%; margin-right: 0;}
	*/
	
	
	
	
	.footer-main-inner {
		flex-wrap: wrap;
	}
	.footer-main-inner .footer-box1 {
		flex: 0 1 100%;
		padding-right: 0;
		margin-right: 0;
		border-right: none;
		border-top: 1px solid #666666;
		padding-top: 20px;
	}
	.f-site-title img {
		width: 160px;
		margin-left: auto;
		margin-right: auto;
	}
	.footer-main-inner .footer-box2 {
		flex: 0 1 100%;
		padding-bottom: 1em;
	}
	
	
	
	
	/* ----- Display Posts ----- */
	.blog-wrap li.listing-item {
		width: 100%;
		float: none;
		margin-right: 0;
		margin-bottom: 40px;
	}
	
	
	
	
	
	
	
	
	/* ----- トップページ ----- */
	.intro-about-cont {
		padding-bottom: 40%;
	}
	.intro-about-cont .cont-bg img {
		object-fit: none;
		object-position: bottom;
	}
	.intro-about-cont .area-text {
		width: 100%;
	}
	.intro-about-cont h2 {
		text-align: center;
	}
	.intro-about-cont .link-btn-wrap {
		text-align: center;
	}
	.intro-facility-cont {
		padding-top: 0;
	}
	.intro-facility-cont .cont-bg {
		width: 100%;
		position: inherit;
		margin-bottom: 3em;
	}
	.intro-facility-cont .object-fit img {
		object-fit: none;
		object-position: top;
	}
	.intro-facility-cont .area-text {
		width: 100%;
	}
	.intro-facility-cont .link-btn-wrap {
		text-align: center;
	}
	
	.top-info-sec .flex-cont {
		flex-wrap: wrap;
	}
	.top-info-title {
		width: 100%;
		border-right: 0;
		text-align: center;
	}
	.top-info-main {
		width: 100%;
	}
	
	
	/* ----- サービス ----- */
	
	
	
	
		
	
	
}


@media screen and (max-width: 560px) {
	
	
	.pc, .pc-text {display: none!important;}
	.tab, .tab-text {display: none!important;}
	.sp {display: block!important;}
	.sp-text {display: inline!important;}
	
	
	.site-content {
		/*
		padding-left: 15px;
		padding-right: 15px;
		*/
	}
    
	.wrap-wide,
	.wrap-wide-lg {
		
	}
    
	
	.col-sp-5,.col-sp-4,.col-sp-3,.col-sp-2,.col-sp-1 {flex-wrap: wrap;}
	.col-sp-5 > * {width: 20%;}
	.col-sp-4 > * {width: 25%;}
	.col-sp-3 > * {width: 33.333333333%;}
	.col-sp-2 > * {width: 50%;}
	.col-sp-1 > * {width: 100%;}
	.cgap-ss.col-sp-5 > * {width: calc(calc(100% - 1% * 4) / 5);}
	.cgap-ss.col-sp-4 > * {width: calc(calc(100% - 1% * 3) / 4);}
	.cgap-ss.col-sp-3 > * {width: calc(calc(100% - 1% * 2) / 3);}
	.cgap-ss.col-sp-2 > * {width: calc(calc(100% - 1% * 1) / 2);}
	.cgap-ss.col-sp-1 > * {width: 100%;}
	.cgap-s.col-sp-5 > * {width: calc(calc(100% - 2% * 4) / 5);}
	.cgap-s.col-sp-4 > * {width: calc(calc(100% - 2% * 3) / 4);}
	.cgap-s.col-sp-3 > * {width: calc(calc(100% - 2% * 2) / 3);}
	.cgap-s.col-sp-2 > * {width: calc(calc(100% - 2% * 1) / 2);}
	.cgap-s.col-sp-1 > * {width: 100%;}
	.cgap-sm.col-sp-5 > * {width: calc(calc(100% - 3% * 4) / 5);}
	.cgap-sm.col-sp-4 > * {width: calc(calc(100% - 3% * 3) / 4);}
	.cgap-sm.col-sp-3 > * {width: calc(calc(100% - 3% * 2) / 3);}
	.cgap-sm.col-sp-2 > * {width: calc(calc(100% - 3% * 1) / 2);}
	.cgap-sm.col-sp-1 > * {width: 100%;}
	.cgap-m.col-sp-5 > * {width: calc(calc(100% - 4% * 4) / 5);}
	.cgap-m.col-sp-4 > * {width: calc(calc(100% - 4% * 3) / 4);}
	.cgap-m.col-sp-3 > * {width: calc(calc(100% - 4% * 2) / 3);}
	.cgap-m.col-sp-2 > * {width: calc(calc(100% - 4% * 1) / 2);}
	.cgap-m.col-sp-1 > * {width: 100%;}
	.cgap-l.col-sp-5 > * {width: calc(calc(100% - 6% * 4) / 5);}
	.cgap-l.col-sp-4 > * {width: calc(calc(100% - 6% * 3) / 4);}
	.cgap-l.col-sp-3 > * {width: calc(calc(100% - 6% * 2) / 3);}
	.cgap-l.col-sp-2 > * {width: calc(calc(100% - 6% * 1) / 2);}
	.cgap-l.col-sp-1 > * {width: 100%;}
	
	.space-around.cgap-ss.col-sp-5 > * {width: calc(100% / 5 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-sp-4 > * {width: calc(100% / 4 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-sp-3 > * {width: calc(100% / 3 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-sp-2 > * {width: calc(100% / 2 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-ss.col-sp-1 > * {width: calc(100% / 1 - 0.5% * 2); margin-left: 0.5%; margin-right: 0.5%;}
	.space-around.cgap-s.col-sp-5 > * {width: calc(100% / 5 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-sp-4 > * {width: calc(100% / 4 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-sp-3 > * {width: calc(100% / 3 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-sp-2 > * {width: calc(100% / 2 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-s.col-sp-1 > * {width: calc(100% / 1 - 1% * 2); margin-left: 1%; margin-right: 1%;}
	.space-around.cgap-sm.col-sp-5 > * {width: calc(100% / 5 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-sp-4 > * {width: calc(100% / 4 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-sp-3 > * {width: calc(100% / 3 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-sp-2 > * {width: calc(100% / 2 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-sm.col-sp-1 > * {width: calc(100% / 1 - 1.5% * 2); margin-left: 1.5%; margin-right: 1.5%;}
	.space-around.cgap-m.col-sp-5 > * {width: calc(100% / 5 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-sp-4 > * {width: calc(100% / 4 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-sp-3 > * {width: calc(100% / 3 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-sp-2 > * {width: calc(100% / 2 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-m.col-sp-1 > * {width: calc(100% / 1 - 2% * 2); margin-left: 2%; margin-right: 2%;}
	.space-around.cgap-l.col-sp-5 > * {width: calc(100% / 5 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-sp-4 > * {width: calc(100% / 4 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-sp-3 > * {width: calc(100% / 3 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-sp-2 > * {width: calc(100% / 2 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	.space-around.cgap-l.col-sp-1 > * {width: calc(100% / 1 - 2.5% * 2); margin-left: 2.5%; margin-right: 2.5%;}
	
	
	.col-break-sp {flex-wrap: wrap;}
	.col-break-sp > * {width: 100%;}
	.col-break-sp .col-space-left-ss,
	.col-break-sp .col-space-left-s,
	.col-break-sp .col-space-left-sm,
	.col-break-sp .col-space-left-m,
	.col-break-sp .col-space-left-l,
	.col-break-sp .cont-space-left-ss,
	.col-break-sp .cont-space-left-s,
	.col-break-sp .cont-space-left-sm,
	.col-break-sp .cont-space-left-m,
	.col-break-sp .cont-space-left-l {padding-left: 0;}
	.col-break-sp .col-space-right-ss,
	.col-break-sp .col-space-right-s,
	.col-break-sp .col-space-right-sm,
	.col-break-sp .col-space-right-m,
	.col-break-sp .col-space-right-l,
	.col-break-sp .cont-space-right-ss,
	.col-break-sp .cont-space-right-s,
	.col-break-sp .cont-space-right-sm,
	.col-break-sp .cont-space-right-m,
	.col-break-sp .cont-space-right-l {padding-right: 0;}
	
	
	
	
	.widget h2 {
		margin: 0 calc(-1 * var(--sidespace)) 5px;
		padding: 5px 10px;
		background-color: #ededed;
	}

	.side-bnr li {
		width: 100%;
		margin-right: 0%;
	}
	
	
	.f-navi-wrap {
		flex-wrap: wrap;
	}
	
	
	
	
	/* ----- 見出しスタイル ----- */
	.entry-content .midashi02,
	.entry-content .is-style-midashi02 {
		font-size: 1.5em;
		padding: 0.4em 10px 0.4em 35px;
	}
	.entry-content .midashi02b,
	.entry-content .is-style-midashi02b {
		font-size: 2em;
	}
	.entry-content .midashi03,
	.entry-content .is-style-midashi03 {
		font-size: 1.3125em;
	}
	.entry-content .midashi04,
	.entry-content .is-style-midashi04 {
		font-size: 1.2em;
	}
	
	
	body.page .entry-title {
		font-size: 2em;
	}

	.page-template-one-column .entry-header:not(.custom-title) .entry-title,
	.page-template-full-width .entry-header:not(.custom-title) .entry-title,
	.site-content-one-column .entry-header:not(.custom-title) .entry-title,
	.site-content-full-width .entry-header:not(.custom-title) .entry-title {
		font-size: 2.2em;
	}
	
	
	.title-obi {
		min-height: 85vw;
	}
	.content-title-text {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		margin: 0;
		padding: 1.5em var(--sidespace);
	}
	.title-obi h1 {
		font-size: 2em;
	}
	
	
	.entry-content .sec-title,
	.sec-title {
		font-size: 2em;
	}
	
	.catch {
		font-size: 1.25em;
	}
	
	
	.is-style-table-break-sp th,
	.is-style-table-break-sp td,
	.table-break-sp th,
	.table-break-sp td {
		display: block;
	}
	.is-style-od-table02.is-style-table-break-sp th,
	.od-table02.table-break-sp th {
		padding: 0.4em 0.6em;
	}
	.is-style-od-table02.is-style-table-break-sp td,
	.od-table02.table-break-sp td {
		padding: 1.5em 0.8em 2em;
	}
	
	
	
	/* アーカイブ */
	.archive-display-default .hentry {
		flex-wrap: wrap;
	}
	.archive-display-default .post-thumbnail {
		flex: 0 1 auto;
	}
	
	/* od-postlist　一覧 */
	.archive-display-default .entry-article {
		flex-wrap: wrap;
		padding-left: 0;
	}
	.archive-display-default .entry-article .thumbnail {
		position: inherit;
		width: auto;
	}
	
	/* od-infolist　お知らせ一覧 */
	.archive-display-line .info-article,
	.archive-display-line .entry-article {
		flex-wrap: wrap;
	}
	.info-article .cat-name,
	.archive-display-line .entry-article .cat-name {
		display: inline-block;
		vertical-align: top;
	}
	.info-article .article-title,
	.archive-display-line .entry-article .article-title {
		width: 100%;
	}
	
	
	
	
	
	
	/* ----- showcatposts 自作ショートコード用 ----- */
	.showcatposts .entry-article {
	}
	.showcatposts .posted-day {
    	width: 140px;
    	float: none;
	}
	.showcatposts .article-title {
		margin-left: 0px;
		margin-top: 0;
		margin-bottom: 10px;
		clear: none;
	}
	.showcatposts .article-content {
		margin-left: 0px;
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.showcatposts .article-terms {
		margin-left: 0px;
		margin-top: 10px;
		margin-bottom: 20px;
	}
    
    
    /* ----- お問い合わせ ----- */
    .wpcf7-form table {
        border: none;
    }
    .wpcf7-form table th,
    .wpcf7-form table td.required {
        display: inline-block;
        vertical-align: bottom;
        padding: 5px 5px;
        line-height: 20px;
        background-color: #efefef;
        border: none;
        height: 30px;
    }
    .wpcf7-form td.entry-field {
        display: block;
        padding: 15px 5px 30px;
        border: none;
    }
    .wpcf7-form table td.required {
        width: 20%;
    }
    .wpcf7-form table.recruit-entry th,
    .wpcf7-form table.attendance-entry th,
    .wpcf7-form table.document-entry th,
    .wpcf7-form table.contact-entry th {
        width: 80%;
    }
	
	
	
	
	/* ----- トップページ ----- */
	.top-mainvisual .slider {
		height: 80vw;
		min-height: inherit;
	}
	.slider-item-text {
        position: absolute;
		top: inherit;
        bottom: 0;
        left: 0;
        width: 100%;
        margin: 0;
        padding: 1.2em var(--sidespace);
	}
	.slider-item-text h2 {
		font-size: 1.5em;
	}


	
}
