/*
Theme Name: od003
Theme URI: 
Description: This is my sample theme.
*/






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

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;
}
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%;
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
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 );
	--cont-w: 1200px;
	--cont-w-lg: 1600px;
	--sidespace: 8%;
	--color01: #006699;
	--color01-2: #80b2cc;
	--color01-3: #cce0eb;
	--color01-4: #e5f0f5;
    --color02: #dd9911;
	--color02-2: #eecc88;
	--color02-3: #f8ebcf;
	--color02-4: #fcf5e7;
    --color03: #ee7711;
	--color03-2: #f6bb88;
	--color03-3: #fce4cf;
	--color03-4: #fdf1e7;
    --color04: #11aaaa;
	--color04-2: #88d4d4;
	--color04-3: #cfeeee;
	--color04-4: #e7f6f6;
    --color05: #55aa11;
	--color05-2: #aad488;
	--color05-3: #ddeecf;
	--color05-4: #eef6e7;
    --color06: #ffffee;
    --color-link: #1188dd;
    --color-link-hover: #99d3e9;
	--color-text: #333333;
    --color-red: #ff0004;
    --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;
}



/* --- 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, "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif);
	font-size: 16px;
    font-size: 18px;
	font-size: 1.6rem;
	line-height: 1.7;
}
h1, h2, h3, h4, h5, h6 {
	clear: both;
	font-weight: 700;
}
p {
	margin-bottom: 1.6em;
}
b,
strong {
	font-weight: 700;
}
small {
	font-size: 75%;
}
big {
	font-size: 125%;
}


/* --- Elements --- */
hr {
	background-color: #eaeaea;
	background-color: rgba(51, 51, 51, 0.1);
	border: 0;
	height: 1px;
	margin-bottom: 1.6em;
}
ul, ol {
	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-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;
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
}

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

img[src$=".svg"] {
	width: 100%;
	height: auto;
}


figcaption {
	font-size: 0.875em;
	line-height: 1.4;
}
.aligncenter figcaption {
	text-align: center;
}



/* --- その他追加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 1.6em 1.6em 0;
}
blockquote.alignright,
.wp-caption.alignright,
img.alignright {
	margin: 0 0 1.6em 1.6em;
}
blockquote.aligncenter,
.wp-caption.aligncenter {
	clear: both;
	margin-top: 0;
	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;
}







/** ===========================================================================================
 *
 *  レイアウト
 *
 *  =========================================================================================== */
.site-inner {
	margin: 0 auto;
	position: relative;
	min-height: 100vh;
}
.site-header {
	/*
	position: sticky;
	top: 0;
	z-index: 200;
	*/
	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);
	margin: 0 auto;
	display: flex;
	/* flex-wrap: wrap; */
	align-items: flex-start;
	/* justify-content: space-between; */
}
.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;
}


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


.page-template-full-width .site-content {
	width: 100%;
	max-width: 100%;
    padding-left: 0;
	padding-right: 0;
	align-items: center;
	flex-direction: column;
}
.page-template-full-width .content-area {
	width: inherit;
}
.page-template-full-width .widget-area {
}
.page-template-full-width .entry-footer {
	/*
    padding-left: 20px;
    padding-right: 20px;
	*/
	width: calc(100% - var(--sidespace) * 2);
	max-width: var(--cont-w);
	margin-left: auto;
	margin-right: auto;
}




/** ===========================================================================================
 *
 *  ナビゲーション
 *
 *  =========================================================================================== */
 
.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 {
	/*
	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 #ffffff;
	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: 200px;
}
ul.primary-menu > li > .sub-menu > li:first-child {
	border-top: none;
}
ul.primary-menu .sub-menu ul {
	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; */
}
.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: 80px;
}
.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: 280px;
}
.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: 24px;
	font-size: 1.5em;
	line-height: 1.4;
	margin-top: 2em;
	margin-bottom: 1em;
}
.entry-content h3,
.entry-summary h3,
.page-content h3 {
	font-size: 21px;
	font-size: 1.3125em;
	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: 18px;
    font-size: 1.125em;
	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;
}



.entry-title {
	font-size: 21px;
	font-size: 1.3125em;
	line-height: 1.4;
	margin-top: 1em;
	margin-bottom: 0.5em;
}
.single .entry-title {
	font-size: 1.5em;
	line-height: 1.4;
	padding: 0.7em 15px 0.6em;
    border-top: 2px solid var(--color04);
	border-bottom: 2px solid var(--color04);
	margin-top: 0;
    margin-bottom: 1em;
}
body.page .entry-title {
	font-size: 2.5em;
    text-align: center;
	padding: 0.8em 0.7em;
	border-top: 2px solid var(--color04);
	border-bottom: 2px solid var(--color04);
	margin-top: 0;
	margin-bottom: 1em;
	color: var(--color04);
}


.page-title {
	font-size: 1.5em;
	line-height: 1.4;
	padding: 0.7em 15px 0.6em;
    border-top: 2px solid var(--color04);
	border-bottom: 2px solid var(--color04);
	margin-top: 0;
    margin-bottom: 1em;
	/*
	font-size: 18px;
	font-size: 1.125em;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: 2em;
	padding: 10px 10px;
	background-color: #e6e6e6;
    max-width: var(--cont-w);
    margin-left: auto;
    margin-right: auto;
	*/
}





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


/* 一覧ページレイアウト　infomation */
.archive-container-info .hentry {
	display: block;
	margin-top: 0px;
}



/* シングルページレイアウト */
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;
}






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

.widget-area {
}
.widget {
	margin-bottom: 30px;
}
.widget h2 {
	background-color: var(--color01-4);
	padding: 5px 10px;
	font-size: 1.125em;
	line-height: 1.4;
	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-custom-post-type-widget-blocks-latest-posts__list li {
	margin-bottom: 10px;
}

.wp-block-custom-post-type-widget-blocks-tag-cloud {
	text-align: left;
}
.wp-block-custom-post-type-widget-blocks-tag-cloud a {
	font-size: 1em;
    line-height: 1.2;
    padding: 0.5em 0.8em;
    background-color: #f6f6f6;
    border-radius: 2px;
	margin-bottom: 10px;
}


.widget_block ul li {
	line-height: 1.4;
	margin-bottom: 15px;
}
.widget_block ul li:last-child {
	margin-bottom: 0;
}




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

.site-footer {
}

.footer-appeal {
	padding: 20px 0;
	border-bottom: 1px solid rgba(51, 51, 51, 0.1);
}
.footer-appeal p {
	text-align: center;
}

.footer-main {
	font-size: 14px;
	font-size: 0.875em;
	background-color: var(--color02-4);
	padding: 30px 0 10px;
}
.footer-main-inner {
	display: flex;
	flex-direction: row-reverse;
}
.footer-main-inner .l-box {
	flex: 0 0 30%;
	padding-right: 30px;
	margin-right: 30px;
}
.footer-main-inner .r-box {
	flex: 0 1 100%;
}


.f-navi-wrap {
	border-top: 2px solid var(--color04);
	padding-top: 20px;
}

/* --- フッターナビゲーション --- */
.footer-navigation {
}
.f-menu-column-wrap {
	display: flex;
	column-gap: 20px;
}
.f-menu-column {
	width: 100%;
}
.footer-menu li {
	position: relative;
    text-decoration: none;
	line-height: 1.4;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
.footer-menu li a {
	color: var(--color-text);
}
.footer-menu li a:hover {
	color: var(--color-link-hover);
}
.footer-menu > li {
	padding: 0 0 0 1em;
}
.footer-menu > li::before {
	position: absolute;
    top: 0.35em;
    left: 0;
    content: '';
    width: 10px;
    height: 10px;
    background-color: var(--color-text);
}
.footer-menu ul li {
	padding: 0 0 0 0.6em;
	vertical-align: middle;
}
.footer-menu ul li::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    content: '';
    vertical-align: middle;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 4px solid var(--color-text);
}


.f-site-title {
	margin-bottom: 10px;
}
.siteowner {
	line-height: 1.4;
	margin-bottom: 5px;
}
.siteowner p {
	margin-bottom: 0;
}
.siteowner p.siteowner-name {
	font-size: 1.1em;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 5px;
}
.siteowner p.tel .tel-num {
	font-size: 1.5em;
}

.sns-list {
	letter-spacing: -0.4em;
	margin-bottom: 0.5em;
}
.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: 30px;
	color: var(--color-text);
}
.sns-list li a:hover i {
	color: var(--color-link-hover);
}

.copyright-wrap {
	padding: 10px 0 0;
}
.copyright {
	font-size: 0.75em;
	text-align: right;
	margin-bottom: 0;
}





 





/** ===========================================================================================
 *
 *  パーツ追加
 *  ブロックエディタースタイル追加　　editor.jsでブロックエディタに適用
 *  style-editor.cssにも記述すること。
 *
 *  =========================================================================================== */
