@charset "utf-8";


/*--------------------------------------------
■［変数］
--------------------------------------------*/
:root {
	/*color1*/
	--color-purple1: #7B4885;
	--color-purple2: #352438;
	--color-lpurple1: #9C869A;
	--color-lpurple2: #E9E6E9;
	
	/*color2*/
	/*--color-purple1: #564885;
	--color-purple2: #3c325d;
	--color-lpurple1: #aba4c2;
	--color-lpurple2: #f4f4f6;*/

	/*color3*/
	/*--color-purple1: #85364d;
	--color-purple2: #50202e;
	--color-lpurple1: #aa7282;
	--color-lpurple2: #f3ebed;*/

	--color-def: #222426;
	--color-mute: #707070;
	--color-red1: #e60012;
	--color-red2: #730009;
	--color-orange1: #9F5946;
	--color-yellow1: #9F8E3E;
	--color-green1: #419F3E;
	--color-blue1: #487185;
	--color-gray1: #EBEBE9;
	--color-lgray1: #f7f7f7;
	--color-lred1: #fde6e7;
	--color-lyellow1: #EBE0A8;
	--color-lblue1: #CCE1F1;
	--color-white: #fff;
	

	/*--font-def: "Zen Old Mincho", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	--font-en: 'Lora', serif;
	--font-ja: 'Zen Old Mincho', serif;*/
	
	--font-def: "Zen Kaku Gothic New", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	--font-en: 'Barlow Condensed', sans-serif;
	--font-ja: 'Noto Sans JP', sans-serif;

	/*--font-def: "Zen Maru Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
	--font-en: 'Khand', sans-serif;
	--font-ja: 'Zen Maru Gothic', sans-serif;*/
}


/*--------------------------------------------
■［html5］
--------------------------------------------*/

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

/*--------------------------------------------
■［ボディ］
--------------------------------------------*/

* {
	margin: 0;
	box-sizing: border-box;
}

html, body {
	font-family: var(--font-def);
	color: var(--color-def);
	background-color: var(--color-white);
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-overflow-scrolling: touch;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-text-size-adjust: 100%;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;
}
body.modalOpen {
	overflow: hidden;
}
body.fontsize-s {
	font-size: 14px;
}
body.fontsize-m {
	font-size: 16px;
}
body.fontsize-l {
	font-size: 18px;
}
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, body {
		color: var(--color-def);
	}
}
body[style*="margin-top: 56px;"] header {
	top: 56px;
}


/*--------------------------------------------
■［リンク］
--------------------------------------------*/

a:not(.btn) {
	color: var(--color-def);
	text-decoration: none;
}
a:not(.btn):visited {
	text-decoration: none;
}
a:not(.btn):hover {
	color: var(--color-purple1);
	text-decoration: none;
}
a:not(.btn):active {
	color: var(--color-purple1);
	text-decoration: none;
}

a img {
	border: none;
}

.touch {
	-webkit-tap-highlight-color: transparent;
}

button:hover,
.accordion:hover,
.slick-arrow:hover,
.hoverfade:hover,
.btn:hover,
a:hover {
	opacity: .5;
}

button,
.btn,
a {
	transition: all .3s ease-out;
}

.nohoverfade:hover {
	opacity: 1;
	pointer-events: none;
	cursor: default;
}

a[href^="tel:"] {
	color: inherit !important;
	pointer-events: none;
	text-decoration: none !important;
	cursor: default;
}

.disabled,
:disabled {
	pointer-events: none;
	opacity: 0.4;
	filter: grayscale(100%);
}

main a[href$=".pptx"]:after,
main a[href$=".doc"]:after,
main a[href$=".xlsx"]:after,
main a[href$=".pdf"]:after,
main a[href^="http"]:after {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	content: "\e89e";
	font-size: 0.68em;
	vertical-align: super;
	line-height: 1;
	margin: 0 0.2em;
	color:  var(--color-purple1);
	text-decoration: none !important;
}
main a[href^="https://expokyoto"]:after {
	display: none;
}
main a[href$=".pdf"]:after {
	content: "\e415";
	color:  var(--color-red1);
}
main a[href$=".pptx"]:after,
main a[href$=".doc"]:after,
main a[href$=".xlsx"]:after {
	content: "\e873";
	color:  var(--color-red1);
}


