@charset "UTF-8";

/*
RESET CSS
------------------------------------------------------------*/
/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

/***
    The new CSS reset - version 1.9 (last updated 19.6.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
    cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
    list-style: none;
}

/* For images to not be able to exceed their container */
img {
    max-inline-size: 100%;
    max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
    border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
    -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
    white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
    -webkit-appearance: revert;
    -moz-appearance: revert;
         appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
    all: revert;
}

/* reset default text opacity of input placeholder */
::-webkit-input-placeholder {
    color: unset;
}
::-moz-placeholder {
    color: unset;
}
:-ms-input-placeholder {
    color: unset;
}
::-ms-input-placeholder {
    color: unset;
}
::placeholder {
    color: unset;
}

/* remove default dot (•) sign */
::marker {
    content: initial;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
    display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
    -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
    all: revert;
}

/* SETTING 
====================================================== */
.pc { display: block!important; }
.tb { display: none!important; }
.sp { display: none!important; }
@media screen and (max-width: 1200px) {
	.pc { display: block!important; }
	.tb { display: block!important; }
	.sp { display: none!important; }
}
@media screen and (max-width: 768px) {
	.pc { display: none!important; }
	.tb { display: none!important; }
	.sp { display: block!important; }
}

body {
  position: relative;
  overflow-x: hidden;
  font-family: YakuHanJP, "Noto Sans JP", sans-serif;
  color: #000;
}
.no-yakuhan {
  font-family: "Noto Sans JP", sans-serif;
}
.taC {
	text-align: center;
}

/* content border
------------------------------------------------------ */
.content {
	padding: 0;
	margin: auto;
}
.content * {
	margin: 0 auto;
}
.content::before {
	content: "";
	display: inline-block;
	width: 100%;
	height: 44px;
	background-color: #000;
	background-image: url('./border.png');
	background-position: right;
	background-repeat: no-repeat;
}
.teikyo {
	max-width: 960px;
	text-align: right;
	font-size: .875em;
	font-weight: 600;
	line-height: 1;
	padding: 5px 4%;
}
.title {
	max-width: 960px;
	padding: 0 4%;
}
.lead {
	max-width: 900px;
	padding: 0 4%;
}
.lead p {
	font-size: 1.125em;
	font-weight: 600;
	line-height: 2;
	text-align: justify;
	margin-top: 30px;
}
.hd2 {
	max-width: 900px;
	padding: 0 4%;
	margin-top: 80px;
	box-sizing: content-box;
}
.hd2 h2 {
	font-size: 2em;
	font-weight: 900;
	text-align: center;
	color: #F8F666;
	background: #000;
	border-radius: 30px;
	padding: 5px;
}
.hd2.bg-grn h2 {
	background: #1EBBB6;
	color: #FFF;
}
.hd2.bg-mag h2 {
	background: #FE2C55;
	color: #FFF;
}
.hd2.bg-gry h2 {
	background: #575757;
}
.w860 {
	max-width: 860px;
	padding: 0 4%;
	box-sizing: content-box;
}
.w860 p {
	font-size: 1em;
	line-height: 2;
	text-align: justify;
	margin-top: 20px;
}
.w860 .hd3 {
	font-size: 1.5em;
	font-weight: 900;
	line-height: 1.25;
	color: #1E9EB8;
	margin-top: 40px;
}

@media only screen and (max-width: 768px) {
	.title {
		margin-top: 10px;
	}
	.lead p {
		margin-top: 10px;
	}
	.hd2 h2 {
		font-size: 7vw;
		line-height: 1.3;
		border-radius: 20px;
		padding: 10px 5px;
	}
	.w860 .hd3 {
		font-size: 6.25vw;
		margin-top: 40px;
		text-align: center;
	}
}