.entry-content .midashi01,
.entry-content .is-style-midashi01 {
	
}
/* .type-post .entry-content h2, */
.entry-content .midashi02,
.entry-content .is-style-midashi02 {
    font-size: 1.5em;
    font-weight: bold;
    color: #ffffff;
    background-color: var(--color04);
    padding: 8px 10px 8px 30px;
    position: relative;
}
/* .type-post .entry-content h2::before, */
.entry-content .midashi02::before,
.entry-content .is-style-midashi02::before  {
    content: '';
    display: inline-block;
    background-color: #ffffff;
    width: 8px;
    height: 30px;
    position: absolute;
    top: 10px;
    left: 10px;
}
.entry-content .midashi02b,
.entry-content .is-style-midashi02b {
    font-size: 2em;
    text-align: center;
	color: var(--color04);
}
/* .type-post .entry-content h3, */
.entry-content .midashi03,
.entry-content .is-style-midashi03 {
    font-size: 1.3125em;
    font-weight: bold;
	color: var(--color04);
    border-bottom: 1px dashed var(--color04);
	padding-bottom: 2px;
	/*
	margin-top: 1.5em;
    margin-bottom: 0.5em;
	*/
}
/* .type-post .entry-content h4, */
.entry-content .midashi04,
.entry-content .is-style-midashi04 {
	position: relative;
	padding-left: 1.2em;
}
/* .type-post .entry-content h4::before, */
.entry-content .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(--color04);
}


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

.is-style-od-list,
.od-list {
}
.is-style-od-list > li,
.od-list > li {
	line-height: 1.5;
	margin-top: 0.5em;
}
.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;
	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.5;
	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.5;
	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-list-num,
.od-list-num {
}
.is-style-od-list-num > li,
.od-list-num > li {
	line-height: 1.7;
	margin-top: 0.8em;
}
.is-style-od-list-num > li:first-child,
.od-list-num > li:first-child {
	margin-top: 0;
}

.is-style-od-list-num01,
.od-list-num01 {
	padding-left: 3em;
}
.is-style-od-list-num01 > li,
.od-list-num01 > li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
	line-height: 1.7;
	margin-top: 0.8em;
}
.is-style-od-list-num01 > li:first-child,
.od-list-num01 > li:first-child {
	margin-top: 0;
}
.is-style-od-list-num01 > li::before,
.od-list-num01 > li::before {
	content: "（" counter(cnt) "）";
	display: inline-block;
	margin-left: -3em;
	width: 3em;
	text-align: right;
	position: absolute;
	top: 0;
	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.5;
	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.5;
	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.5;
	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.5;
	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;
}




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

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

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

.textblock,
.tb,
.br {
	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;
}


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


.wrap-wide {
	/*
	max-width: 1240px;
	margin-left: auto;
	margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
	*/
	width: calc(100% - var(--sidespace) * 2);
	max-width: var(--cont-w);
	margin-left: auto;
	margin-right: auto;
}
.wrap-wide-lg {
	width: calc(100% - var(--sidespace) * 2);
	max-width: var(--cont-w-lg);
	margin-left: auto;
	margin-right: auto;
}
.wrap-inner {
	/*
	padding-left: 20px;
    padding-right: 20px;
	*/
	padding-left: var(--sidespace);
	padding-right: var(--sidespace);
}
.fullwide-inner {
    padding-left: var(--sidespace);
    padding-right: var(--sidespace);
}
/*
.cont-wide {
	width: calc(100vw - var(--sidespace) * 2);
	max-width: var(--cont-w);
	margin-left: auto;
	margin-right: auto;
}
.cont-wide-lg {
	width: calc(100vw - var(--sidespace) * 2);
	max-width: var(--cont-w-lg);
	margin-left: auto;
	margin-right: auto;
}
.cont-wrap {
	padding-left: var(--sidespace);
	padding-right: var(--sidespace);
}
*/

.w400 {max-width: 400px; margin-left: auto; margin-right: auto;}
.w500 {max-width: 500px; margin-left: auto; margin-right: auto;}
.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-cont {
	display: flex;
}
.flex-cont.reverse {
	flex-direction: row-reverse;
}


.flex-grid {
	display: flex;
	flex-flow: row wrap;
}
.f-grid-50 > * {width: 50%;}
.f-grid-50 {gap: 0;}
.f-grid-49 > * {width: 49%;}
.f-grid-49 {gap: clamp(10px, 2vw, 40px) 2%;}
.f-grid-48 > * {width: 48%;}
.f-grid-48 {row-gap: clamp(10px, 3vw, 40px); column-gap: 4%;}
.f-grid-47 > * {width: 47%;}
.f-grid-47 {row-gap: clamp(10px, 4vw, 40px); column-gap: 6%;}
.f-grid-46 > * {width: 46%;}
.f-grid-46 {row-gap: clamp(10px, 3vw, 40px); column-gap: 8%;}
.f-grid-33 > * {width: 33.333333333%;}
.f-grid-32 > * {width: 32%;}
.f-grid-32 {row-gap: clamp(10px, 2vw, 40px); column-gap: 2%;}
.f-grid-31 > * {width: 31%;}
.f-grid-31 {row-gap: clamp(10px, 3vw, 40px); column-gap: 3.5%;}
.f-grid-30 > * {width: 30%;}
.f-grid-30 {row-gap: clamp(10px, 4vw, 40px); column-gap: 5%;}
.f-grid-29 > * {width: 29%;}
.f-grid-29 {row-gap: clamp(10px, 4vw, 40px); column-gap: calc(13% / 2);}
.f-grid-25 > * {width: 25%;}
.f-grid-24 > * {width: 24%;}
.f-grid-24 {row-gap: clamp(10px, 2vw, 40px); column-gap: calc(4% / 3);}
.f-grid-23 > * {width: 23%;}
.f-grid-23 {row-gap: clamp(10px, 3vw, 40px); column-gap: calc(8% / 3);}
.f-grid-22 > * {width: 22%;}
.f-grid-22 {row-gap: clamp(10px, 4vw, 40px); column-gap: 4%;}

.f-grid2-49 > * {width: 49%; margin-left: calc( calc(100% / 2 - 49%) / 2 ); margin-right: calc( calc(100% / 2 - 49%) / 2 ); margin-bottom: 3%;}
.f-grid2-48 > * {width: 48%; margin-left: calc( calc(100% / 2 - 48%) / 2 ); margin-right: calc( calc(100% / 2 - 48%) / 2 ); margin-bottom: 3%;}
.f-grid2-47 > * {width: 47%; margin-left: calc( calc(100% / 2 - 47%) / 2 ); margin-right: calc( calc(100% / 2 - 47%) / 2 ); margin-bottom: 3%;}
.f-grid2-46 > * {width: 46%; margin-left: calc( calc(100% / 2 - 46%) / 2 ); margin-right: calc( calc(100% / 2 - 46%) / 2 ); margin-bottom: 4%;}
.f-grid2-32 > * {width: 32%; margin-left: calc( calc(100% / 3 - 32%) / 2 ); margin-right: calc( calc(100% / 3 - 32%) / 2 ); margin-bottom: 3%;}
.f-grid2-31 > * {width: 31%; margin-left: calc( calc(100% / 3 - 31%) / 2 ); margin-right: calc( calc(100% / 3 - 31%) / 2 ); margin-bottom: 3%;}
.f-grid2-30 > * {width: 30%; margin-left: calc( calc(100% / 3 - 30%) / 2 ); margin-right: calc( calc(100% / 3 - 30%) / 2 ); margin-bottom: 3%;}
.f-grid2-29 > * {width: 29%; margin-left: calc( calc(100% / 3 - 29%) / 2 ); margin-right: calc( calc(100% / 3 - 29%) / 2 ); margin-bottom: 4%;}
.f-grid2-28 > * {width: 28%; margin-left: calc( calc(100% / 3 - 28%) / 2 ); margin-right: calc( calc(100% / 3 - 28%) / 2 ); margin-bottom: 4%;}
.f-grid2-24 > * {width: 24%; margin-left: calc( calc(100% / 4 - 24%) / 2 ); margin-right: calc( calc(100% / 4 - 24%) / 2 ); margin-bottom: 2%;}
.f-grid2-23 > * {width: 23%; margin-left: calc( calc(100% / 4 - 23%) / 2 ); margin-right: calc( calc(100% / 4 - 23%) / 2 ); margin-bottom: 2%;}
.f-grid2-22 > * {width: 22%; margin-left: calc( calc(100% / 4 - 22%) / 2 ); margin-right: calc( calc(100% / 4 - 22%) / 2 ); margin-bottom: 2%;}

.f-grid-mB002 > * {
	margin-bottom: 2%;
}
.flex-grid img {
	vertical-align: bottom;
}



.ib-column {
	letter-spacing: -0.4em;
}
.ib-column > * {
	letter-spacing: normal;
	vertical-align: top;
}
.ib-column img {
	display: block;
}
.ib-column-50 {display: inline-block; width: 50%; margin-right: 0; margin-bottom: 2%;}
.ib-column-48 {display: inline-block; width: 48%; margin-right: 4%; margin-bottom: 2%;}
.ib-column-48:nth-child(2n) {margin-right: 0;}
.ib-column-32 {display: inline-block; width: 32%; margin-right: 2%; margin-bottom: 2%;}
.ib-column-32:nth-child(3n) {margin-right: 0;}
.ib-column-31 {display: inline-block; width: 31%; margin-right: 3.5%; margin-bottom: 3%;}
.ib-column-31:nth-child(3n) {margin-right: 0;}
.ib-column-30 {display: inline-block; width: 30%; margin-right: 5%; margin-bottom: 3%;}
.ib-column-30:nth-child(3n) {margin-right: 0;}
.ib-column-22 {display: inline-block; width: 22%; margin-right: 4%; margin-bottom: 2%;}
.ib-column-22:nth-child(4n) {margin-right: 0;}



