@charset "UTF-8";
/* ===========================================
 *  base
 * ======================================== */
body.light {
  --primary: #4355b9;
  --on-primary: #ffffff;
  --primary-container: #dee0ff;
  --on-primary-container: #00105c;
  --secondary: #5b5d72;
  --on-secondary: #ffffff;
  --secondary-container: #e0e1f9;
  --on-secondary-container: #181a2c;
  --tertiary: #77536d;
  --on-tertiary: #ffffff;
  --tertiary-container: #ffd7f1;
  --on-tertiary-container: #2d1228;
  --error: #ba1a1a;
  --on-error: #ffffff;
  --error-container: #ffdad6;
  --on-error-container: #410002;
  --background: #fefbff;
  --on-background: #1b1b1f;
  --surface: #fbf8fd;
  --on-surface: #1b1b1f;
  --surface-variant: #e3e1ec;
  --on-surface-variant: #46464f;
  --outline: #767680;
  --outline-variant: #c7c5d0;
  --shadow: #000000;
  --scrim: #000000;
  --inverse-surface: #303034;
  --inverse-on-surface: #f3f0f4;
  --inverse-primary: #bac3ff;
  --surface-dim: #dcd9de;
  --surface-bright: #fbf8fd;
  --surface-container-lowest: #ffffff;
  --surface-container-low: #f6f2f7;
  --surface-container: #f0edf1;
  --surface-container-high: #eae7ec;
  --surface-container-highest: #e4e1e6;
}

body .link:hover {
  opacity: 0.8;
}

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

ul li {
  list-style: none;
}

input {
  all: revert;
}

input[type=checkbox].checkbox,
input[type=radio].raddio-button {
  border-color: #bababa;
}

input[type=checkbox].checkbox,
input[type=radio].raddio-button {
  border: 2px solid;
}

.wpcf7-list-item {
  display: block !important;
}

/* ===========================================
 *  job-list
 * ======================================== */