.sec {
	width: 100%;
	padding-bottom: 80px;
}
.sec.tameru {
	background: #DEFEFD;
	margin-top: 80px;
}
.sec.tsukau {
	background: #FEDFE5;
}
.sec.fes {
	background: #F6F4E6;
	padding-top: 60px;
}
.sec-inner {
	max-width: 960px;
	box-sizing: content-box;
}
.sec-title {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.sec-title-svg {
	margin-right: 30px;
}
.sec-hd2 {
	flex-grow: 1;
	font-size: 2.25em;
	font-weight: 900;
	line-height: 1.5;
}

@media only screen and (max-width: 768px) {
	.sec-title {
		flex-direction: column;
		align-items: center;
		padding: 0 4%;
	}
	.sec-title-svg {
		width: 40%;
		margin: 0 auto;
	}
	.sec-hd2 {
		font-size: 6.25vw;
		text-align: center;
		margin-top: 20px;
	}
}

.sec-tameru-box {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.sec-tameru-box-item {
	width: 46.5116%;
	align-self: flex-start;
}
.sec-tameru-box-item .pic-caption {
	font-size: 1em;
	line-height: 1.5;
	margin-top: 5px;
}
.sec.tameru .pic-screen {
	border: 1px solid #1EBBB6;
}
.sec-tameru-lst {
	max-width: 860px;
	display: flex;
	flex-wrap: wrap;
}
.sec-tameru-lst-item {
	width: 30.23255%;
	margin-top: 30px;
}
.sec-tameru-lst-item:first-child {
	width: 100%;
	max-width: none;
	padding: 0;
}
.sec-tameru-lst-item:first-child img {
	max-width: 500px;
	display: block;
}
.sec-tameru-lst-item:first-child .sec-tameru-lst-item-cap {
	max-width: 500px;
	padding: 0;
}
.sec-tameru-lst-item-pic {

}
.sec-tameru-lst-item-cap {
	text-align: justify;
	margin-top: 5px;
}

@media only screen and (max-width: 768px) {
	.sec-tameru-box {
		flex-direction: column;
		width: 70%;
		margin-top: 0;
	}
	.sec-tameru-box-item {
		width: 100%;
		margin-top: 30px;
	}
	.sec-tameru-box-item .pic-caption {
		text-align: center;
	}
	.sec-tameru-lst {
		flex-direction: column;
		max-width: none;
		padding: 0 4%;
	}
	.sec-tameru-lst-item {
		width: 70%;
		max-width: none;
		margin-top: 30px;
	}
	.sec-tameru-lst-item:first-child {
		width: 100%;
		max-width: none;
		padding: 0;
	}
	.sec-tameru-lst-item:first-child img {
		width: 100%;
		max-width: none;
	}
}

.sec-tsukau-box {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}
.sec-tsukau-box-item {
	width: 44.186%;
	align-self: flex-start;
}
.sec-tsukau-box-item-title {
	width: 100%;
	background: #000;
	color: #FFF;
	font-size: 1.5em;
	font-weight: 900;
	text-align: center;
	padding: 10px;
}
.sec-tsukau-box-item-lst {
	width: 100%;
}
.sec-tsukau-box-item-lst li {
	width: 100%;
	background: #FEBCC8;
	font-size: 1.5em;
	font-weight: 900;
	text-align: center;
	padding: 10px;
}
.sec-tsukau-box-item-lst li:nth-child(2n) {
	background: #FFF;
}
.sec-tsukau-box-item-lst li span {
	font-size: .75em;
}

@media only screen and (max-width: 768px) {
	.sec-tsukau-box {
		flex-direction: column;
		margin-top: 0;
	}
	.sec-tsukau-box-item {
		max-width: none;
		width: 100%;
		margin-top: 30px;
		box-sizing: border-box;
	}
	.sec-tsukau-box-item-title {
		font-size: 1.375em;
	}
	.sec-tsukau-box-item-lst li {
		font-size: 1.375em;
	}
}

.sec-tsukau-lst {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}
.sec-tsukau-lst-item {
	width: 22%;
	position: relative;
}
.sec-tsukau-lst-item::after {
	position: absolute;
	display: block;
	content: "";
	width:0px;
	height:0px;
	border-top: 15px solid transparent;
	border-right: 0px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 15px solid #FC2C56;
	right: -20px;
	top: 155px;
}
.sec-tsukau-lst-item:last-child:after {
	display: none;
}
.sec-tsukau-lst-title {
	background: #FFF;
	font-size: 1.25em;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	border: 2px solid #FC2C56;
	padding: 10px 5px;
}
.sec-tsukau-lst-pic {
	margin-top: 10px;
	border: 1px solid #FC2C56;
}

@media only screen and (max-width: 768px) {
	.sec-tsukau-lst {
		flex-direction: column;
		margin-top: 0;
	}
	.sec-tsukau-lst-item {
		width: 70%;
		max-width: none;

		margin-top: 30px;
	}
	.sec-tsukau-lst-item::after {
		position: absolute;
		display: block;
		content: "";
		width:0px;
		height:0px;
		border-top: 15px solid transparent;
		border-right: 0px solid transparent;
		border-bottom: 15px solid transparent;
		border-left: 15px solid #FC2C56;
		left: 50%;
		transform: translate(-50%, -50%);
		transform: rotate(90deg);
		top: auto;
		bottom: -25px;
	}
	.sec-tsukau-lst-pic {
		width: 100%;
		max-width: none;
	}
}

.sec-fes-hd2 {
	background: #000;
	color: #F8F666;
	font-size: 2.25em;
	font-weight: 900;
	line-height: 1.3;
	text-align: center;
	padding: 20px;
}

.fes-tbl-pc {
	width: 100%;
	margin-top: 30px;
}
.fes-tbl-pc thead {
	
}
.fes-tbl-pc thead tr {
	background: #575757;
}
.fes-tbl-pc thead tr th {
	color: #FFF;
	font-size: 1em;
	font-weight: 600;
	line-height: 1;
	vertical-align: middle;
	padding: 10px 10px;
}
.fes-tbl-pc thead tr th:first-child {
	padding: 10px 10px 10px 20px;
}
.fes-tbl-pc tbody {
	
}
.fes-tbl-pc tbody tr {
	background: #FFF;
}
.fes-tbl-pc tbody tr:nth-child(2n) {
	background: #EAE2BC;
}
.fes-tbl-pc tbody tr th {
	font-size: 1.5em;
	font-weight: 900;
	line-height: 1;
	padding: 10px 20px;
	vertical-align: middle;
}
.fes-tbl-pc tbody tr td {
	font-size: 1em;
	vertical-align: middle;
}
.fes-tbl-pc tbody tr th {
	width: 35%;
	padding: 10px 10px 10px 20px;
}
.fes-tbl-pc tbody tr td:nth-child(2) {
	width: 27%;
	padding: 10px 10px;
}
.fes-tbl-pc tbody tr td:nth-child(3) {
	width: 38%;
	padding: 10px 20px 10px 10px;
}
.fes-tbl-caplst {
	margin-top: 10px;	
}
.fes-tbl-caplst li {
	line-height: 1.5;
}
.fes-tbl-sp {
	display: none;
}

@media only screen and (max-width: 768px) {
	.fes-tbl-pc {
		display: none;
	}
	.fes-tbl-sp {
		display: block;
		width: 100%;
		margin-top: 30px;
	}
	.fes-tbl-sp tr {
		border-bottom: 1px solid #CCCCCC;
	}
	.fes-tbl-sp tr:last-child {
		border-bottom: none;
	}
	.fes-tbl-sp th {
		width: 30%;
		background: #575757;
		color: #FFF;
		font-size: .875em;
		font-weight: 600;
		line-height: 1.3;
		vertical-align: middle;
		padding: 15px 10px;
	}
	.fes-tbl-sp td {
		width: 70%;
		background: #FFF;
		font-size: .875em;
		font-weight: 600;
		line-height: 1.3;
		vertical-align: middle;
		padding: 15px 10px;
	}
	.fes-tbl-sp .fes-tbl-sp-name {
		font-size: 1.5em;
		font-weight: 900;
		line-height: 1;
		padding: 15px 10px;
		vertical-align: middle;
	}
	.fes-tbl-sp .bg-beige {
		background: #EAE2BC;
	}
	.fes-tbl-caplst {
		margin-top: 30px;	
	}
}

.sec-fes-lst {
	max-width: 860px;
	display: flex;
	flex-wrap: wrap;
}
.sec-fes-lst-item {
	height: 300px;
	margin-top: 30px;
}
.sec-fes-lst-item-pic {

}
.sec.fes .pic-screen {
	border: 1px solid #575757;
}
.sec-fes-cpn-cap {
	text-align: center;
	margin-top: 10px;
}

@media only screen and (max-width: 900px) {
	.sec-fes-lst-item {
		height: 250px;
	}
}

@media only screen and (max-width: 768px) {
	.sec-fes-lst {
		margin-top: 30px;
	}
	.sec-fes-lst-item {
		width: 70%;
		height: auto;
		margin-top: 10px;
	}
	.sec-fes-lst-item:first-child {
		margin-top: 0;
	}

	.sec-fes-cpn-cap {
		text-align: justify;
		padding: 0 4%;
		margin-top: 10px;
	}
}

.column-wrap {
	max-width: 960px;
	padding: 0 4%;
	box-sizing: content-box;
}
.column {
	background: #F8F666;
	border-radius: 20px;
	padding: 50px;
	margin-top: 80px;
	display: flex;
	justify-content: space-between;
}
.column-txt {
	width: 66%;
	margin-right: 4%;
}
.column-txt-hd {
	font-size: 2.25em;
	font-weight: 900;
}
.column-txt p {
	line-height: 2;
	text-align: justify;
	margin-top: 20px;
}
.column-ph {
	width: 30%;
}
.column-ph-name {
	font-weight: 500;
	display: inline-block;
}
.column-ph-name span {
	font-size: 1.25em;
	font-weight: 600;
}
.column-ph-title {
	font-weight: 500;
	display: inline-block;
}

@media only screen and (max-width: 900px) {
	.column-txt-hd {
		font-size: 2em;
	}
}

@media only screen and (max-width: 768px) {
	.column {
		flex-direction: column;
		padding: 30px 4%;
		margin-top: 80px;
	}
	.column-txt {
		width: 100%;
		max-width: none;
		margin-right: 0;
	}
	.column-txt-hd {
		font-size: 6.25vw;
		text-align: center;
	}
	.column-ph {
		width: 70%;
		max-width: none;
		margin-top: 30px;
	}
	.column-ph-name {
		display: block;
		text-align: center;
	}
	.column-ph-title {
		display: block;
		text-align: center;
	}
}

.qr-pc {
	background: #000;
	border-radius: 20px;
	padding: 50px 10%;
	margin-top: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.qr-pc-txt {
	flex: 1;
	margin-right: 40px;
}
.qr-pc-txt-hd {
	font-size: 2.5em;
	font-weight: 900;
	color: #FFF;
	line-height: 1;
	position:relative;
	padding-bottom: 20px;
	border-bottom: 2px solid #FFF;
}
.qr-pc-txt-hd::after {
	position: absolute;
	content: url(./arrow.png);
	display: block;
	bottom: -3px;
	right: 0;
}
.qr-pc-txt-body {
	font-size: 1.5625em;
	font-weight: 900;
	color: #F8F666;
	margin-top: 20px;
}
.qr-pc-code {
	width: 200px;
	height: 200px;
	background: #FFF;
	display: flex;
	justify-content: center;
	align-items: center;
}
.qr-pc-code-pic {
	width: 160px;
	height: 160px;
}
.qr-sp {
	display: none;
}

@media only screen and (max-width: 960px) {
	.qr-pc-txt-hd {
		font-size: 2.15em;
	}
}

@media only screen and (max-width: 768px) {
	.qr-pc {
		display: none;
	}
	.qr-sp {
		background: #000;
		border-radius: 20px;
		padding: 40px 4%;
		margin-top: 50px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;

	}
	.qr-sp-hd {
		width: 100%;
		color: #FFF;
		font-size: 2.125em;
		font-weight: 900;
		text-align: center;
		border-bottom: 1px solid #FFF;
		padding-bottom: 10px;
	}
	.qr-sp-txt {
		color: #F8F666;
		font-size: 5.75vw;
		font-weight: 900;
		text-align: center;
	}
	.qr-sp-bt {
		width: 90%;
		background: #F8F666;
		border-radius: 20px;
		margin-top: 30px;
		padding: 20px 5px;
		box-shadow: 10px 10px #575757;
	}
	.qr-sp-bt-label {
		font-size: 7vw;
		font-weight: 900;
		line-height: 1.3;
		text-align: center;
	}
}

.note-lst {
	margin-top: 30px;
	text-align: center;
}
.note-lst li {
	line-height: 2;
}
.note-lst-date {
	font-weight: 600;
	margin-top: 30px;
}

@media only screen and (max-width: 768px) {
	.note-lst li {
		font-size: .875em;
		text-align: left;
		line-height: 1.5;
		text-indent: -1em;
		padding-left: 1em;
		margin-top: 10px;
	}
	.note-lst li:first-child {
		margin-top: 0;
	}
	.note-lst li:last-child {
		text-align: center;
	}
}


/*
 お問い合わせ
------------------------------------------------------------*/
.inquiry {
	width: 100%;
	text-align: center;
	padding: 60px 4%;
	margin-top: 60px;
}
.inquiry-hd {
	background: #000;
	color: #F8F666;
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1;
	border-radius: 30px;
	display: inline-block;
	padding: 10px 60px;
}
.inquiry-name {
	font-size: 1.875em;
	font-weight: 600;
	line-height: 1;
	margin-top: 24px;
}
.inquiry-ml {
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1;
	text-decoration: underline;
	margin-top: 20px;
	transition: .3s;
	display: inline-block;
}
.inquiry-ml:hover {
	color: #FE2C55;
}


/*
 LOGO
------------------------------------------------------------*/
.logo {
	background: #000;
	padding: 104px 4%;
	margin: 0 auto;
	text-align: center;
	border-bottom: 5px solid #EEEEEE;
}

@media only screen and (max-width: 768px) {
	.logo {
		padding: 60px 4%;
	}
	.logo img {
		display: block;
		width: 70%;
		margin: 0 auto;
	}
}