.column::after {
	content: '';
	display: block;
	clear: both;
}
.column img {
	display: block;
}
.column50 {float: left; width: 50%; margin-right: 0; margin-bottom: 2%;}
.column48 {float: left; width: 48%; margin-right: 4%; margin-bottom: 2%;}
.column48:nth-child(2n) {margin-right: 0;}
.column32 {float: left; width: 32%; margin-right: 2%; margin-bottom: 2%;}
.column32:nth-child(3n) {margin-right: 0;}
.column31 {float: left; width: 31%; margin-right: 3.5%; margin-bottom: 3%;}
.column31:nth-child(3n) {margin-right: 0;}
.column30 {float: left; width: 30%; margin-right: 5%; margin-bottom: 3%;}
.column30:nth-child(3n) {margin-right: 0;}
.column22 {float: left; width: 22%; margin-right: 4%; margin-bottom: 2%;}
.column22:nth-child(4n) {margin-right: 0;}





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





/*　見出しスタイル　*/
/*
.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";
}
*/



/*　リンクボタン　*/
.link-btn-wrap {
	
}
.btn-center {
    text-align: center;
}
.btn-right {
    text-align: right;
}

.od-btn01 {
	display: inline-block;
	min-width: 120px;
	max-width: 100%;
	font-size: 0.8em;
    line-height: 1.4;
	color: #ffffff;
	padding: 0.5em 10px 0.4em;
	text-align: center;
    background-color: var(--color-link);
}
.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.8em;
    line-height: 1.4;
	padding: 0.5em 10px 0.4em;
	text-align: center;
    border: 1px solid var(--color-link);
	background-color: #ffffff;
}
.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;
    font-size: 0.875em;
	line-height: 1.2;
    text-align: center;
    padding: 1em 40px 1em 15px;
    background-color: #ffffff;
	border: 1px solid var(--color-link);
	width: 100%;
}
.od-btn05::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 6px transparent;
    border-right: solid 6px var(--color-link);
	border-bottom: solid 6px var(--color-link);
	border-left: solid 6px transparent;
    position: absolute;
    bottom: 5px;
    right: 5px;
}
.od-btn05:hover {
	color: #ffffff;
	background-color: var(--color-link);
}
.od-btn05:hover::after {
	border-right: solid 6px #ffffff;
	border-bottom: solid 6px #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);
}




/*　バックグラウンドパターン　*/
.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-hogan03 {
	background: url("images/bg_hogan03.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-dot04 {
	background: url(images/bg_dot04.png) repeat top left;
}
.bg-lightgray {
	background-color: #f7f8f8;
}
.bg-white {
	background-color: #ffffff;
}






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


/* リスト　ステップバージョン01 */
.step01 {
	list-style-type: none;
	padding:0;
	margin:0;
}
.step01 .step-title {
	position: relative;
	width:100px;
	background: var(--color03);
	padding: 1em;
	margin-bottom: calc( 1em + 10px );
	text-align:center;
	color: #fff;
}
.step01 .step-title:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	bottom: -10px;
	left: 0;
	border-style: solid;
	border-color: var(--color03) transparent transparent transparent;
	border-width: 10px 50px 0 50px;
	z-index: 1;
}
.step01 .step-title.is-current {
	background: var(--color01);
	font-weight: bold;
}
.step01 .step-title.is-current:after {
	border-color: var(--color01) transparent transparent transparent;
}
.step01 dl {
	display: flex;
	margin-bottom: 0;
}
.step01 dt {
	flex-grow: 0;
	flex-shrink: 0;
}
.step01 dd {
	padding: 1em 0 1em 1em;
}


/* リスト　ステップバージョン02 */
.step02 {
	list-style-type: none;
	display:table;
	width:100%;
	padding:0;
	margin:0;
	overflow:hidden;
	height: 100px;
}
.step02 li {
	display:table-cell;
	position:relative;
	background: var(--color03);
	padding: 1em 0.5em 1em 1em;
	color: #fff;
	vertical-align: middle;
}
.step02 li:not(:first-child) {
	padding-left: 40px;
}
.step02 li:last-child:before,
.step02 li:last-child:after {
	display:none;
}
.step02 li:before,
.step02 li:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	margin: auto;
}
.step02 li:before {
	top: -10px;
	bottom: -10px;
	right: -24px;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 60px 0 60px 24px;
	z-index: 10;
}
.step02 li:after {
	top: 0;
	bottom: 0;
	right: -20px;
	border-style: solid;
	border-color: transparent transparent transparent var(--color03);
	border-width: 50px 0 50px 20px;
	z-index: 10;
}
.step02 li.is-current {
	background: var(--color01);
	font-weight: bold;
}
.step02 li.is-current:after {
	border-color: transparent transparent transparent var(--color01);
}




/* タブ */
.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-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%;
}



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

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

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







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




/* ----- パンくずリスト ----- */
#breadcrumb {
	font-size: 12px;
	font-size: 1.2rem;
	color: #707070;
	margin-top: 30px;
	margin-bottom: 10px;
}


/* コンタクトフォーム7 */
/*
.wpcf7-form table {
	overflow: hidden;
	table-layout: fixed;
	border: none;
    border-top: 1px solid #eaeaea;
}
.wpcf7-form table th,
.wpcf7-form table td {
	vertical-align: baseline;
    border: none;
	border-bottom: 1px solid #eaeaea;
    padding: 20px 10px;
}
.wpcf7-form table th {
	width: 220px;
}
.wpcf7-text,
.wpcf7-textarea,
.wpcf7-select {
    padding: 3px 5px;
}
.wpcf7-text,
.wpcf7-textarea {
	width: 100%;
}
.wpcf7-textarea {
    vertical-align: top;
    height: calc( 1.7em * 5 );
    line-height: 1.7;
}
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    color: #cccccc;
}
.wpcf7-text.postal-code {
	width: 8em;
    margin-bottom: 10px;
}
span.wpcf7-list-item {
    display: inline-block;
    margin: 0 1em 0 0;
}
.required {
	font-size: 0.7em;
	color: #ffffff;
	background-color: var(--color01, #00909f);
	display: inline-block;
	line-height: 1;
	padding: 3px 5px;
	vertical-align: text-bottom;
	margin-left: 0.5em;
}

input.wpcf7-submit,
input.wpcf7-previous {
	display: inline-block;
	width: 240px;
	max-width: 100%;
	font-size: 1em;
	color: #fff;
	text-align: center;
	padding: 10px 30px;
	background-color: var(--color-link, #bc145a);
	border-style: none;
	margin: 0 15px 20px;
}
input.wpcf7-submit:hover:enabled,
input.wpcf7-previous:hover:enabled {
	opacity: 0.75;
}
.submit-btn-wrap {
	text-align: center;
	margin-top: 60px;
}
.confirmform-btn-wrap .wpcf7-previous,
.confirmform-btn-wrap .wpcf7-submit {
}

.wpcf7-form .wpcf7-spinner {
    display: block;
    margin: 5px auto 0;
}

.privacy-protection {
	border: 1px solid #333;
	padding: 15px 20px 0px;
	margin-bottom: 20px;
}
*/



/* 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: var(--color04);
	background-color: #ffffff;
	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 {
	opacity: 0.75;
}
.submit-btn-wrap {
	text-align: center;
	margin-top: 60px;
}

.form-entry th {
	width: 11em;
}
.input-address {
	margin-top: 10px;
}

.your-license.entry-field {
	display: flex;
	flex-wrap: wrap;
}
.your-license.entry-field span {
	width: 50%;
	margin-left: 0!important;
}










/* メタスライダー　　トップページメインスライダーにクラスをつける「.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;
}
.slider {
	overflow: hidden;
	width: 100%;
	height: 45vw;
	/* height: calc(100vh - 80px); */
	margin: 0 auto;
	position: relative;
}
.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.6) 1px, transparent 1px);
    background-size: 3px 3px;
	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 - 80px);
	max-height: calc(100vh - 80px);
	*/
}
/*
ズーム（ズームイン）させるためのアニメーション
コメントアウト部分を入れ替えれば、ズームアウトになります。
*/
.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: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	padding: 3% 7% 0;
	overflow: hidden;
}
.slider-item-text h2 {
	margin-top: 0;
	font-weight: bold;
	font-size: 3vw;
	color: var(--color03);
	/* text-shadow: 1px 2px 3px #808080; */
	text-shadow: 4px 4px 4px #ffffff, -4px -4px 4px #ffffff,
		-4px 4px 4px #ffffff,  4px -4px 4px #ffffff,
		4px 0 4px #ffffff, -4px  0 4px #ffffff,
		0 4px 4px #ffffff,  0 -4px 4px #ffffff;
}