/*--------------------------------------------
■［フォント］
--------------------------------------------*/

h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
	padding: 0;
	margin: 0;
	line-height: 1.5;
}

.ss {
	font-size: 0.78em;
}
.s {
	font-size: 0.88em;
}
.m {
	font-size: 1rem;
}
.l {
	font-size: 1.2em;
}
.ll {
	font-size: 1.4em;
}

.fc-red1,
.notes {
	color: var(--color-red1) !important;
}
.fc-def {
	color: var(--color-def) !important;
}
.fc-mute {
	color: var(--color-mute) !important;
}
.fc-key1,
.fc-navy1 {
	color: var(--color-key1) !important;
}
.fc-blue1 {
	color: var(--color-purple1) !important;
}
.fc-black {
	color: var(--color-black) !important;
}
.fc-white {
	color: var(--color-white) !important;
}

.fw-bold {
	font-weight: 700 !important;
}
.fw-medium {
	font-weight: 500 !important;
}
.fw-normal {
	font-weight: 400 !important;
}

sup {
	font-size: 0.7em;
	vertical-align: text-top;
	position: relative;
	line-height: 1;
	margin: 0 0.25em;
}
sub {
	font-size: 0.7em;
	vertical-align: baseline;
	position: relative;
	margin: 0 0.25em;
}
sub i,
sup i {
	font-size: 0.7rem;
}

.ff-blc {
	/*font-family: 'Barlow Condensed', sans-serif;*/
	font-family: 'Lora', sans-serif;
}
.ff-zenmg {
	font-family: 'Zen Old Mincho', serif;
}


/*--------------------------------------------
■［回り込み］
--------------------------------------------*/

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

.f-left {
	float: left;
}

p.f-left {
	margin-right: 1.5em !important;
}

.f-right {
	float: right;
}

p.f-right {
	margin-left: 1.5em !important;
}

.f-clear {
	clear: both;
}

.a-left {
	text-align: left !important;
}


.a-right {
	text-align: right !important;
}

.a-center {
	text-align: center !important;
}


/*--------------------------------------------
■［ボックス］
--------------------------------------------*/

.d-flex {
	display: flex;
}
.fw-wrap {
	flex-wrap: wrap;
}
.d-block {
	display: block;
}
.d-inlineblock {
	display: inline-block;
}
.p-sticky {
	position: sticky;
	bottom: 0;
	z-index: 1;
}
.j-center {
	justify-content: center;
}
.ai-center {
	align-items: center;
}
.ai-fend {
	align-items: flex-end;
}
.fd-column {
	flex-direction: column;
}
.gap-3 {
	gap: 3%;
}
.gap-2 {
	gap: 2%;
}
.gap-1 {
	gap: 1%;
}
.gap-5px {
	gap: 5px;
}
.gap-10px {
	gap: 10px;
}
.gap-20px {
	gap: 20px;
}
.gap-30px {
	gap: 30px;
}
.show{
	display: inherit;
}
.hide{
	display: none;
}

.box {
	padding: 1.5em;
	border-radius: 0.5em;
}
.bgc-lgray1 {
	background-color: var(--color-lgray1);
}
.bgc-lgray2 {
	background-color: var(--color-lgray2);
}
.bgc-lgray3 {
	background-color: var(--color-lgray3);
}
.bgc-lblue1 {
	background-color: var(--color-lpurple1);
}
.bgc-lpink1 {
	background-color: var(--color-lpink1);
}
.bgc-white {
	background-color: var(--color-white);
}


/*--------------------------------------------
■［画像］
--------------------------------------------*/