.sort-list {
  display: block;
}
@media screen and (min-width: 992px) {
  .sort-list {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.sort-list .sort-item {
  padding: 0 1rem;
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .sort-list .sort-item {
    width: 50%;
  }
}
@media screen and (min-width: 992px) {
  .sort-list .sort-item {
    width: 25%;
  }
}
.sort-list .sort-item.sort-button {
  margin-top: -8px;
  text-align: center;
}

.contents-list .contents-item {
  padding: 1rem;
  width: 100%;
}
.contents-list .contents-item article a {
  display: block;
  width: 100%;
  height: 100%;
}
.contents-list .contents-item article a:hover {
  opacity: 0.8;
}
.contents-list .contents-item .item-header {
  align-items: flex-end !important;
}
.contents-list .contents-item .item-header .job-category {
  background-color: var(--secondary);
  color: #fff;
  margin-right: 0.75rem;
  padding: 4px 16px 5px 16px;
  border-radius: 30px;
  font-size: 0.6875rem;
}
.contents-list .contents-item .item-info {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 1px solid var(--outline);
  border-radius: 0;
}
.contents-list .contents-item .item-info p {
  font-size: 0.75rem;
  margin: 0.5rem;
}
@media screen and (min-width: 768px) {
  .contents-list .contents-item .item-info p {
    font-size: 1rem;
  }
}
.contents-list .contents-item .item-info p span {
  display: inline-block;
  text-align: center;
  color: #fff;
  background-color: var(--secondary);
  padding: 1px 0;
  width: 6rem;
  margin-right: 1rem;
}

/* ===========================================
 *  pagination
 * ======================================== */
.pagination {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 10px;
}

.pagination li a,
.pagination li span {
  display: block;
  color: var(--inverse-surface);
  padding: 5px 15px;
  background-color: #fff;
  border: 1px solid #999;
}

.pagination li span {
  color: #fff;
  background-color: var(--secondary);
}

.pagination li a:hover {
  color: #fff;
  background-color: var(--on-background);
}

.pagination li a.prev::before {
  font-family: "Font Awesome 6 Free";
  content: "\f053";
  font-size: 0.9rem;
  padding-right: 10px;
  font-weight: 900;
}

.pagination li a.next::after {
  font-family: "Font Awesome 6 Free";
  content: "\f054";
  font-size: 0.9rem;
  padding-left: 10px;
  font-weight: 900;
}

/* ===========================================
 *  breadcrumb
 * ======================================== */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: 0.6875rem;
}

.breadcrumb li:not(:last-of-type) {
  color: var(--on-surface-variant);
}
.breadcrumb li:not(:last-of-type)::after {
  /*
  font-family: "Font Awesome 6 Free";
  content: "\f054";
  font-weight: 600;
  margin: 0 0.4em; 
  color: #777; 
  */
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 24'%3E%3Cpath fill='rgb(27, 27, 31)' fill-rule='evenodd' d='M10.157 12.711L4.5 18.368l-1.414-1.414l4.95-4.95l-4.95-4.95L4.5 5.64l5.657 5.657a1 1 0 0 1 0 1.414'/%3E%3C/svg%3E");
  display: inline-block;
  background-repeat: no-repeat;
  height: 1rem;
  width: 1rem;
  vertical-align: middle;
  margin-left: 0.5rem;
  margin-bottom: 2.2px;
}

/* ===========================================
 *  single
 * ======================================== */
.contents-thumbnail figure {
  margin: 0 auto;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .contents-thumbnail figure {
    max-width: 600px;
  }
}
.contents-thumbnail figure img {
  aspect-ratio: 1.91/1;
  object-fit: cover;
  object-position: 50%;
}

.job-contents {
  box-shadow: none;
  background-color: initial;
  color: initial;
  padding: 0;
  border-radius: 0;
}
.job-contents a {
  color: var(--primary);
}
.job-contents a:hover {
  color: var(--on-primary-container);
}
.job-contents .job-name {
  font-size: 1.25rem;
  font-weight: 700;
}
.job-contents .job-name span {
  font-weight: 500;
  color: #fff;
  background-color: var(--secondary);
  font-size: 1.125rem;
  padding: 0.25rem 1rem 0.3125rem 1rem;
  border-radius: 30px;
  margin-right: 0.5rem;
}
.job-contents .job-postDate {
  padding-bottom: 1rem;
  text-align: right;
}
.job-contents .job-postDate span {
  padding: 0 0.5rem;
}
.job-contents .job-requirements .text {
  line-height: 1.5;
  padding: 2rem 0;
}
.job-contents .job-requirements dl div {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 1rem 0;
  border-bottom: 1px solid var(--outline-variant);
}
.job-contents .job-requirements dl dt {
  display: flex;
  align-items: center;
  font-weight: 600;
  padding-left: 1rem;
  width: 40%;
}
@media screen and (min-width: 992px) {
  .job-contents .job-requirements dl dt {
    padding-left: 2rem;
    width: 20%;
  }
}
.job-contents .job-requirements dl dd {
  width: 60%;
}
@media screen and (min-width: 992px) {
  .job-contents .job-requirements dl dd {
    width: 80%;
  }
}
.job-contents .entry-button {
  padding: 4rem 0;
  text-align: center;
}
.job-contents .entry-button form {
  display: inline-block;
  background-color: #ff9c40;
  padding: 1rem 1.5rem;
  border-radius: 0.2em;
}
.job-contents .entry-button form input {
  background-color: #ff9c40;
  font-size: 1.125rem;
  color: #fff;
}
.job-contents .entry-button button {
  background-color: #ff9c40;
  padding: 1rem 1.5rem;
}
.job-contents .entry-button button span {
  font-size: 1.125rem;
}

/* ===========================================
 *  header
 * ======================================== */
.header__logo {
  align-items: center;
  flex-direction: row;
}
@media screen and (min-width: 992px) {
  .header__logo {
    flex-direction: column;
  }
}
.header__logo img {
  width: 120px;
  height: auto;
}
@media screen and (min-width: 992px) {
  .header__logo img {
    width: 200px;
    height: 60px;
  }
}
.header__logo span {
  font-size: 0.5rem;
  line-height: 1.5rem;
  color: rgb(249, 115, 22);
  opacity: 0.75;
}
@media screen and (min-width: 992px) {
  .header__logo span {
    font-size: 1rem;
  }
}

/* ===========================================
 *  footer
 * ======================================== */
footer {
  background-color: #1c1917;
  color: #fff;
}

.footer-nav {
  display: block;
}
.footer-nav ul {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: center;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .footer-nav ul {
    flex-direction: row;
    padding: 0 5rem;
  }
}
@media screen and (min-width: 1200px) {
  .footer-nav ul {
    padding: 0 10rem;
  }
}
.footer-nav ul li {
  font-size: 0.75rem;
  line-height: 1rem;
  text-align: center;
  padding-top: 0.2rem;
  padding-bottom: 0.2rem;
}
@media screen and (min-width: 768px) {
  .footer-nav ul li {
    border-color: #fff;
    width: 33.3333333333%;
  }
}
.footer-nav ul li.border-left {
  border: none;
}
@media screen and (min-width: 768px) {
  .footer-nav ul li.border-left {
    border-left: 1px solid;
  }
}
@media screen and (min-width: 768px) {
  .footer-nav ul li.border-right {
    border-right: 1px solid;
  }
}
.footer-nav ul li a {
  display: block;
}

.footer-logo {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .footer-logo {
    flex-direction: row;
  }
}
.footer-logo img {
  display: block;
  margin: -8px 16px 16px 16px;
  width: 200px !important;
  height: auto;
}
.footer-logo span {
  font-weight: 600;
}

.footer-address {
  text-align: center;
}
.footer-address p {
  margin: 0;
  line-height: 1.3;
}

/* ===========================================
 *  form reset
 * ======================================== */
/*
input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	//background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
	display: none;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
	cursor: pointer;
}
input[type="file"] {
	opacity: 1;
	position: relative;
}

select {
	width: 80%;
	background-color: #fff;
	background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHdpZHRoPSczNicgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBkPSdNMTcuNDE4IDYuMTA5YzAuMjcyLTAuMjY4IDAuNzA5LTAuMjY4IDAuOTc5IDBzMC4yNzEgMC43MDEgMCAwLjk2OWwtNy45MDggNy44M2MtMC4yNyAwLjI2OC0wLjcwNyAwLjI2OC0wLjk3OSAwbC03LjkwOC03LjgzYy0wLjI3LTAuMjY4LTAuMjctMC43MDEgMC0wLjk2OXMwLjcwOS0wLjI2OCAwLjk3OSAwbDcuNDE5IDcuMTQxIDcuNDE4LTcuMTQxeicgZmlsbD0nIzQ0NDQ0NCc+PC9wYXRoPjwvc3ZnPg==);
	background-size: 24px;
	background-repeat: no-repeat;
	background-position: right center;
	border: 1px solid #ddd;
	padding: 0.4rem;
}
	*/
/* ===========================================
 *  form css
 * ======================================== */
.form_table {
  width: 100%;
  margin: 50px 0;
  border-top: 1px solid #ddd;
}

.form_table th,
.form_table td {
  padding: 15px 20px;
  border-bottom: 1px solid #ddd;
}

.form_table th {
  width: 30%;
  white-space: nowrap;
  font-weight: 500;
}
@media screen and (min-width: 992px) {
  .form_table th {
    width: 30%;
  }
}

.form_table input {
  padding: 5px;
  border: 1px solid #ddd;
}

.form_table input[type=file] {
  padding: 20px;
  border: 1px solid #ddd;
}

.form_table .note {
  font-size: 12px;
  padding: 10px 0 0;
}

.form_table .must::after {
  content: "必須";
  float: right;
  font-size: 12px;
  line-height: 1;
  padding: 3px 10px;
  background: #c00;
  color: #fff;
  position: relative;
  top: 6px;
}

.form_table .form_s {
  width: 120px;
}

.form_table label {
  margin-right: 20px;
}

.fm_sub {
  padding-left: 10px;
  font-size: 13px;
}

.fm_sub_ttl {
  display: block;
  margin-bottom: 15px;
  font-size: 13px;
}

.form_zip {
  margin-bottom: 10px;
}

.privacypolicy_cont {
  margin-bottom: 50px;
  padding: 20px;
  font-size: 14px;
  border: 1px solid #ddd;
  height: 200px;
  overflow-y: scroll;
  background-color: #fff;
}

.privacypolicy_cont p {
  margin-bottom: 1.5em;
}

.privacypolicy_cont .right {
  text-align: right;
}

.privacypolicy_cont h3 {
  margin-top: 1.5em;
  margin-bottom: 10px;
  font-weight: bold;
}

.privacypolicy_cont ol {
  margin-bottom: 1.5em;
  list-style: disc;
  padding-left: 25px;
}

.privacypolicy_cont dd {
  padding-left: 1em;
}

.privacy_check {
  text-align: center;
  margin-bottom: 50px;
  font-weight: 500;
}

.submit_btn {
  text-align: center;
}

.submit_btn button,
.submit_btn a {
  width: 80%;
  max-width: 640px;
  border: 0;
  background: #f1764b;
  padding: 15px;
  font-size: 1.125rem;
  font-weight: 500;
  color: #fff;
  display: inline-block;
  position: relative;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: all 0.3s;
}

.submit_btn button:hover,
.submit_btn a:hover {
  opacity: 0.8;
}

/* recruit
------------------------------------------------ */
.searchKeys {
  display: flex;
  align-items: center;
  justify-content: center;
}

.searchKeys label {
  display: flex;
  margin-right: 30px;
}

.searchKeys label span {
  display: block;
  margin-right: 20px;
}

.searchKeys label span.title {
  margin-right: 10px;
}

.searchKeys label option {
  padding: 10px;
  font-size: 14px;
  font-size: 1.4rem;
}

.searchKeys .select {
  position: relative;
  display: inline-block;
  padding: 0 35px 0 20px;
  border: 1px solid #aaa;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
}

.searchKeys .select span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  text-overflow: ellipsis;
}