/*=== 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-bg {
	background: url("images/main_visual_03.jpg") no-repeat center center;
	background-attachment: fixed;
	background-size: cover;
}
.od-fixed-bg.bg01 {
    background-image: url("images/main_visual_05.jpg");
}
.od-fixed-bg.bg02 {
    background-image: url("images/main_visual_04.jpg");
}


/* 背景固定　やり方2 */
/*背景固定コンテンツ　jQuery使用　（fanctions.jsに記載） */
/*.fix-bg-cont　クラスに.showを追加して.fix-bgを表示（固定） */
.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;
}
.show .fix-bg {
    display: block;
}
.fix-bg.bg01 {
    background-image: url("images/image_top04.jpg");
}
.fix-bg.bg02 {
    background-image: url("images/image_top05.jpg");
}
/*　以下があるとダメかも？？？　連続して使用する時に対応したが・・・ */
.fix-bg-cont {
	overflow: hidden;
	/* transform: scale(1); */
    /* perspective: 0; */
    filter: blur(0);   /*本来はぼかしの設定だが、　absoluteで配置した要素もoverflow: hidden させるために記載 */
}
.fix-bg {
	background-attachment: fixed;
}












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

.single .entry-content {
    /* min-height: 60vh; */
}

.sec-pT {
    padding-top: 80px;
}
.sec-pB {
    padding-bottom: 80px;
}


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










/**
 *  アーカイブページ
 */

/* ----- お知らせ一覧用 ----- */
.info-article {
	clear: both;
    line-height: 1.6;
    padding: 10px 0 10px;
}

.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 .info-title {
	margin: 0;
	display: inline-block;
}
.info-article .info-title a {
}
.info-article .info-title a:hover {
}



/**
 *  固定ページ
 */
.title-obi {
    text-align: center;
    padding-top: 2.5em;
    padding-bottom: 2.5em;
	background-color: var(--color01-4);
}
.title-obi h1 {
	font-size: 2.4em;
    font-weight: bold;
	line-height: 1.4;
    margin: 0;
}
.title-obi .title-en {
	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;
}




/**
 *  レイアウトパターン
 */
/*　パターン01　背景丸画像で中に文字　flex-gridと併せて使う */
.layout-pt01 li {
	position: relative;
}
.layout-pt01 li a {
	display: block;
	border-radius: 50%;
	text-align: center;
}
.layout-pt01 li figure {
	border-radius: 50%;
	overflow: hidden;
}
.layout-pt01 li .cont-text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	padding-left: 10%;
	padding-right: 10%;
}
.layout-pt01 li img {
	width: 100%;
	display: block;
	border-radius: 50%;
}
.layout-pt01 li h3 {
	text-shadow: 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff;
}
.layout-pt01 li p {
	text-shadow: 1px 1px 0px #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, -1px -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff, 0 1px 0 #fff, 0 -1px 0 #fff ;
}


/*　パターン02　ホバーすると下から色をのせる　flex-gridと併せて使う */
.layout-pt02 {
}
.layout-pt02 li {
    position: relative;
    overflow: hidden;
}
.layout-pt02 li img {
    width: 100%;
    display: block;
}
.layout-pt02 .text-bg {
    background-color: rgba(0,0,0,0.5);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: skewY(-13deg) translate(0px, 87%);
    z-index: 0;
}
.layout-pt02 .cont-text {
    position: absolute;
    bottom: -7px;
    right: 0;
    text-align: right;
    z-index: 2;
    padding: 0 10px;
}
.layout-pt02 .cont-text p {
    color: #ffffff;
    margin-bottom: 0;
    line-height: 1.4;
    text-align: right;
}
.layout-pt02 .cont-text p.en {
    font-size: 3em;
    font-weight: bold;
    text-align: right;
	line-height: 1;
	white-space: nowrap;
}
.layout-pt02 li:hover .text-bg {
    transform: skewY(0deg) translate(0px, 0%);
    transition: 0.5s ;
}


/*　レイアウトボックス01 */
.layout-box01 {
	position: relative;
	overflow: hidden;
	background-color: #f6f6f6;
	z-index: 0;
}
.layout-box01 .bg-image {
	width: 60%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: auto;
	z-index: -1;
}
.layout-box01 .bg-image img {
	display: block;
}
.layout-box01 .cont-text {
	padding: 5% 5% 5% 5%;
	max-width: 800px;
	margin-left: calc( var(--vw100) * 0.6 - var(--vw50) + 50% );
	margin-right: auto;
}
.layout-box01.reverse .bg-image {
	left: auto;
	right: 0;
}
.layout-box01.reverse .cont-text {
	margin-left: auto;
	margin-right: calc( var(--vw100) * 0.6 - var(--vw50) + 50% );
}

/*　レイアウトボックス01b */
.layout-box01b {
	position: relative;
	overflow: hidden;
	background-color: #f6f6f6;
	z-index: 0;
}
.layout-box01b .bg-image {
	width: 55%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
.layout-box01b .bg-image img {
	display: block;
}
.layout-box01b.reverse .bg-image {
	margin-left: auto;
}
.layout-box01b .cont-text {
	padding: 8% 0 8%;
}
.layout-box01b .cont-text {
	margin-left: calc(var(--vw100) * 0.58 - var(--vw50) + 50%);
	margin-right: auto;
}
.layout-box01b.reverse .cont-text {
	margin-left: auto;
	margin-right: calc(var(--vw100) * 0.58 - var(--vw50) + 50%);
}


/*　レイアウトボックス02 */
.layout-box02 {
	position: relative;
	z-index: 2;
	margin-top: 50px;
}
.layout-box02 .bg {
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 0;
	right: 0;
	z-index: -1;
	transform: skewY(-2deg);
}
.layout-box02.reverse .bg {
	transform: skewY(2deg);
}
.layout-box02:nth-child(1) .bg {
	background-color: #ffe5e8;
}
.layout-box02:nth-child(2) .bg {
	background-color: #e2ebf4;
}
.layout-box02:nth-child(3) .bg {
	background-color: #f5ede4;
}
.layout-box02:nth-child(4) .bg {
	background-color: #ece9e6;
}
.layout-box02 .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 5%;
	padding-bottom: 5%;
	align-items: center;
}
.layout-box02.reverse .inner {
	flex-direction: row-reverse;
}
.layout-box02 .cont-text {
	width: 48%;
}
.layout-box02 .cont-image {
	width: 48%;
}
.layout-box02 .cont-image img {
	width: 100%;
	display: block;
}

/*　レイアウトボックス03 */
.layout-box03 {
	display: flex;
	column-gap: 20px;
}
.layout-box03 > * {
	width: 100%;
}
.layout-box03.reverse {
	flex-direction: row-reverse;
}




/**
 *  トップページ
 */
.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 100px;
	margin-right: 1.5em;
}

.top-course-list {
	display: flex;
	flex-wrap: wrap;
}
.top-course-list li {
	margin-top: 20px;
	padding: 30px;
	background-color: var(--color04-2);
	position: relative;
	z-index: 0;
}
.top-course-list li:first-child {
	margin-top: 0;
}
.top-course-list li h3 {
	font-size: 1.6em;
	margin-top: 0;
	background-color: #ffffff;
	border: 1px solid #333333;
	padding: 0.2em 10px 0.15em;
	margin-bottom: 0.5em;
	position: relative;
}
.top-course-list li h3::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 5px;
	top: 5px;
	border: 1px solid #333333;
	z-index: -1;
}
.top-course-cont {
	display: flex;
}
.top-course-cont > .cont-text {
	padding: 0 0 0 3%;
	width: 60%;
}
.top-course-cont > figure {
	width: 40%;
}
.top-course-cont > figure img {
	display: block;
	margin: 0 auto;
}

.top-course-cont .cont-text > p {
	margin-bottom: 0.5em;
}
li.top-course-car {
	width: 100%;
	flex-direction: row;
}
li.top-course-bike {
	width: 49%;
}
li.top-course-ogata {
	width: 49%;
	margin-left: auto;
}
.link-camp-wrap {
	display: flex;
	flex-direction: row-reverse;
	/* align-items: flex-end; */
	margin-bottom: 20px;
}
.link-camp-wrap figure {
	width: 48%;
	margin-right: auto;
}
/*
.link-camp-wrap .btn-camp {
	width: 50%;
}
*/
.btn-camp {
	width: 100%;
	max-width: 360px;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
}
.btn-camp a {
	display: block;
	background-color: var(--color03);
	color: #ffffff;
	text-align: center;
	border-radius: 10px;
	padding: 10px;
}
.btn-camp p {
	margin-bottom: 0;
}
.btn-camp .ja {
	font-weight: bold;
}
.btn-camp .ja span {
	font-size: 1.5em;
	font-weight: inherit;
	margin-right: 3px;
}
.btn-camp .sub-en span {
	border-top: 1px solid #ffffff;
	display: inline-block;
	padding: 0 15px;
	font-family: var(--font-family-mincho);
}
.btn-camp a:hover {
	background-color: var(--color-link);
}

