@charset "UTF-8";
/*
 * cmn_layout.css
 */
/* ==========================================================
!HTML5 elements
========================================================== */
header,
footer,
nav,
main,
section,
aside,
article {
	display: block;
}

figure,
figcaption {
	margin: 0;
	padding: 0;
}

/* ==========================================================
!Reseting
========================================================== */
/* 全ての要素のbox-sizingをデフォルトでborder-boxにする */
:root {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

*,
::before,
::after {
	border-width: 0;
	border-style: solid;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

html {
}

body {
	color: #1d1d1d;
	font-family: "Noto Sans JP", "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	-webkit-font-feature-settings: "palt";
	        font-feature-settings: "palt";
	letter-spacing: 0.11em;
	line-height: 1.5;
	-webkit-text-size-adjust: none;
	   -moz-text-size-adjust: none;
	    -ms-text-size-adjust: none;
	        text-size-adjust: none;
	background: #ffffff none;

	overflow-scrolling: touch;
}

body.en {
	font-family: "Noto Sans", Arial, Helvetica, Verdana, sans-serif;
	font-weight: 500;
}

/* Hack for Safari 7.1-8.0 */
_::-webkit-full-page-media,
_:future,
:root body {
	-webkit-font-feature-settings: "pkna";
	        font-feature-settings: "pkna";
}

body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td {
	margin: 0;
	padding: 0;
}

input,
textarea {
	margin: 0;
	font-size: 100%;
}

label {
	cursor: pointer;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}

fieldset,
img {
	border: 0;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-weight: normal;
	font-style: normal;
}

ol,
ul {
	list-style: none;
}

caption,
th {
	text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

q:after,
q:before {
	content: "";
}

a,
input {
	/* outline: none; */
}

abbr,
acronym {
	border: 0;
}

/* ==========================================================
!Clearfix
========================================================== */
.clearfix:after {
	display: block;
	clear: both;
	content: "";
}

/* ==========================================================
!Layout
========================================================== */
html {
	overflow-y: scroll;
}

body {
	text-align: center;
}

@media print {
	html,
	html body {
		*zoom: 0.65;
	}
}

/* ==========================================================
!Wrapper
========================================================== */
#wrapper {
	margin: 60px auto 0;
	text-align: center;
}

@media only screen and (min-width: 1100px) {
	#wrapper {
		margin: 80px auto 0;
	}
}

/* ==========================================================
!btn_area
========================================================== */
.p-top-btnarea {
	display: grid;
	place-items: center; /* ← これで上下左右中央に */
	height: 100vh; /* 高さを画面全体に */
}
.p-top-btnarea__list {
	display: grid;
	gap: 1rem;
}
button {
	width: 100%;
	max-width: 258px;
	padding: 0.5rem 1rem;
	border-radius: 0.25rem;
	border-width: 1px 1px 1px 1px;
	border-style: solid;
	border-color: #9ca3af;
	color: #1f2937;
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
	background-color: #ffffff;
	cursor: pointer;
}
button:hover,
button:focus {
	color: #1f2937;
	background-color: #f3f4f6;
}

/* ==========================================================
!box
========================================================== */
.terms,
.privacy {
	overflow-y: auto;
	position: fixed;
	display: none;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: left;
	background: rgba(0,0,0,0.2);
	z-index: 9999;
}
.modal-content {
	margin: 2rem;
	padding: 2rem;
	border-radius: 8px;
	background: #ffffff;
}
.c-btn-close {
	width: 100%;
	max-width: 150px;
	margin: 2rem 0 0;
	padding: 0.5rem 1rem;
	border-radius: 0.25rem;
	border-width: 1px 1px 1px 1px;
	border-style: solid;
	border-color: #ef4444;
	color: #ffffff;
	background-color: #ef4444;
	cursor: pointer;
}
.c-btn-close:hover,
.c-btn-close:focus {
	border-width: 1px 1px 1px 1px;
	border-style: solid;
	border-color: #ef4444;
	color: #ef4444;
	background-color: #ffffff;
}

/* ==========================================================
!style
========================================================== */
.font-semibold {
  font-weight: 600;
}
.font-bold {
  font-weight: 700;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-2xl {
  font-size: 1.5rem;
  line-height: 2rem;
}
.list-decimal {
  list-style-type: decimal;
}
.list-inside {
  list-style-position: inside;
}
.list-outside {
  padding-left: 1.5rem;
  list-style-position: outside;
}
.mt-2 {
  margin-top: .5rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mb-2 {
  margin-bottom: .5rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.ml-4 {
  margin-left: 1rem;
}
.my-4 {
  margin-bottom: 1rem;
  margin-top: 1rem;
}