.searchKeys .select::after {
  position: absolute;
  content: "▼";
  font-size: 12px;
  font-size: 1.2rem;
  right: 10px;
  top: 50%;
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.searchKeys .select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 30px;
  padding: 0 25px 0 10px;
  outline: 0;
  opacity: 0;
}

.searchKeys .action {
  margin-top: 0;
  font-size: 14px;
  font-size: 1.4rem;
  height: 30px;
  line-height: 30px;
  background: #333;
  color: #fff;
  border: 0;
}

.searchKeys .action:hover {
  opacity: 0.6;
}

.recruit_search {
  padding: 30px;
  background: #fff;
}

.recruit_search_content {
  margin-top: 40px;
  padding: 10px 0;
  background: #f1f1f1;
}

.recruit_archive_list h2,
.recruit_detail h2 {
  text-align: center;
  font-weight: 500;
  margin-bottom: 40px;
  font-size: 2.8rem;
}

.recruit_list {
  margin-bottom: 30px;
}

.recruit_list a {
  color: inherit;
  display: block;
  transition: opacity 0.3s;
}

.recruit_list a:hover {
  opacity: 0.7;
}

.recruit_ttl {
  background: #f1f1f1;
  padding: 20px 40px;
  position: relative;
}

.recruit_ttl::after {
  content: "\f144";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -12px;
  line-height: 1;
  font-size: 24px;
  opacity: 0.5;
}