.top-school-building-cont {
	position: relative;
	overflow: hidden;
	background-color: var(--color03-4);
	z-index: 0;
}
.top-school-building-cont .bg-image {
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
.top-school-building-cont .bg-image img {
	display: block;
}
.top-school-building-cont .cont-text {
	padding: 8% 0 8%;
}
.top-school-building-cont .cont-text {
	margin-left: calc(var(--vw100) * 0.53 - var(--vw50) + 50%);
	margin-right: auto;
}
.top-school-building-cont h2.midashi02b {
	text-align: left;
	margin-top: 0;
}

.top-ondemand-cont .cont-image {
	width: 50%;
}
.top-ondemand-cont .cont-text {
	width: 50%;
	padding: 5% 3%;
}
.top-ondemand-cont h2.midashi02b {
	text-align: left;
	margin-top: 0;
}

.top-student-menu-list {
	display: flex;
	flex-wrap: wrap;
	column-gap: 3.5%;
	row-gap: 3vw;
}
.top-student-menu-list li {
	width: 31%;
}
.top-student-menu-list li img {
	display: block;
}
.top-student-menu-list .cont-text {
	background-color: var(--color-link);
	padding: 1em 10px;
}
.top-student-menu-list .cont-text p {
	text-align: center;
	margin-bottom: 0;
	line-height: 1.4;
	color: #ffffff;
}
.top-student-menu-list a:hover .cont-text {
	background-color: var(--color-link-hover);
}

.top-bnr-list {
	display: flex;
	flex-wrap: wrap;
	column-gap: 2%;
}
.top-bnr-list li {
	width: 49%;
	position: relative;
	overflow: hidden;
	border: 1px solid #999999;
}
.top-bnr-list li img {
	width: 100%;
	display: block;
}
.top-bnr-list li p {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size: 1.25em;
	font-weight: bold;
}
.top-bnr-list li .bg-filter {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgb(255, 255, 255, 0.8);
}




/**
 *  学校案内
 */
.school-appeal > figure {
	width: 50%;
}
.school-appeal > .cont-text {
	width: 50%;
	padding: 0 3%;
}
.shitei-driving-school {
	display: flex;
	padding: 30px 20px;
	background-color: #f6f6f6;
}
.shitei-driving-school figure {
	width: 25%;
	max-width: 120px;
	flex: 0 0 120px;
}
.shitei-driving-school figure img {
	display: block;
}
.shitei-driving-school .cont-text {
	width: 100%;
	margin-left: 3%;
}
.shitei-driving-school .cont-text p {
	margin-bottom: 0;
}

.backup-list {
	display: flex;
	flex-wrap: wrap;
	column-gap: 3.5%;
	row-gap: 3vw;
	counter-reset: my-counter;
	list-style: none;
	padding-left: 0;
}
.backup-list li {
	width: 31%;
	padding-left: 50px;
	position: relative;
}
.backup-list li::before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: var(--color03);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	width: 40px;
	color: #ffffff;
	font-size: 21px;
	font-weight: bold;
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
}
.backup-list li h3 {
	margin-top: 0px;
	color: var(--color03);
	margin-bottom: 0.5em;
}
.backup-list li p {
	margin-bottom: 0;
}

.select-camp {
	display: flex;
	flex-wrap: wrap;
}
.select-camp figure {
	width: 30%;
	margin-left: auto;
}
.select-camp .cont-text {
	width: 67%;
}
.anshin-pac {
	border: 2px solid var(--color03);
	background-color: var(--color02-4);
	padding: 20px;
}
.anshin-pac h3 {
	display: inline-block;
	color: #ffffff;
	background-color: var(--color03);
	padding: 0.2em 20px;
	border-radius: 30px;
	margin-top: 0;
	margin-right: 0.5em;
}
.anshin-pac .title-add {
	display: inline-block;
	color: #ffffff;
	background-color: #333333;
	padding: 0.3em 10px;
	line-height: 1;
}
.anshin-pac > p:last-child {
	margin-bottom: 0;
}

.free-trial-cont figure {
	width: 50%;
	margin-left: auto;
}
.free-trial-cont .cont-text {
	width: 47%;
}
.free-trial-cont .catch {
	text-align: left;
	font-weight: bold;
	color: var(--color03);
	margin-bottom: 0.5em;
}
.free-trial-list {
	display: flex;
	column-gap: 3.5%;
}
.free-trial-list li {
	width: 100%;
	background-color: var(--color02-4);
}
.free-trial-list li h3 {
	background-color: var(--color03);
	color: #ffffff;
	text-align: center;
	padding: 0.3em 10px 0.2em;
	margin-top: 0;
	margin-bottom: 0;
}
.free-trial-list li > div {
	padding: 20px 15px;
}
.free-trial-list li p {
	margin-bottom: 0;
	text-align: center;
}

.children-link-list {
	display: flex;
	column-gap: 3%;
	justify-content: center;
}
.children-link-list li {
	width: 100%;
}

/* How to 免許 */
.advice-before-license > div p:last-child {
	margin-bottom: 0;
}


/* 入校手続きのご案内 */
.shikaku-table thead td {
	font-size: 0.9em;
	text-align: center;
}
.shikaku-table tbody th,
.shiryoku-table tbody th {
	white-space: nowrap;
}



/* 校舎のご案内 */
.school-zenkei {
	display: flex;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 2vw;
}
.school-zenkei li {
	width: 49%;
}
.school-zenkei li:first-child {
	width: 100%;
}
.interior-gallery {
	display: flex;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 2vw;
}
.interior-gallery li {
	width: 32%;
}



/**
 *  教習コース・料金
 */
.license-type-list {
	background-color: #ffffff;
	padding: 30px;
}
.license-type-cont {
	display: flex;
}
.license-type-cont > figure {
	width: 30%;
}
.license-type-cont > .cont-text {
	width: 70%;
	padding-left: 3%;
	margin-left: auto;
}
.license-type-cont .cont-text h4:first-child {
	margin-top: 0;
}



.step {
	text-align: center;
}
.step dl {
	background-color: #f6f6f6;
	padding: 20px;
	border-radius: 12px; 
	position: relative;
    margin-bottom: 50px;
}
.step dl:after {
	content: '▼';
	color: #999999;
	font-size: 1.8rem;
	position: absolute;
    bottom: -40px;
	left: 50%;
	margin-left: -9px;
}
.step dt {
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: bold;
	color: var(--color04);
}
.step dd {
	margin-bottom: 0;
	margin-top: 10px;
}
.step dl:last-child {
	margin-bottom: 0;
	background-color: inherit;
	padding-top: 0;
}
.step dl:last-child dt {
	color: #ff0000;
}
.step dl:last-child::after {
	content: none;
}
.number-of-classes {
	display: flex;
	justify-content: center;
	column-gap: 3%;
	row-gap: 3vw;
}
.number-of-classes > div {
	width: 100%;
    max-width: 400px;
}
.step-car table.unit {
	background-color: #ffffff;
	margin-bottom: 0px;
	border-radius: 8px; 
	border-collapse: separate;
	width: 100%;
	height: 100%;
}
.step-car table.unit.ginou {
	border: 2px solid var(--color03);
}
.step-car table.unit.gakka {
	border: 2px solid var(--color05);
}
.step-car table.unit th,
.step-car table.unit td {
	text-align: center;
	vertical-align: middle;
	border: none;
}
.step-car table.unit th {
	font-size: 1.8rem;
    border-radius: 5px 0 0 5px;
    color: #ffffff;
    width: 80px;
}
.step-car table.unit.ginou th {
	border-right: 2px solid var(--color03);
	background-color: var(--color03);
}
.step-car table.unit.gakka th {
	border-right: 2px solid var(--color05);
	background-color: var(--color05);
}

.shortest-list {
	display: flex;
	column-gap: 3%;
}
.shortest-list > li {
	width: 100%;
}
.shortest thead th,
.shortest thead td {
	background-color: #f6f6f6;
	font-size: 0.9em;
	text-align: center;
}
.shortest tbody td {
	text-align: center;
}

.item-ib {
	margin-bottom: 0;
}
.item-ib > li {
	display: inline-block;
	margin-right: 1em;
}
.item-ib > li:last-child {
	margin-right: 0;
}

.course-price th,
.course-price td {
	border: 1px solid #999999;
}
.course-price thead th,
.course-price thead td {
	text-align: center;
}
.course-price tbody th,
.course-price tbody td {
	padding: 0.8em 0.4em;
}
.course-price tbody th {
	background-color: #ffffee;
	width: 50%;
}
.course-price tbody td {
	text-align: center;
}
td.sougaku {
	font-size: 1.2em;
	color: #ff0000;
	font-weight: bold;
	white-space: nowrap;
	line-height: 1.4;
}
td.sougaku span {
	font-size: 0.65em;
	color: #333333;
	font-weight: normal;
}
.ippan,
.gakusei {
	color: #fff;
	font-size: 1em;
	letter-spacing: 0.5em;
	padding-top: 0.4em;
	padding-bottom: 0.4em;
}
.ippan {
	background-color: #ccb49b;
}
.gakusei {
	background-color: #96b7ac;
}
/*
.adult,
.student {
	color: #fff;
	border-radius: 13px; 
	display: inline-block;
	line-height: 1;
	padding: 5px 1.5em 5px 2em;
	letter-spacing: 0.5em;
	margin-bottom: 10px;
}
.adult {
	background-color: #a67c52;
}
.student {
	background-color: #508675;
}
*/
.anshin-wrap {
	background-color: var(--color04-4);
	padding: 30px 20px;
	border-radius: 10px;
}
.anshin-price {
	font-size: 1.4em;
	font-weight: bold;
}


.bike-info {
	border: 1px solid #333333;
	padding: 10px;
	margin-bottom: 30px;
}


