@charset "UTF-8";

/*==============================
    基本設定 / 共通項目
==============================*/
html {
 overflow-x: hidden;
 scroll-behavior: smooth;
}

body {
 overflow-x: hidden;
 margin: 0;
 padding: 0;
 font-weight: 400;
}

ul {
 list-style: none;
 margin: 0;
 padding: 0;
}

a {
 margin: 0;
 padding: 0;
 text-decoration: none;
 transition: 0.3s;
}

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

a img:hover {
 opacity: 0.8;
 cursor: pointer;
}

input:hover,
select:hover,
button:hover {
 cursor: pointer;
}

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

table {
 margin: auto;
 width: 800px;
 max-width: 100%;
}

th,
td {
 font-weight: normal;
 text-align: left;
}

input,
button,
select,
textarea {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 background: transparent;
 border: none;
 border-radius: 0;
 font: nherit;
 outline: none;
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 max-width: 100%;
 transition:.3s;
}

textarea {
 resize: vertical;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
 cursor: pointer;
}

input:hover {
 cursor: unset;
}

.mg8 {
 display: block;
 height: 8px;
}

.mg16 {
 display: block;
 height: 16px;
}

.mg24 {
 display: block;
 height: 24px;
}

.mg32 {
 display: block;
 height: 32px;
}

.mg40 {
 display: block;
 height: 40px;
}

.mg48 {
 display: block;
 height: 48px;
}

.mg48 {
 display: block;
 height: 48px;
}

.mg56 {
 display: block;
 height: 56px;
}

.mg64 {
 display: block;
 height: 64px;
}

.mg72 {
 display: block;
 height: 72px;
}

.mg80 {
 display: block;
 height: 80px;
}

.mg100 {
 display: block;
 height: 100px;
}

.gap8 {
 gap: 8px;
}
.gap16 {
 gap: 16px;
}
.gap24 {
 gap: 24px;
}
.gap32 {
 gap: 32px;
}
.gap40 {
 gap: 40px;
}
.gap48 {
 gap: 48px;
}

.fadein {
 opacity: 0.1;
 -webkit-transform: translate(0, 10px);
 transform: translate(0, 50px);
 -webkit-transition: 0.9s;
 transition: 0.8s;
}

.fadein.scrollin {
 opacity: 1;
 -webkit-transform: translate(0, 0);
 transform: translate(0, 0);
}

.fontS {
 font-size: 0.8rem;
}

.fontM {
 font-size: 1rem;
}

.fontL {
 font-size: 1.6rem;
}

.textL {
 text-align: left;
}

.textC {
 text-align: center;
}

.textR {
 text-align: right;
}

.block {
 display: block;
 margin: auto;
}

.flex {
 display: -webkit-flex;
 display: flex;
 margin: 0 auto;
 -webkit-flex-flow: row nowrap;
 flex-flow: row nowrap;
 justify-content: center;
 align-items: center;
}

.fd-column {
 flex-direction: column;
}

.fd-column-r {
 flex-direction: column-reverse;
}

.fd-reverse {
 flex-direction: row-reverse;
}

.jc-center {
 justify-content: center;
}

.jc-start {
 justify-content: flex-start;
}

.jc-end {
 justify-content: flex-end;
}

.jc-sa {
 justify-content: space-around;
}

.jc-sb {
 justify-content: space-between;
}

.ai-center {
 align-items: center;
}

.ai-start {
 align-items: flex-start;
}

.ai-end {
 align-items: flex-end;
}

.ai-baceline {
 align-items: baseline;
}

.reverse {
 transform: rotateY(180deg);
}

.br::after {
 content: "\A";
 white-space: pre;
}

.u {
 padding: 2px;
 border-bottom: 1px solid;
}

.b {
 font-weight: bold;
}

@media screen and (min-width: 767px) {
 .sp {
  display: none;
 }
}

@media screen and (max-width: 768px) {
 .pc {
  display: none;
 }
 .sp_column {
    flex-direction: column;
    width:100%;
}