.recruit_ttl h3 {
  font-size: 1.8rem;
  font-weight: 500;
}

.recruit_info {
  padding: 20px 40px;
  border: 1px solid #ddd;
  border-top: 0;
}

.job_label {
  margin-bottom: 30px;
}

.job_label span {
  margin-right: 10px;
  display: inline-block;
  font-size: 1.3rem;
  color: #fff;
  padding: 5px 15px;
  line-height: 1;
  border-radius: 3px;
}

.recruit_info dt {
  width: 120px;
  float: left;
  margin-right: 30px;
  text-align: center;
  font-size: 1.3rem;
  color: #fff;
  background: #808080;
  line-height: 1;
  padding: 5px 20px;
  position: relative;
  top: 2px;
}

.recruit_info dl {
  margin-bottom: 15px;
  overflow: hidden;
}

.recruit_info dd {
  width: calc(100% - 150px);
  float: left;
}

.pagenation {
  margin-top: 4em;
  text-align: center;
}

.pager li {
  display: inline-block;
  padding: 0 2px 10px;
  line-height: 1;
  font-size: 12px;
  font-size: 1.2rem;
}

.pager li span {
  display: inline-block;
}

.pager li.cur span,
.pager li a {
  display: inline-block;
  padding: 10px;
  border: 1px solid #000;
  background-color: #000;
  color: #fff;
  transition: opacity 0.3s;
}

.pager li a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.pager li.cur span {
  background-color: #fff;
  color: #000;
}

.recruit_table {
  width: 100%;
  margin: 30px 0;
  border-top: 1px solid #ddd;
}

.recruit_table th,
.recruit_table td {
  padding: 15px 20px;
  border-bottom: 1px solid #ddd;
}

.recruit_table th {
  width: 15%;
  white-space: nowrap;
  font-weight: 500;
}

.recruit_msg {
  margin-bottom: 40px;
}

.recruit_detail .submit_btn {
  margin: 50px 0 80px;
}

.recruit_detail .submit_btn a {
  max-width: 340px;
  padding: 12px;
  border-radius: 3px;
}