img {
	-webkit-backface-visibility: hidden;
	-ms-interpolation-mode: bicubic;
	vertical-align: bottom;
	max-width: 100%;
	width: auto;
	height: auto;
	border-style: none;
}
img[data-action="zoom"] {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
}
.zoom-img,
.zoom-img-wrap {
	position: relative;
	z-index: 666;
	-webkit-transition: all 300ms;
	-o-transition: all 300ms;
	transition: all 300ms;
}
img.zoom-img {
	cursor: pointer;
	cursor: -webkit-zoom-out;
	cursor: -moz-zoom-out;
}
.zoom-overlay {
	z-index: 420;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	filter: "alpha(opacity=0)";
	opacity: 0;
	-webkit-transition:      opacity 300ms;
	-o-transition:      opacity 300ms;
	transition:      opacity 300ms;
}
.zoom-overlay-open .zoom-overlay {
	filter: "alpha(opacity=100)";
	opacity: 1;
}
.zoom-overlay-open,
.zoom-overlay-transitioning {
	cursor: default;
}

/*--------------------------------------------
■［改行禁止］
--------------------------------------------*/

.nobr {
	white-space: nowrap;
}

/*--------------------------------------------
■［非表示］
--------------------------------------------*/
.sp-view.d-flex,
.sp-view.d-inlineblock,
.sp-view {
	display: none !important;
}

.pc-view {
	display: inherit !important;
}
.pc-view.d-inlineblock {
	display: inline-block !important;
}
.pc-view.d-flex {
	display: flex !important;
}

body.logout *[data-login="1"],
body.login *[data-login="0"] {
	display: none !important;
}


/*--------------------------------------------
■［リスト］
--------------------------------------------*/