.large-etc-list {
	display: flex;
	column-gap: 3%;
	justify-content: center;
}
.kyufukin-wrap {
	background-color: var(--color04-4);
	padding: 30px;
	border-radius: 10px;
}


/*
ul.course-menu-list {
	margin-bottom: 50px;
}
ul.course-menu-list li {
	padding: 25px 10px 20px;
	background-color: #ffffff;
}
ul.course-menu-list li:nth-child(2n+1) {
	background-color: #eaeaea;
}
.course-menu dl {
	margin-bottom: 10px;
}
.course-menu .column50 > dl > dt {
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: bold;
	line-height: 1;
	color: #fff;
	background-color: #0057a9;
	padding: 9px 10px 7px;
	margin-bottom: 10px;
}
.course-menu dd {
	margin-bottom: 0;
}
.course-menu img {
	vertical-align: bottom;
}
*/
/*
.choose-plan dl {
	clear: both;
}
.choose-plan dt {
	font-size: 21px;
	font-size: 2.1rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	width: 200px;
	line-height: 1;
	padding: 10px;
	float: left;
	border-radius: 5px; 
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.choose-plan dt.free {
	background-color: #f7931e;
}
.choose-plan dt.yusen {
	background-color: #00a99d;
}
.choose-plan dt.tankisyucyu {
	background-color: #8cc63f;
}
.choose-plan dd {
	margin-left: 215px;
	padding-top: 8px;
}
ul.shinpan-logo li {
	display: inline-block;
	vertical-align: middle;
}
.payment-method ul li {
	padding-left: 1em;
	text-indent: -1em;
}
.payment-method ul li > ul {
	padding-left: 0;
	text-indent: 0;
}

ul.content-bnr-list li {
	margin-bottom: 20px;
}
ul.content-bnr-list li img {
	vertical-align: bottom;
}
*/

/*    */
/*
table.requirements th {
	white-space: nowrap;
	padding-left: 0;
	padding-right: 0;
	text-align: center;
}
*/




/**
 *  合宿免許
 */
.camp-plan-sec {
	background-color: var(--color02-4);
	background-blend-mode: multiply;
}
.camp-plan {
	background-color: #ffffff;
	padding: 30px 20px;
	border-radius: 15px;
	margin-bottom: 40px;
}
.plan-title {
	display: block;
	max-width: 300px;
	padding: 10px 15px;
	font-size: 2em;
	font-weight: bold;
	line-height: 1;
	color: #ffffff;
	margin-top: -30px;
	background-color: var(--color03);
	margin-bottom: 0;
}
.plan-title span {
	font-size: 2em;
	font-weight: inherit;
	margin-right: 5px;
}
.plan-cont {
	display: flex;
}
.plan-cont .cont-text {
	width: 50%;
}
.plan-cont .cont-image {
	width: 50%;
}
.plan-cont h3 {
	font-size: 1.75em;
	display: inline-block;
}
.plan-cont h3::after {
	display: block;
	content: '';
	width: 100%;
	margin-top: -15px;
	border: 10px solid var(--color03-3);
}
.plan-cont .catch {
	display: inline-block;
	background-color: #918068;
	color: #ffffff;
	font-size: 1em;
	padding: 0.7em 15px;
}
.plan-image-list1 {
	display: flex;
	column-gap: 1%;
}
.plan-image-list1 li {
	width: 19%;
}
.plan-image-list2 {
	display: flex;
	column-gap: 1%;
	margin-bottom: 0;
}
.plan-image-list2 li:nth-of-type(1) {
	max-width: 28%;
}
.plan-image-list2 li:nth-of-type(2) {
	max-width: 40%;
}
.plan-image-list2 li:nth-of-type(3) {
	max-width: 30%;
}
.plan-image-list2 li:nth-of-type(3) figure {
	margin-bottom: 0;
}
#caption-attachment-683 {
	font-size: 1em;
	font-weight: bold;
	color: var(--color03);
}
.plan-b .plan-title {
	background-color: var(--color05);
}
.plan-b .plan-cont h3::after {
	border: 10px solid var(--color05-3);
}
.plan-image-list3 {
	display: flex;
	column-gap: 1%;
}
.plan-image-list3 li:nth-of-type(1) {
	max-width: 48%;
}
.plan-image-list3 li:nth-of-type(2),
.plan-image-list3 li:nth-of-type(3) {
	max-width: 25%;
}

.camp-meal {
	background-color: #ffffff;
	padding: 30px 20px;
	border-radius: 15px;
}
.camp-meal-cont {
	display: flex;
}
.camp-meal-cont .cont-text {
	width: 40%;
}
.camp-meal-cont figure {
	width: 57%;
	margin-left: auto;
}
.camp-meal-cont p {
	font-weight: bold;
	color: var(--color03);
}
.camp-meal-cont p span {
	font-size: 1.3125em;
	font-weight: inherit;
}

.sample-schedule {
	display: flex;
}
.sample-schedule .sample-schedule-list {
	width: 25%;
}
.sample-schedule .cont-text {
	width: 72%;
	margin-left: auto;
}
.sample-schedule .catch {
	text-align: left;
	font-weight: bold;
	color: var(--color03);
	margin: 0.5em 0;
	line-height: 1.5;
}
.sample-schedule-gallery {
	display: flex;
	column-gap: 2%;
	row-gap: 3vw;
}
.sample-schedule-gallery li {
	width: 100%;
	max-width: 360px;
}
.sample-schedule-gallery figcaption {
	text-align: center;
}
.sample-schedule-list {
	background-color: var(--color02-4);
	padding: 20px 10px 10px;
}
.sample-schedule-list li {
	text-align: center;
	position: relative;
	margin-bottom: 50px;
	color: var(--color04);
}
.sample-schedule-list li:last-child {
	margin-bottom: 0;
}
.sample-schedule-list li::after {
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	border: 3px solid;
	border-color: transparent #ccc #ccc transparent;
	transform: translate(-50%, 0%) rotate(45deg);
	position: absolute;
	top: 100%;
	left: 50%;
}
.sample-schedule-list li:last-child::after {
	display: none;
}
.sample-schedule-list li span {
	margin-right: 1em;
}

.camp-step-sec {
	background-color: var(--color03-4);
}
.camp-step-cont {
	background-color: rgba(255, 255, 255, 0.5);
	padding: 20px 15px;
}
.camp-step-table {
	margin-bottom: 0;
}
.camp-step-table th {
	font-size: 1.2em;
	color: var(--color04);
	font-weight: bold;
}



.camp-schedule-wrapper {
	position: relative;
	padding-bottom: 40%;
	height: 0;
	overflow: hidden;
}
.camp-schedule-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}




/**
 *  ラインナップ
 */
.product-card {
	padding: 20px;
	background-color: #ffffff;
}
.product-card dl {
	margin-bottom: 0;
}
.product-card dt {
	margin: 1em 0 1em;
}
.product-card dt img {
	vertical-align: top;
}
.product-card .link-btn-wrap {
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}



/**
 *  流れ
 */
.flow-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flow-list li {
	background-color: rgba(255, 255, 255, 0.8);
	padding: 20px;
    margin-bottom: 40px;
}
.flow-list li dl {
	margin-bottom: 0;
}
.flow-list li dt {
	display: flex;
	flex-wrap: wrap;
    align-items: flex-end;
    font-size: 1.5em;
    line-height: 1.4;
    margin-bottom: 15px;
}
.flow-step {
	display: block;
    width: 5em;
    font-size: 0.8em;
	line-height: 1;
    font-weight: bold;
    margin-left: -30px;
    margin-top: -30px;
    color: #999999;
    font-family: "Helvetica";
}
.flow-step .num {
	display: inline-block;
    font-size: 4em;
    font-weight: bold;
    line-height: 0.9;
}
.flow-list li dd {
	margin-bottom: 0;
}



/**
 *  about
 */
.outline-cont {
	display: flex;
}
.outline-cont .cont-text {
	margin-right: 20px;
}
.outline-cont figure {
	margin-left: auto;
}

.greeting-sec {
	background-color: #f6f6f6;
}
.president-signature {
	text-align: right;
	margin-top: 3em;
}
/* 沿革 */
.history-list {
    padding: 10px 0;
    margin-top: 45px;
    position: relative;
}
.history-list:before {
    content: '';
    background-color: #666666;
    display: block;
    height: 100%;
    width: 1px;
    position: absolute;
    left: 50%;
    top: 0px;
}
.history-list > li {
    float: left;
    margin-top: 180px;
    padding-right: 8%;
    position: relative;
    width: 50%;
}
.history-list > li h3 {
    text-align: right;
    position: relative;
}
.history-list > li h3::before {
    content: '';
    background-color: #666666;
    display: block;
    height: 1px;
    width: calc(100 / 42 * 7% );
    position: absolute;
    right: calc(100 / 42 * 8% * -1 );
    top: 50%;
}
.history-list > li:nth-child(2n) {
	float: right;
    padding-right: 0;
    padding-left: 8%;
}
.history-list > li:nth-child(even) h3 {
	text-align: left;
}
.history-list > li:nth-child(even) h3::before {
	left: calc(100 / 42 * 8% * -1 );
}
.history-list > li:nth-child(2n+1) {
	clear: both;
	margin-top: -180px;
}
.history-list > li:first-child {
	margin-top: 0;
}