.recruit_detail .submit_btn span {
  position: relative;
  font-size: 22px;
}

.recruit_detail .submit_btn span i {
  padding-right: 30px;
  font-size: 32px;
  position: relative;
  top: 2px;
}

.recruit_detail .submit_btn span::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  float: right;
}

.entrytimeinfo {
  font-size: 1.3rem;
  text-align: right;
}

.infopanel_content {
  margin-top: 100px;
}

.info_panel {
  max-width: 800px;
  margin: 0 auto;
  background: #f9f9f9;
  padding: 40px;
  text-align: center;
  border: 2px solid #ddd;
}

.info_panel h2 {
  text-align: center;
  font-weight: 500;
  margin-bottom: 40px;
  font-size: 2.4rem;
}

.info_panel_contact {
  font-size: 1.8rem;
}

.info_contact_mail,
.info_contact_tel {
  margin-bottom: 20px;
  padding: 0 10px;
  display: inline-block;
}

.info_contact_mail span {
  font-size: 2.8rem;
  padding-left: 10px;
}

.info_contact_tel span {
  font-size: 2.8rem;
  padding-left: 10px;
}

.cvn_content {
  width: 100%;
  padding: 0;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 200;
}

body.recruit,
body.career,
body.parttime {
  padding-bottom: 100px;
}

.cvn_content ul {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cvn_content li {
  min-width: 33%;
  padding: 10px 20px;
}

.cvn_content a {
  padding: 15px 10px;
  text-align: center;
  display: block;
  background: #fff;
  line-height: 1.2;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  transition: opacity 0.4s;
  font-size: 18px;
  border-radius: 3px;
}

.cvn_content a::after {
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  float: right;
}

.cvn_web a span {
  position: relative;
}

.cvn_web a span::before {
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  position: absolute;
  left: -40px;
  font-size: 22px;
}

.cvn_tel a span::before {
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  position: absolute;
  top: 2px;
  left: -40px;
  font-size: 22px;
}

.cvn_content a:hover {
  opacity: 0.7;
}

.cvn_content .container,
.cvn_btn_list {
  height: 100%;
}

.cvn_btn_list .cvn_tel {
  display: none;
}

.cvn_btn_list a span {
  position: relative;
  line-height: 1;
}

.cvn_btn_list a i {
  padding-right: 20px;
  font-size: 24px;
  position: relative;
  top: 2px;
}

.entry_area_cvn {
  margin: 50px 0 60px;
  padding: 30px 0;
  background: #f5f5f5;
}

.entry_area_cvn .cvn_content {
  position: relative;
  background: none;
}

.entry_area_cvn .cvn_content a {
  box-shadow: 0 0 0 #fff;
}

.schedule_content {
  margin-top: 5em;
  padding-top: 3em;
  border-top: 1px solid #ddd;
}

.schedule_content h2.section_ttl {
  margin-bottom: 1em;
  font-size: 32px;
  text-align: center;
}

.timeline > li {
  overflow: hidden;
  position: relative;
}

.timeline-date {
  width: 100px;
  margin-right: 30px;
  text-align: right;
  float: left;
  font-size: 24px;
}

.timeline-content {
  float: left;
  width: calc(100% - 130px);
  padding-bottom: 2.5em;
  padding-left: 30px;
  border-left: 3px solid #ddd;
}

.timeline-content h3 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 18px;
}

.timeline-content::before {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  left: 126px;
  top: 18px;
  background: #ccc;
  border-radius: 100%;
}

.timeline-content figure {
  float: right;
  max-width: 320px;
  padding-left: 20px;
}

.other_interview {
  margin-top: 5em;
  padding-top: 3em;
  border-top: 1px solid #ddd;
}

.other_interview h2.section_ttl {
  margin-bottom: 1em;
  font-size: 32px;
  text-align: center;
}

.acms-entry-unit-full:not(.acms-unit-size-inherit) .column-video-right,
.acms-entry-unit-full:not(.acms-unit-size-inherit) .column-video-left,
.acms-entry-unit-full:not(.acms-unit-size-inherit) .column-youtube-right,
.acms-entry-unit-full:not(.acms-unit-size-inherit) .column-youtube-left {
  width: 100% !important;
}

/* ===========================================
 *  text-size
 * ======================================== */
@media screen and (max-width: 768px) {
  .md-text-lg {
    font-size: 1.125rem !important;
  }
}

/* ===========================================
 *  margin-padding
 * ======================================== */