ul,
ol {
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.rhombus,
ul.disc {
	margin-bottom: 2em;
}
ul.rhombus > li,
ul.disc > li {
	margin: 0 0 0.3em 2em;
	position: relative;
	line-height: 1.5;
}
ul.rhombus > li:before,
ul.disc > li:before {
	content: "●";
	color: var(--color-def);
	font-size: 0.6em;
	position: absolute;
	left: -2em;
	margin-top: 0.6em;
}
ul.disc.blue > li:before {
	color: var(--color-purple1);
}
ul.disc.notes > li:before {
	color: var(--color-red1);
}
ul.rhombus > li:before {
	content: "◆";
}
ol.decimal {
	margin: 0px 0px 2em 2em;
	padding: 0px;
	list-style-type: decimal;
}
ol.decimal > li {
	margin: 0px 0px 0.5em 0.5em;
}

ol.upperalpha {
	margin: 0px 0px 2em 2em;
	padding: 0px;
	list-style-type: upper-alpha;
}
ol.upperalpha > li {
	margin: 0px 0px 0.5em 0.5em;
}

dl.dllist-002,
dl.dllist-001 {
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
dl.dllist-002 {
	align-items: stretch;
}
dl.dllist-001 > dt {
	width: 10em;
	background-color: var(--color-lgray1);
	border-radius: 2em;
	color: var(--color-purple2);
	padding: 0.5em;
	text-align: center;
	margin-bottom: 1em;
	line-height: 1.4;
}
dl.dllist-002 > dt {
	width: 12em;
	border: 1px solid var(--color-gray1);
	border-right: none;
	background-color: var(--color-lgray1);
	border-radius: 0.3em 0 0 0.3em;
	color: var(--color-purple2);
	padding: 1em;
	margin-bottom: 0.5em;
	line-height: 1.4;
}
dl.dllist-001.dt20em > dt {
	width: 20em;
}
dl.dllist-001 > dd {
	width: calc(100% - 10em);
	padding: 0.5em 0 0.5em 1em;
	margin-bottom: 1em;
	line-height: 1.4;
}
dl.dllist-002 > dd {
	width: calc(100% - 12em);
	padding: 1em;
	border: 1px solid var(--color-gray1);
	border-left: none;
	margin-bottom: 0.5em;
	border-radius: 0 0.3em 0.3em 0;
	line-height: 1.4;
}
dl.dllist-001.dt20em > dd {
	width: calc(100% - 20em);
}


ul.icon-kome {
	margin: 0;
	padding: 0;
}
p.icon-kome,
ul.icon-kome > li{
	position: relative;
	padding-left: 1.5em;
	line-height: 1.4;
}
ul.icon-kome > li + li {
	margin-top: 0.5em;
}
p.icon-kome:before,
ul.icon-kome > li:before {
	content: "＊";
	color: var(--color-red1);
	position: absolute;
	left: 0.25em;
}


/*--------------------------------------------
■［フォーム］
--------------------------------------------*/
select,
input[type="email"],
input[type="time"],
input[type="date"],
input[type="file"],
input[type="submit"],
input[type="button"],
button {
	background-color: transparent;
	border: none;
	padding: 0;
	margin: 0;
	font-size: 1em;
	cursor: pointer;
	color: var(--color-def);
	padding: 0.6em 1em;
}
select {
	max-width: 100%;
	appearance: none;
	background-image: url(../img/icon_down_black.svg);
	background-position: right 10px center;
	background-repeat: no-repeat;
	background-size: 14px;
	padding-right: 2.5em;
	border: 1px solid var(--color-gray1);
	background-color: var(--color-white);
	border-radius: 0.2em;
}
label {
	display: inline-block;
	white-space: nowrap;
	position: relative;
	padding: 0;
	margin-right: 1em;
}
label:last-child {
	margin-right: 0;
}
input[type="radio"],
input[type="checkbox"] {
	display: none;
}
input[type="radio"] + span,
input[type="checkbox"] + span {
	display: inline-block;
	padding-left: 1.3em;
	position: relative;
	min-height: 1em;
	min-width: 1em;
	vertical-align: middle;
	color: var(--color-mute);
	cursor: pointer;
}
input[type="radio"]:checked + span,
input[type="checkbox"]:checked + span {
	color: var(--color-purple1);
}
input[type="radio"] + span:before,
input[type="checkbox"] + span:before {
	width: 1em;
	height: 1em;
	position: absolute;
	left: 0;
	top: 0.1em;
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	content: "\e835";
}
input[type="radio"] + span:before {
	content: "\e836";
}
input[type="radio"]:checked + span:before,
input[type="checkbox"]:checked + span:before {
	content: "\e834";
}
input[type="radio"]:checked + span:before {
	content: "\e86c";
}
textarea,
input[type="url"],
input[type="tel"],
input[type="email"],
input[type="time"],
input[type="date"],
input[type="password"],
input[type="text"] {
	background-color: var(--color-white);
	border: 1px solid var(--color-gray1);
	border-radius: 0.1em;
	padding: 0.6em;
	font-size: 1em;
	color: var(--color-def);
	line-height: 1.5;
}
[readonly],
:disabled,
:disabled + span {
	pointer-events: none;
	cursor: default;
	opacity: 0.5;
	outline: none;
}

[readonly],
.readonly,
[readonly] + sspan,
select[readonly],
input[type="radio"][readonly],
input[type="checkbox"][readonly]{
	pointer-events: none;
}

p.error {
	color: var(--color-red1);
	line-height: 1.4;
	padding: 0.8em;
	padding-left: 2em;
	position: relative;
	background-color: var(--color-lred1);
	border-radius: 0.2em;
}
p.error:before {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	content: "\f083";
	position: absolute;
	left: 0.8em;
	height: 1em;
	width: 1em;
	line-height: 1;
	top: 0;
	bottom: 0;
	margin: auto;
}
p.error:empty {
	display: none;
}
textarea.error,
input[type='file'].error,
input[type="email"].error,
input[type="date"].error,
input[type="password"].error,
input[type="text"].error {
	color: var(--color-red1);
	border-color: var(--color-red1);
	background-color: var(--color-lpink);
}
textarea:required:not(.error),
input[type='file']:required:not(.error),
input[type="email"]:required:not(.error),
input[type="date"]:required:not(.error),
input[type="password"]:required:not(.error),
input[type="text"]:required:not(.error) {
	border-color: var(--color-purple1);
}

.autofill:after,
.required:after {
	content: "必須";
	font-size: 0.6em;
	display: inline-block;
	background-color: var(--color-red1);
	color: var(--color-white);
	line-height: 1;
	vertical-align: middle;
	margin-left: 0.5em;
	padding: 0.3em 0.5em 0.4em 0.5em;
	border-radius: 0.2em;
}
.autofill:after {
	content: "自動設定";
	background-color: var(--color-mute);
}

*[with='alphanum'],
*[with='alpha'],
*[with='numeric'] {
	ime-mode: inactive;
}
*[with='zenkaku'],
*[with='zenkana'] {
	ime-mode: active;
}
input::-webkit-input-placeholder {
	color: var(--color-gray1);
	opacity: 1;
}
input:-moz-placeholder {
	color: var(--color-gray1);
	opacity: 1;
}
input::-moz-placeholder {
	color: var(--color-gray1);
	opacity: 1;
}
input:-ms-input-placeholder {
	color: var(--color-gray1);
	opacity: 1;
}

input[type="text"] + button[name="passwordview"],
input[type="password"] + button[name="passwordview"] {
	padding: 0;
	width: 1em;
	height: 1em;
	font-size: 1em;
	display: inline-block;
	margin-left: -2em;
}
input[type="text"] + button[name="passwordview"].active,
input[type="password"] + button[name="passwordview"].active {
	opacity: 0.5;
}

input[type='file'] {
	color: var(--color-def);
	cursor: pointer;
	border: 1px solid var(--color-gray1);
	border-radius: 0.1em;
	padding-right: 0.5rem;
	width: 100%;
}

::file-selector-button,
::-webkit-file-upload-button {
	background-color: var(--color-gray1);
	color: var(--color-purple2);
	border: none;
	cursor: pointer;
	border-right: 1px solid var(--color-gray1);
	border-radius: 0.2em;
	margin-right: 1rem;
}


/*--------------------------------------------
■［ボタン］
--------------------------------------------*/

.btn {
	padding: 1em 1em;
	background-color: var(--color-white);
	border: 2px solid var(--color-purple2);
	color: var(--color-purple2);
	display: inline-block;
	text-decoration: none !important;
	line-height: 1.3;
	max-width: 100%;
	border-radius: 2em;
	position: relative;
	text-align: center;
	background-repeat: no-repeat;
	background-size: 0.5em;
}
.btn.s {
	padding: 0.5em 1em;
}
.btn i.material-icons {
	margin-top: -0.4em;
}
.btn.noshadow {
	box-shadow: none;
}
.btn img {
	width: auto;
	height: 1em;
}
.btn.purple1 {
	background-color: var(--color-purple1);
	border-color: var(--color-purple1);
	color: var(--color-white);
}
.btn.mute {
	border-color: var(--color-mute);
	color: var(--color-mute);
}
.btn.white {
	border-color: var(--color-gray1);
	background-color: var(--color-white);
	color: var(--color-def);
}
.btn.white.blue1 {
	color: var(--color-purple1);
}
.btn.white.mute {
	border-color: var(--color-mute);
	color: var(--color-mute);
}
.btn.next {
	background-image: url(../img/icon_next_white.svg);
	background-size: 0.5em;
	background-position: right 0.75em center;
	padding-right: 2em;
}
.btn.prev {
	background-image: url(../img/icon_prev_white.svg);
	background-size: 0.5em;
	background-position: left 07.5em center;
	padding-left: 2em;
}
.btn.down {
	background-image: url(../img/icon_down_white.svg);
	background-size: 0.5em;
	background-position: right 0.75em center;
	padding-right: 2em;
}
.btn.white.next {
	background-size: 0.5em;
	background-image: url(../img/icon_next_blue.svg);
}
.btn.white.prev {
	background-size: 0.5em;
	background-image: url(../img/icon_prev_blue.svg);
}

.btn2 {
	padding: 0.75em 1.5em;
	background-color: var(--color-white);
	border: 2px solid var(--color-key2);
	color: var(--color-black);
	border-radius: 0.2em;
	font-weight: normal;
	display: inline-block;
	text-decoration: none !important;
	line-height: 1;
	min-width: 10em;
	position: relative;
	text-align: center;
}
.btn2:before {
	border: 1px solid var(--color-key2);
	border-radius: 0.1em;
	left: 2px;
	right: 2px;
	top: 2px;
	bottom: 2px;
	content: "";
	position: absolute;
}
.btn2.gray {
	border: 2px solid var(--color-key3);
}
.btn2.gray:before {
	border: 1px solid var(--color-key3);
}


nav.btnarea {
	margin: 3em 0;
}
nav.btnarea ul {
	display: flex;
	gap: 1em;
	justify-content: center;
}
nav.btnarea ul li  {
	width: 18em;
}
nav.btnarea ul li .btn {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*--------------------------------------------
■［テーブル］
--------------------------------------------*/
/*
table {
	width: 100%;
	margin-bottom: 2em;
	table-layout: fixed;
	width: 100%;
	line-height: 1.3;
	border-collapse: separate;
	border-spacing: 0;
	border-bottom: 1px solid var(--color-gray1);
	border-right: 1px solid var(--color-gray1);
}
table.nofix {
	table-layout: auto;
}
div.table-wrapper {
	margin-bottom: 2em;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: auto;
	cursor: move;
}
div.table-wrapper table {
	margin-bottom: 0;
}
@media screen and (max-width: 980px) {
	div.table-wrapper table {
		width: 980px;
	}
}
table thead th {
	text-align: center;
	border-left: 1px dotted var(--color-gray1);
	border-top: 1px solid var(--color-gray1);
	background-color: var(--color-lpurple1);
	color: var(--color-def);
	font-weight: normal;
	padding: 1em;
}
table tbody th {
	text-align: center;
	padding: 1em;
	background-color: var(--color-lblue3);
	color: var(--color-def);
	font-weight: normal;
	border-left: 1px dotted var(--color-gray1);
	border-top: 1px solid var(--color-gray1);
}
table tbody td {
	text-align: left;
	padding: 1em;
	background-color: var(--color-white);
	border-left: 1px dotted var(--color-gray1);
	border-top: 1px solid var(--color-gray1);
}
table tbody tr:nth-child(even) th {
	background-color: var(--color-lblue2);
}
table tbody tr:nth-child(even) td {
	background-color: var(--color-lblue4);
}
table thead {
	position: sticky;
	top: 0;
	z-index: 2;
}
table thead tr:first-child th:first-child {
	z-index: 1;
}
table tbody {
	z-index: 0;
}
table tbody th:first-child {
	z-index: 1;
}
*/



/*--------------------------------------------
■［アイコン］
--------------------------------------------*/
i.material-icons,
i.material-icons-outlined,
.icon {
	font-size: 1em;
	width: auto;
	height: 1.2em;
	display: inline-block;
	vertical-align: baseline;
	line-height: 1;
	margin: -0.2em 0;
}
img.icon:first-child {
	margin-right: 0.3em;
}
img.icon:last-child {
	margin-left: 0.3em;
}
i.material-icons,
i.material-icons-outlined {
	font-size: 1.2em;
	height: auto;
	vertical-align: middle;
	margin-top: -0.4em;
}


/*--------------------------------------------
■［横幅］
--------------------------------------------*/

.w100 {
	width: 100%;
}
.w90 {
	width: 90%;
}
.w88 {
	width: 88%;
}
.w80 {
	width: 80%;
}
.w78 {
	width: 78%;
}
.w70 {
	width: 70%;
}
.w68 {
	width: 68%;
}
.w60 {
	width: 60%;
}
.w58 {
	width: 58%;
}
.w50 {
	width: 50%;
}
.w48 {
	width: 48%;
}
.w40 {
	width: 40%;
}
.w38 {
	width: 38%;
}
.w30 {
	width: 30%;
}
.w31 {
	width: 31%;
}
.w28 {
	width: 28%;
}
.w20 {
	width: 20%;
}
.w18 {
	width: 18%;
}
.w10 {
	width: 10%;
}
.maw-inherit,
.miw-inherit {
	min-width: inherit;
}
.miw-100 {
	min-width: 100% !important;
}
.maw-100 {
	max-width: 100% !important;
}
.miw-20em {
	min-width: 16em;
}
.wa {
	width: auto;
}
.w1em {
	width: 1em;
}
.w2em {
	width: 2em;
}
.w3em {
	width: 3em;
}
.w4em {
	width: 4em;
}
.w5em {
	width: 5em;
}
.w6em {
	width: 6em;
}
.w7em {
	width: 7em;
}
.w8em {
	width: 8em;
}
.w9em {
	width: 9em;
}
.w10em {
	width: 10em;
}
.w15em {
	width: 15em;
}
.w20em {
	width: 20em;
}
.maw980px {
	max-width: 980px;
}

.h1em {
	height: 1em;
}
.h2em {
	height: 2em;
}

/*--------------------------------------------
■［マージン］
--------------------------------------------*/

.mgt-0 {
	margin-top: 0 !important;
}
.mgt-05 {
	margin-top: 0.5em !important;
}
.mgt-10 {
	margin-top: 1em !important;
}
.mgt-15 {
	margin-top: 1.5em !important;
}
.mgt-20 {
	margin-top: 2em !important;
}
.mgt-30 {
	margin-top: 3em !important;
}
.mgt-40 {
	margin-top: 4em !important;
}

.mgb-0 {
	margin-bottom: 0 !important;
}
.mgb-05 {
	margin-bottom: 0.5em !important;
}
.mgb-10 {
	margin-bottom: 1em !important;
}
.mgb-15 {
	margin-bottom: 1.5em !important;
}
.mgb-20 {
	margin-bottom: 2em !important;
}
.mgb-30 {
	margin-bottom: 3em !important;
}
.mgb-40 {
	margin-bottom: 4em !important;
}

.mgl-auto {
	margin-left: auto !important;
}
.mgl-0 {
	margin-left: 0 !important;
}
.mgl-05 {
	margin-left: 0.5rem !important;
}
.mgl-10 {
	margin-left: 1rem !important;
}
.mgl-15 {
	margin-left: 1.5rem !important;
}
.mgl-20 {
	margin-left: 2rem !important;
}
.mgl-30 {
	margin-left: 3rem !important;
}

.mgr-auto {
	margin-right: auto !important;
}
.mgr-0 {
	margin-right: 0 !important;
}
.mgr-05 {
	margin-right: 0.5rem !important;
}
.mgr-10 {
	margin-right: 1rem !important;
}
.mgr-15 {
	margin-right: 1.5rem !important;
}
.mgr-20 {
	margin-right: 2rem !important;
}
.mgr-30 {
	margin-right: 3rem !important;
}

/*--------------------------------------------
■［パディング］
--------------------------------------------*/

.pdt-0 {
	padding-top: 0 !important;
}




/*--------------------------------------------
■［zoom.css］
--------------------------------------------*/

img[data-action="zoom"] {
	cursor: pointer;
	cursor: -webkit-zoom-in;
	cursor: -moz-zoom-in;
}
.zoom-img,
.zoom-img-wrap {
	position: relative;
	z-index: 666;
	-webkit-transition: all 300ms;
	-o-transition: all 300ms;
	transition: all 300ms;
}
img.zoom-img {
	cursor: pointer;
	cursor: -webkit-zoom-out;
	cursor: -moz-zoom-out;
}
.zoom-overlay {
	z-index: 420;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	filter: "alpha(opacity=0)";
	opacity: 0;
	-webkit-transition:      opacity 300ms;
	-o-transition:      opacity 300ms;
	transition:      opacity 300ms;
}
.zoom-overlay-open .zoom-overlay {
	filter: "alpha(opacity=100)";
	opacity: 1;
}
.zoom-overlay-open,
.zoom-overlay-transitioning {
	cursor: default;
}


/*--------------------------------------------
■［レスポンシブ］
--------------------------------------------*/

@media screen and (max-width: 767px) {
	/*--------------------------------------------
	■［リンク］
	--------------------------------------------*/

	a[href^="tel:"] {
		color: var(--color-black) !important;
		pointer-events: auto !important;
		text-decoration: underline !important;
		cursor: auto;
	}

	button:hover,
	.accordion:hover,
	.slick-arrow:hover,
	.hoverfade:hover,
	.btn:hover,
	a:hover {
		opacity: 1;
	}

	/*--------------------------------------------
	■［非表示］
	--------------------------------------------*/

	.sp-view {
		display: inherit !important;
	}
	.pc-view.d-flex,
	.pc-view.d-inlineblock,
	.pc-view {
		display: none !important;
	}
	.sp-view.d-inlineblock {
		display: inline-block !important;
	}
	.sp-view.d-flex {
		display: flex !important;
	}
	.sp-fd-column {
		flex-direction: column;
	}
	.sp-gap-0 {
		gap: 0;
	}


	/*--------------------------------------------
	■［回り込み］
	--------------------------------------------*/

	p.f-right,
	p.f-left {
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none;
		text-align: center;
	}


	/*--------------------------------------------
	■［ボックス］
	--------------------------------------------*/
	.sp-d-flex {
		display: flex;
	}
	.sp-d-block {
		display: block;
	}
	.sp-d-inlineblock {
		display: inline-block;
	}

	/*--------------------------------------------
	■［リスト］
	--------------------------------------------*/
	dl.dllist-002,
	dl.dllist-001 {
		mflex-direction: column;
	}
	dl.dllist-002 > dt,
	dl.dllist-001.dt20em > dt,
	dl.dllist-001.dt20em > dd,
	dl.dllist-001 > dt {
		width: 100%
	}
	dl.dllist-001 > dd {
		width: auto;
		padding: 0;
		margin-bottom: 1.5em;
	}
	dl.dllist-002 > dt {
		border-radius: 0.3em 0.3em 0 0;
		border: 1px solid var(--color-gray1);
		border-bottom: none;
		margin: 0;
	}
	dl.dllist-002 > dd {
		border-radius: 0 0 0.3em 0.3em;
		width: 100%;
		border: 1px solid var(--color-gray1);
		border-top: none;
	}

	/*--------------------------------------------
	■［ボタン］
	--------------------------------------------*/

	.btn {
		padding: 1em 1.5em;
	}

	/*--------------------------------------------
	■［テーブル］
	--------------------------------------------*/
	div.table-wrapper {
		max-height: 80vh;
	}
	table tbody td,
	table tbody th,
	table thead th {
		padding: 0.5em;
	}

	
	/*--------------------------------------------
	■［横幅］
	--------------------------------------------*/
	/*.w98,
	.w90,
	.w88,
	.w80,
	.w78,
	.w70,
	.w68,
	.w60,
	.w58,
	.w50,
	.w48,
	.w40,
	.w38,
	.w30,
	.w31,
	.w28,
	.w20,
	.w18,
	.w10,
	.w8 {
		width: auto;
		max-width: 100%;
		float: none;
	}*/
	
	.sp-w100 {
		width: 100%;
	}
	.sp-miw-inherit {
		min-width: inherit;
	}
	.sp-maw-inherit {
		max-width: inherit;
	}
	.sp-mgt-10 {
		margin-top: 1em;
	}
	.sp-mgt-20 {
		margin-top: 2em;
	}

}
@media screen and (max-width: 420px) {
	body {
		font-size: 3.6vw;
	}
}