.staff-list h3 {
	background-color: var(--color01-4);
	padding: 0.6em 15px 0.5em;
}
.staff-list h3 span {
	font-weight: inherit;
}
.staff-list h3 span.position {
	font-size: 0.875em;
	margin-right: 1.5em;
}
.staff-list h3 span.staff-name {
	font-size: 1em;
}
.profile-cont {
	display: flex;
}
.profile-cont .staff-pict {
	margin-right: 2em;
}
.profile-cont .profile-text {
	width: 100%;
}
.profile th {
	font-size: 0.875em;
}
.profile-faq dt {
	font-size: 0.875em;
	font-weight: normal;
	background-color: #f6f6f6;
	padding: 0.3em 0.5em;
	margin-bottom: 0.5em;
}
.profile-faq dt::before {
    display: inline-block;
    content: 'Q.';
    margin-right: 0.5em;
	font-size: 1.2em;
}




/**
 *  求人情報
 */
.boshuyoko-cont {
	display: flex;
	flex-direction: row-reverse;
	column-gap: 3%;
}
.boshuyoko-cont figure {
	width: 600px;
}
.boshuyoko-cont .cont-text {
	width: 100%;
}
/*
.boshuyoko-cont.noimage .cont-text {
	width: 100%;
}
*/
.boshuyoko-cont table th {
	width: 7em;
	text-align: center;
}





/**
 *  お問い合わせ
 */
.contact-entry th {
	width: 11em;
}









/* --- 時々使う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  --------------------------------------- */




.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 {margin-bottom: 60px!important;} .pT80 {margin-bottom: 80px!important;} .pT100 {margin-bottom: 100px!important;} .pT120 {margin-bottom: 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 {margin-bottom: 60px!important;} .pB80 {margin-bottom: 80px!important;} .pB100 {margin-bottom: 100px!important;} .pB120 {margin-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;}

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





/** ===========================================================================================
 *
 *  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: 4%;
	}
	/* 計算式は VW - (VW * 0.08 * 2) < 1200px  */
	
	
	
	
	
    
}


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


@media screen and (max-width: 1200px) {
	body,
	button,
	input,
	select,
	textarea {
		font-size: 15px;
		font-size: 1.5rem;
	}
	
	
	
	
}



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



@media screen and (max-width: 960px) {
	
	:root {
		--sidespace: 20px;
	}
	
	
	.site-header {
		/*
		position: sticky;
		top: 0;
		*/
	}
	
	.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 {
		width: 100%;
		margin-left: 0;
		flex: 0 1 auto;
	}
	
	
	.head-line-inner {
		height: 60px;
	}
	.site-title {
		max-width: 220px;
	}
	.head-info {
		display: none;
	}
	
	
	.post-navigation {
	}
	.post-navigation .nav-previous a {
	}
	.post-navigation .nav-next a {
	}
	
	
	
	.widget h2 {
		width: var(--vw100);
		margin-left: calc(50% - var(--vw50));
		padding: 5px calc(var(--vw50) - 50%);
	}
	
	
	
	/* ---------- ページトップへ ------------- */
	#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-bg {
		background-size: cover;
		background-attachment: scroll;
	}
	
	
	/* ----- トップページ ----- */
	.feature-list li h3 {
		font-size: 2em;
		margin-top: 30px;
		margin-bottom: 15px;
	}
	
	.top-course-list li {
		padding: 15px;
	}
	.top-course-list li h3 {
		font-size: 1.5em;
	}
	.btn-camp {
		max-width: 220px;
	}
	
	
	
	
	
}