/* margin */
.m-1 {
  margin: 0.5rem;
}

.m-2 {
  margin: 1rem;
}

.m-3 {
  margin: 1.5rem;
}

.m-4 {
  margin: 2rem;
}

.m-5 {
  margin: 3rem;
}

/* margin-x(上下)*/
.mx-auto {
  margin: 0 auto;
}

.mx-1 {
  margin: 0.5rem 0;
}

.mx-2 {
  margin: 1rem 0;
}

.mx-3 {
  margin: 1.5rem 0;
}

.mx-4 {
  margin: 2rem 0;
}

.mx-5 {
  margin: 3rem 0;
}

/* margin-y(左右)*/
.my-1 {
  margin: 0 0.5rem;
}

.my-2 {
  margin: 0 1rem;
}

.my-3 {
  margin: 0 1.5rem;
}

.my-4 {
  margin: 0 2rem;
}

.my-5 {
  margin: 0 3rem;
}

/* margin-top */
.mt-1 {
  margin-top: 0.5rem;
}

.mt-2 {
  margin-top: 1rem;
}

.mt-3 {
  margin-top: 1.5rem;
}

.mt-4 {
  margin-top: 2rem;
}

.mt-5 {
  margin-top: 3rem;
}

/* margin-right */
.mr-1 {
  margin-right: 0.5rem;
}

.mr-2 {
  margin-right: 1rem;
}

.mr-3 {
  margin-right: 1.5rem;
}

.mr-4 {
  margin-right: 2rem;
}

.mr-5 {
  margin-right: 3rem;
}

/* margin-bottom */
.mb-1 {
  margin-top: 0.5rem;
}

.mb-2 {
  margin-top: 1rem;
}

.mb-3 {
  margin-top: 1.5rem;
}

.mb-4 {
  margin-top: 2rem;
}

.mb-5 {
  margin-top: 3rem;
}

/* margin-left */
.ml-1 {
  margin-right: 0.5rem;
}

.ml-2 {
  margin-right: 1rem;
}

.ml-3 {
  margin-right: 1.5rem;
}

.ml-4 {
  margin-right: 2rem;
}

.ml-5 {
  margin-right: 3rem;
}

/* padding */
.p-1 {
  padding: 0.5rem;
}

.p-2 {
  padding: 1rem;
}

.p-3 {
  padding: 1.5rem;
}

.p-4 {
  padding: 2rem;
}

.p-5 {
  padding: 3rem;
}

/* padding-x(上下)*/
.py-1 {
  padding: 0.5rem 0;
}

.py-2 {
  padding: 1rem 0;
}

.py-3 {
  padding: 1.5rem 0;
}

.py-4 {
  padding: 2rem 0;
}

.py-5 {
  padding: 3rem 0;
}

/* padding-y(左右)*/
.px-0 {
  padding-left: 0;
  padding-right: 0;
}

.px-1 {
  padding: 0 0.5rem;
}

.px-2 {
  padding: 0 1rem;
}

.px-3 {
  padding: 0 1.5rem;
}

.px-4 {
  padding: 0 2rem;
}

.px-5 {
  padding: 0 3rem;
}

/* padding-top */
.pt-0 {
  padding-top: 0;
}

.pt-1 {
  padding-top: 0.5rem;
}

.pt-2 {
  padding-top: 1rem;
}

.pt-3 {
  padding-top: 1.5rem;
}

.pt-4 {
  padding-top: 2rem;
}

.pt-5 {
  padding-top: 3rem;
}

/* padding-right */
.pr-1 {
  padding-right: 0.5rem;
}

.pr-2 {
  padding-right: 1rem;
}

.pr-3 {
  padding-right: 1.5rem;
}

.pr-4 {
  padding-right: 2rem;
}

.pr-5 {
  padding-right: 3rem;
}

/* padding-bottom */
.pb-1 {
  padding-bottom: 0.5rem;
}

.pb-2 {
  padding-bottom: 1rem;
}

.pb-3 {
  padding-bottom: 1.5rem;
}

.pb-4 {
  padding-bottom: 2rem;
}

.pb-5 {
  padding-bottom: 3rem;
}

/* padding-left */
.pl-1 {
  padding-left: 0.5rem;
}

.pl-2 {
  padding-left: 1rem;
}

.pl-3 {
  padding-left: 1.5rem;
}

.pl-4 {
  padding-left: 2rem;
}

.pl-5 {
  padding-left: 3rem;
}