@media screen and (max-width: 768px) {
	.pc,
    .pc-text {
		display: none;
	}
	.sp {
		display: block;
	}
    .sp-text {
        display: inline;
    }
    
	
	.sec-pT {
		padding-top: 60px;
	}
	.sec-pB {
		padding-bottom: 60px;
	}
	
	
	.footer-main-inner {
		flex-wrap: wrap;
		flex-direction: row;
	}
	.footer-main-inner .r-box {
		
	}
	.footer-main-inner .l-box {
		flex: 0 1 auto;
		width: 100%;
		padding-right: 0;
		margin-right: 0;
	}
	.footer-main-inner .l-box > figure {
		width: 240px;
	}
	
	
	
	
	.flex-cont {
		flex-wrap: wrap;
	}
	
	
	body.page .entry-title {
		font-size: 2.25em;
	}
	
	
	
	
	
	.f-grid-50 > * {width: 100%;}
	.f-grid-50 {gap: 0;}
	.f-grid-49 > * {width: 100%;}
	.f-grid-49 {gap: clamp(10px, 2vw, 40px) 0;}
	.f-grid-48 > * {width: 100%;}
	.f-grid-48 {row-gap: clamp(10px, 3vw, 40px); column-gap: 0;}
	.f-grid-47 > * {width: 100%;}
	.f-grid-47 {row-gap: clamp(10px, 4vw, 40px); column-gap: 0;}
	.f-grid-46 > * {width: 100%;}
	.f-grid-46 {row-gap: clamp(10px, 3vw, 40px); column-gap: 0;}
	.f-grid-33 > * {width: 100%;}
	.f-grid-32 > * {width: 100%;}
	.f-grid-32 {row-gap: clamp(10px, 2vw, 40px); column-gap: 0;}
	.f-grid-31 > * {width: 100%;}
	.f-grid-31 {row-gap: clamp(10px, 3vw, 40px); column-gap: 0;}
	.f-grid-30 > * {width: 100%;}
	.f-grid-30 {row-gap: clamp(10px, 4vw, 40px); column-gap: 0;}
	.f-grid-29 > * {width: 100%;}
	.f-grid-29 {row-gap: clamp(10px, 4vw, 40px); column-gap: 0;}
	.f-grid-25 > * {width: 50%;}
	.f-grid-24 > * {width: 49%;}
	.f-grid-24 {row-gap: clamp(10px, 2vw, 40px); column-gap: 2%;}
	.f-grid-23 > * {width: 48%;}
	.f-grid-23 {row-gap: clamp(10px, 3vw, 40px); column-gap: 4%;}
	.f-grid-22 > * {width: 46%;}
	.f-grid-22 {row-gap: clamp(10px, 4vw, 40px); column-gap: 8%;}

	.f-grid2-49 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-48 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-47 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-46 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-32 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-31 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-30 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-29 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-28 > * {width: 100%; margin-left: 0; margin-right: 0;}
	.f-grid2-24 > * {width: 49%; margin-left: calc( calc(100% / 2 - 49%) / 2 ); margin-right: calc( calc(100% / 2 - 49%) / 2 ); margin-bottom: 2%;}
	.f-grid2-23 > * {width: 48%; margin-left: calc( calc(100% / 2 - 48%) / 2 ); margin-right: calc( calc(100% / 2 - 48%) / 2 ); margin-bottom: 2%;}
	.f-grid2-22 > * {width: 46%; margin-left: calc( calc(100% / 2 - 46%) / 2 ); margin-right: calc( calc(100% / 2 - 46%) / 2 ); margin-bottom: 2%;}
	
	.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;}
	
	
	
	/*　レイアウトボックス01 */
	.layout-box01 .bg-image {
		width: 100%;
		height: auto;
		position: static;
	}
	.layout-box01 .cont-text {
		padding: 25px 5% 5% 5%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.layout-box01.reverse .bg-image {
		left: 0;
		right: 0;
	}
	.layout-box01.reverse .cont-text {
		margin-left: 0;
		margin-right: 0;
	}
	/*　レイアウトボックス01b */
	.layout-box01b .bg-image {
		width: 100%;
		height: auto;
		position: static;
	}
	.layout-box01b.reverse .bg-image {
		margin-left: 0;
	}
	.layout-box01b .cont-text {
		padding: 25px 0 5%;
	}
	.layout-box01b .cont-text {
		margin-left: 0;
		margin-right: 0;
	}
	.layout-box01b.reverse .cont-text {
		margin-left: 0;
		margin-right: 0;
	}
	/*　レイアウトボックス02 */
	.layout-box02 .inner {
		justify-content: center;
	}
	.layout-box02 .cont-text {
		width: 100%;
	}
	.layout-box02 .cont-image {
		width: 100%;
	}
	/*　レイアウトボックス03 */
	.layout-box03 {
		display: flex;
		column-gap: 20px;
	}
	.layout-box03 > * {
		width: 100%;
	}
	.layout-box03.reverse {
		flex-direction: row-reverse;
	}
	
	
	
	/* ----- トップページ ----- */
	.layout-pt01 li {
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
	
	.slider {
		height: 60vw;
	}
	.slider-item-text {
		padding: 3% 5% 0;
	}
	.slider-item-text h2 {
		font-size: 4vw;
	}
	
	.top-course-cont {
		flex-wrap: wrap;
		align-content: flex-start;
	}
	.top-course-cont > .cont-text {
		width: 100%;
		padding-left: 0;
	}
	.top-course-cont > figure {
		width: 100%;
	}
	.top-course-list li h3 {
		margin-top: 10px;
	}
	.top-school-building-cont {
		padding-top: 66.6%;
	}
	.top-school-building-cont .bg-image {
		width: 100%;
		height: 66.6vw;
	}
	.top-school-building-cont .cont-text {
		margin-left: 0;
	}
	.top-ondemand-cont {
		flex-wrap: wrap;
		flex-direction: row;
	}
	.top-ondemand-cont .cont-text {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}
	.top-ondemand-cont .cont-image {
		width: 100%;
	}
	
	.top-student-menu-list {
		column-gap: 4%;
		row-gap: 4vw;
	}
	.top-student-menu-list li {
		width: 48%;
	}
	
	
	
	
	/* ----- 学校案内 ----- */
	.school-appeal {
		flex-wrap: wrap;
	}
	.school-appeal > figure {
		width: 100%;
		text-align: center;
		margin-bottom: 0.5em;
	}
	.school-appeal > .cont-text {
		width: 100%;
		padding: 0;
	}
	
	.shitei-driving-school {
		padding: 15px;
	}
	.shitei-driving-school figure {
		flex: 0 0 80px;
	}
	
	.backup-list {
		flex-wrap: wrap;
	}
	.backup-list li {
		width: 100%;
	}
	.backup-list li h3 {
		margin-bottom: 0.3em;
	}
	
	.anshin-pac {
		padding: 15px;
	}
	
	.free-trial-cont {
		flex-wrap: wrap;
	}
	.free-trial-cont .cont-text {
		width: 100%;
	}
	.free-trial-cont figure {
		width: 100%;
		margin-bottom: 30px;
	}
	.free-trial-list li > div {
		padding: 15px 10px;
	}
	
	.children-link-list {
		flex-wrap: wrap;
	}
	.children-link-list li {
		max-width: 600px;
		margin-bottom: 20px;
	}
	
	
	/* 校舎のご案内 */
	.interior-gallery {
		column-gap: 4%;
		row-gap: 3vw;
	}
	.interior-gallery li {
		width: 48%;
	}
	
	
	
	
	/* ----- 教習コース・料金 ----- */
	.license-type-list {
		padding: 15px;
	}
	
	
	/* 大型・大型特殊・けん引 */
	.kyufukin-wrap {
		padding: 15px;
	}
	
	
	
	/* ----- 合宿免許 ----- */
	.plan-title {
		max-width: 200px;
	}
	.plan-cont {
		flex-wrap: wrap;
	}
	.plan-cont .cont-text,
	.plan-cont .cont-image {
		width: 100%;
	}
	.plan-cont h3 {
		margin-top: 1em;
		margin-bottom: 0.5em;
	}
	.plan-image-list1 {
		flex-wrap: wrap;
		column-gap: 2%;
		row-gap: 3vw;
	}
	.plan-image-list1 li {
		width: 32%;
	}
	
	
	
	/* ----- 求人情報 ----- */
	.boshuyoko-cont {
		flex-wrap: wrap;
	}
	.boshuyoko-cont figure {
		width: 100%;
		margin-bottom: 10px;
	}
	
	
	
	
	
	/* ----- サービス ----- */
	.layout-box01 .midashi03 {
		margin-top: 0;
	}
	
	
	
	
	
	
	
	
	
	
	
		
	
	
}


@media screen and (max-width: 560px) {
	
	:root {
		--sidespace: 15px;
	}
	
	.site-content {
		/*
		padding-left: 15px;
		padding-right: 15px;
		*/
	}
    
	.wrap-wide {
		margin-left: 15px;
		margin-right: 15px;
	}
    .wrap-inner {
		padding-left: 15px;
		padding-right: 15px;
	}
    .fullwide-inner {
        padding-left: 15px;
        padding-right: 15px;
    }
	
	
	
	body.page .entry-title {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	
	
	.widget h2 {
		margin: 0 -15px 5px;
		padding: 5px 10px;
		background-color: #ededed;
	}

	.side-bnr li {
		width: 100%;
		margin-right: 0%;
	}
	
	
	.f-menu-column-wrap {
		column-gap: 0;
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	.f-menu-column .footer-menu {
		margin-bottom: 0;
	}
	
	
	
	
	.type-post .entry-content h2,
	.entry-content .midashi02,
	.entry-content .is-style-midashi02 {
		font-size: 1.4em;
	}
	.type-post .entry-content h2::before,
	.entry-content .midashi02::before,
	.entry-content .is-style-midashi02::before {
		width: 8px;
		height: 27px;
		top: 8px;
		left: 10px;
	}
	.entry-content .midashi02b,
	.entry-content .is-style-midashi02b {
		font-size: 1.75em;
	}
	.type-post .entry-content h3,
	.entry-content .midashi03,
	.entry-content .is-style-midashi03 {
		font-size: 1.3125em;
	}
	.type-post .entry-content h4,
	.entry-content .midashi04,
	.entry-content .is-style-midashi04 {
		padding-left: 1.125em;
	}
	
	
	
	
	/* ----- トップページ ----- */
	.link-camp-wrap {
		flex-wrap: wrap;
		flex-direction: row;
	}
	.link-camp-wrap figure {
		width: 70%;
		margin-left: -15px;
		margin-bottom: -15px;
	}
	.link-camp-wrap figure img {
		display: block;
	}
	li.top-course-bike,
	li.top-course-ogata {
		width: 100%;
	}
	.top-course-list li h3 {
		font-size: 1.3125em;
	}
	.top-bnr-list {
		column-gap: 0;
	}
	.top-bnr-list li {
		width: 100%;
		margin-bottom: 20px;
	}
	
	
	/* ----- 学校案内 ----- */
	.backup-list {
		row-gap: 5vw;
	}
	.backup-list li h3 {
		font-size: 1.2em;
	}
	.select-camp .cont-text,
	.select-camp figure {
		width: 100%;
	}
	.free-trial-list {
		flex-wrap: wrap;
		column-gap: 0;
	}
	.free-trial-list li {
		margin-bottom: 20px;
	}
	.free-trial-list li:last-child {
		margin-bottom: 0;
	}
	
	
	/* 入校手続きのご案内 */
	
	
	/* 校舎のご案内 */
	.school-zenkei li {
		width: 100%;
	}
	.interior-gallery {
		column-gap: 0;
		row-gap: 5vw;
	}
	.interior-gallery li {
		width: 100%;
	}
	
	
	
	/* ----- 教習コース・料金 ----- */
	.license-type-cont {
		flex-wrap: wrap;
	}
	.license-type-cont > figure {
		width: 100%;
		margin-bottom: 10px;
	}
	
	.license-type-cont > .cont-text {
		width: 100%;
		padding-left: 0;
	}
	
	
	/* 普通自動車 */
	.requirements-table th,
	.requirements-table td {
		display: block;
	}
	.requirements-table th {
		padding: 0.3em 0.6em 0.2em;
	}
	.number-of-classes {
		flex-wrap: wrap;
	}
	.shortest-list {
		flex-wrap: wrap;
	}
	
	
	/* ----- 合宿免許 ----- */
	.camp-plan {
		padding-left: 15px;
		padding-right: 15px;
	}
	.plan-title {
		font-size: 1.5em;
		padding: 5px 10px;
		max-width: 140px;
	}
	.plan-cont h3 {
		font-size: 1.5em;
	}
	.plan-image-list1 {
		
	}
	.plan-image-list1 li {
		width: 49%;
	}
	.plan-image-list2 {
		flex-wrap: wrap;
		column-gap: 0;
	}
	.plan-image-list2 li:nth-of-type(1) {
		max-width: 40%;
	}
	.plan-image-list2 li:nth-of-type(2) {
		max-width: 60%;
	}
	.plan-image-list2 li:nth-of-type(3) {
		max-width: 70%;
		margin: 0 auto;
	}
	.plan-image-list3 {
		flex-wrap: wrap;
		row-gap: 15px;
		margin-bottom: 0;
	}
	.plan-image-list3 li:nth-of-type(1) {
		max-width: 100%;
	}
	.plan-image-list3 li:nth-of-type(2),
	.plan-image-list3 li:nth-of-type(3) {
		max-width: 100%;
	}
	.camp-meal {
		padding: 20px 15px;
	}
	.camp-meal-cont {
		flex-wrap: wrap;
	}
	.camp-meal-cont .cont-text {
		width: 100%;
		margin-bottom: 10px;
	}
	.camp-meal-cont figure {
		width: 100%;
	}
	
	.sample-schedule {
		flex-wrap: wrap;
	}
	.sample-schedule .sample-schedule-list {
		width: 100%;
	}
	.sample-schedule .cont-text {
		width: 100%;
	}
	.sample-schedule-gallery {
		flex-wrap: wrap;
	}
	
	.camp-step-table th,
	.camp-step-table td {
		display: block;
		width: 100%;
		border: none;
	}
	.camp-step-table th {
		padding-bottom: 0.3em;
	}
	.camp-step-table td {
		padding-top: 0;
	}
	.camp-step-table tr {
		border-bottom: 1px solid #dddddd;
	}
	
	
	
	/* ----- 求人情報 ----- */
	.table-sp-style th,
	.table-sp-style td {
		display: block;
		width: 100%!important;
	}
	.table-sp-style th {
		padding-top: 0.4em;
		padding-bottom: 0.3em;
		text-align: left;
	}
	.boshuyoko-cont .table-sp-style th {
		text-align: left;
	}
	
	
	
	
	
	
	


	
}
