/**
 * common.css
 * version: 20210817
 *
 * Set display size division
 * SMP View    ~768px
 * TABLET/PC View 769px~
 * 
 * Setting Menu
 * 0. font-family
 * 1. font-size
 * 2. reset
 * 3. list style
 * 4. button style
 * 5. text style
 * 6. js style
 * 7. utility style
**/

/**
 * 0. font-family
**/

@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@300;400&display=swap');



/**
 * 1. font-size
 * SMP Base Width: 320px
**/

html {
	font-size: 10px;
}
@media (max-width: 1508px) {
	html {
		font-size: 0.663vw;
	}
}



/**
 * 2. reset
**/

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

html {
	height: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	height: 100%;
	background: #fff;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	color: #000;
}

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

em, strong {
	font-weight: 700;
	font-style: normal;
}

small {
	font-size: 0.8em;
}

/*
a {color: #3A76AD; text-decoration: underline;}
a:link    {color: #3A76AD; text-decoration: underline;}
a:visited {color: #0D0C6A; text-decoration: underline;}
a:active  {color: #0D0C6A; text-decoration: underline;}
a:hover   {color: #0D0C6A; text-decoration: none;}
*/
a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
	cursor: pointer;
}

input, textarea {
	-webkit-appearance: none;
}

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

label {
	cursor: pointer;
}

input[type="checkbox"] {
	display: inline-block;
	width: 3rem;
	height: 3rem;
	margin: 0 0.8em;
	border: solid 0.3rem #B5B5B5;
	border-radius: 0.4rem;
	background: transparent;
	vertical-align: middle;
	cursor: pointer;
	position: relative;
}

input[type="checkbox"]:checked {
	/*background: #E34017;*/
	background-color: #B5B5B5;
	border: solid 0.3rem #E34017;
}

input[type="checkbox"]:checked::after {
	content: "";
	display: block;
	width: 90%;
	height: 90%;
	background: url("../img/icon_checked.svg") no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 5%;
	top: 5%;
}

input[type="text"], 
input[type="password"] {
	width: 100%;
	padding: 0.8em 1em;
	border: solid 0.1rem #858585;
	border-radius: 0.5rem;
	background: #fff;
	color: #000;
}
input[type="text"]:disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}


.selectbox {
	position: relative;
}
.selectbox select {
	width: 100%;
	padding: 0.8em 2em 0.8em 1em;
	border: solid 0.1rem #858585;
	border-radius: 0.5rem;
	background: #fff;
	color: #000;
	line-height: 1.2;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.selectbox.company select {
	width: 100%;
	padding: 0.8em 2em 0.8em 1em;
	border: solid 0.1rem #858585;
	border-radius: 0.5rem;
	background: #0F0F0F;
	color: #fff;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.selectbox select::-ms-expand {
	display: none;
}
.selectbox::after {
	content: "";
	position: absolute;
	right: 1em;
	top: calc(50% - 0.5rem);
	width: 0;
	border-left: 0.8rem solid transparent;
	border-right: 0.8rem solid transparent;
	border-top: 1rem solid #E34017;
}
.selectbox select:disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}



/**
 * 3. list style
**/

ul[class^="list-"] {
	margin-left: 0!important;
}

.list-kome li, 
.list-star li, 
.list-square li, 
.list-circle li {
	list-style: none;
	padding-left: 1em;
	text-indent: -1em;
}

.list-kome li:before {
	content: "※";
}

.list-star li:before {
	content: "＊";
}

.list-square li:before {
	content: "■";
}

.list-circle li:before {
	content: "●";
}



/**
 * 4. button style
**/

.button, 
a.button {
	display: inline-block;
	padding: 0.8em 2em;
	border: solid 0.1rem #000;
	border-radius: 5em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}
.button-orange, 
a.button-orange {
	background: #E34017;
	color: #000;
}
.button-orange:hover, 
a.button-orange:hover {
	border: solid 0.1rem #E34017;
	color: #fff;
	text-shadow: rgb(255, 255, 255, 0.5) 0 0 1rem;
	transition: all 0.5s;
}
.button-red, 
a.button-red {
	background: #C92127;
	color: #fff;
}
.button-red:hover, 
a.button-red:hover {
	border: solid 0.1rem #C92127;
	text-shadow: rgb(255, 255, 255, 0.8) 0 0 1rem;
	transition: all 0.5s;
}
.button-gray, 
a.button-gray {
	background: #969696;
	color: #969696;
}
.button-white, 
a.button-white {
	background: #fff;
	color: #000;
}
.button-orange-outlined, 
a.button-orange-outlined {
	background: transparent;
	border: solid 0.3rem #E34017;
	color: #E34017;
}
.button-orange-outlined:hover, 
a.button-orange-outlined:hover {
	background: #E34017;
	color: #fff;
	transition: all 0.5s;
}
.button-red-outlined, 
a.button-red-outlined {
	background: transparent;
	border: solid 0.3rem #C92127;
	color: #C92127;
}
.button-gray-outlined, 
a.button-gray-outlined {
	background: transparent;
	border: solid 0.3rem #969696;
	color: #969696;
}
.button-gray-outlined:hover, 
a.button-gray-outlined:hover {
	background: #969696;
	color: #000;
	transition: all 0.5s;
}
.button-white-outlined, 
a.button-white-outlined {
	background: transparent;
	border: solid 0.1rem #fff;
	color: #fff;
}
.button-white-outlined:hover, 
a.button-white-outlined:hover {
	background: #fff;
	color: #000;
	transition: all 0.5s;
}
.button:disabled, 
a.button:disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}



a.link-icon {
	color: #3c3c3c;
	text-decoration: none;
}
a.link-icon:hover {
	color: #0068b7;
	text-decoration: underline;
}
.link-icon {
	display: inline-block;
	position: relative;
	padding-left: 1.7em;
	line-height: 1.5;
}
.link-icon::before {
	display: inline-block;
	content: "";
	width: 1em;
	height: 1em;
	/*background: url("../img/icon_link.png") no-repeat center center;*/
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 0.25em;
}

a.link-icon-white {
	color: #fff;
	text-decoration: none;
}
a.link-icon-white:hover {
	color: #fff;
	text-decoration: underline;
}
.link-icon-white {
	display: inline-block;
	position: relative;
	padding-left: 1.7em;
	line-height: 1.5;
}
.link-icon-white::before {
	display: inline-block;
	content: "";
	width: 1em;
	height: 1em;
	/*background: url("../img/icon_link_white.png") no-repeat center center;*/
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 0.25em;
}

a.link-icon-gray {
	text-decoration: none;
}
a.link-icon-gray:hover {
	text-decoration: underline;
}
.link-icon-gray {
	display: inline-block;
	position: relative;
	padding-left: 1.7em;
	line-height: 1.5;
}
.link-icon-gray::before {
	display: inline-block;
	content: "";
	width: 1em;
	height: 1em;
	/*background: url("../img/icon_link_gray.png") no-repeat center center;*/
	background-size: contain;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 0.25em;
}
.link-icon-gray:hover::before {
	/*background: url("../img/icon_link.png") no-repeat center center;*/
	background-size: contain;
}

.link-icon-arrow {
	display: inline-block;
	position: relative;
	padding-left: 1.2em;
	line-height: 1.5;
}
.link-icon-arrow::before {
	display: inline-block;
	content: "";
    width: 0.35em;
    height: 0.35em;
    border-top: 2px solid #3c3c3c;
    border-right: 2px solid #3c3c3c;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	position: absolute;
	left: 0;
	top: 0.5em;
}
.link-icon-arrow:hover::before {
    border-top: 2px solid #0068b7;
    border-right: 2px solid #0068b7;
}

.blank-icon {
	margin-left: 1em;
	font-size: 0.8em;
	vertical-align: middle;
}

a.btn-wide {
	color: #3c3c3c;
	text-decoration: none;
}
a.btn-wide:hover {
	color: #0068b7;
	text-decoration: none;
}
.btn-wide {
	display: block;
	padding: 1em;
	border: solid 2px #e7e7e7;
	text-align: center;
}
.btn-wide:hover {
	border: solid 2px #0068b7;
}

a.btn-short {
	color: #3c3c3c;
	text-decoration: none;
}
a.btn-short:hover {
	color: #0068b7;
	text-decoration: none;
}
.btn-short {
	display: inline-block;
	padding: 1em;
	border: solid 2px #e7e7e7;
	text-align: center;
}
.btn-short:hover {
	border: solid 2px #0068b7;
}
@media all and (max-width: 767px) {
	.btn-short {
		width: 100%;
	}
}

.text-heading {
	display: inline-block;
	position: relative;
	padding-left: 15px;
	line-height: 1.5;
}
.text-heading::before {
	display: inline-block;
	content: "";
	width: 0;
	height: 1em;
	border-left: solid 6px #0068b7;
	vertical-align: middle;
	position: absolute;
	left: 0;
	top: 0.25em;
}



/**
 * 5. text style
**/

.marker {
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #fff100 0%) repeat scroll 0 0;
}



/**
 * 6. js style
**/

.js-fadein {
	opacity: 0;
}

.js-fadein-slide, 
.js-fadein-slide2, 
.js-fadein-slide3 {
	display: block;
	opacity: 0;
	transform: translateY(50px);
}

.js-fadein.is-active {
	opacity: 1;
	transition: 1s;
}

.js-fadein-slide.is-active {
	opacity: 1;
	transform: translateY(0);
	transition: 0.8s;
}

.js-fadein-slide2.is-active {
	opacity: 1;
	transform: translateY(0);
	transition: 1.1s;
}

.js-fadein-slide3.is-active {
	opacity: 1;
	transform: translateY(0);
	transition: 1.4s;
}



/**
 * 7. utility style
**/

.display-block        { display: block!important; }
.display-none         { display: none!important; }
.display-inline       { display: inline!important; }
.display-inline-block { display: inline-block!important; }

.opacity-0   { opacity:   0!important; }
.opacity-10  { opacity: 0.1!important; }
.opacity-20  { opacity: 0.2!important; }
.opacity-30  { opacity: 0.3!important; }
.opacity-40  { opacity: 0.4!important; }
.opacity-50  { opacity: 0.5!important; }
.opacity-60  { opacity: 0.6!important; }
.opacity-70  { opacity: 0.7!important; }
.opacity-80  { opacity: 0.8!important; }
.opacity-90  { opacity: 0.9!important; }
.opacity-100 { opacity:   1!important; }

.position-absolute { position: absolute!important; }
.position-relative { position: relative!important; }

.margin-0  { margin:      0!important; }
.margin-5  { margin: 0.5rem!important; }
.margin-10 { margin:   1rem!important; }
.margin-15 { margin: 1.5rem!important; }
.margin-20 { margin:   2rem!important; }
.margin-25 { margin: 2.5rem!important; }
.margin-30 { margin:   3rem!important; }
.margin-35 { margin: 3.5rem!important; }
.margin-40 { margin:   4rem!important; }
.margin-45 { margin: 4.5rem!important; }
.margin-50 { margin:   5rem!important; }
.margin-top-0  { margin-top:      0!important; }
.margin-top-5  { margin-top: 0.5rem!important; }
.margin-top-10 { margin-top:   1rem!important; }
.margin-top-15 { margin-top: 1.5rem!important; }
.margin-top-20 { margin-top:   2rem!important; }
.margin-top-25 { margin-top: 2.5rem!important; }
.margin-top-30 { margin-top:   3rem!important; }
.margin-top-35 { margin-top: 3.5rem!important; }
.margin-top-40 { margin-top:   4rem!important; }
.margin-top-45 { margin-top: 4.5rem!important; }
.margin-top-50 { margin-top:   5rem!important; }
.margin-bottom-0  { margin-bottom:      0!important; }
.margin-bottom-5  { margin-bottom: 0.5rem!important; }
.margin-bottom-10 { margin-bottom:   1rem!important; }
.margin-bottom-15 { margin-bottom: 1.5rem!important; }
.margin-bottom-20 { margin-bottom:   2rem!important; }
.margin-bottom-25 { margin-bottom: 2.5rem!important; }
.margin-bottom-30 { margin-bottom:   3rem!important; }
.margin-bottom-35 { margin-bottom: 3.5rem!important; }
.margin-bottom-40 { margin-bottom:   4rem!important; }
.margin-bottom-45 { margin-bottom: 4.5rem!important; }
.margin-bottom-50 { margin-bottom:   5rem!important; }
.margin-left-0  { margin-left:      0!important; }
.margin-left-5  { margin-left: 0.5rem!important; }
.margin-left-10 { margin-left:   1rem!important; }
.margin-left-15 { margin-left: 1.5rem!important; }
.margin-left-20 { margin-left:   2rem!important; }
.margin-left-25 { margin-left: 2.5rem!important; }
.margin-left-30 { margin-left:   3rem!important; }
.margin-left-35 { margin-left: 3.5rem!important; }
.margin-left-40 { margin-left:   4rem!important; }
.margin-left-45 { margin-left: 4.5rem!important; }
.margin-left-50 { margin-left:   5rem!important; }
.margin-right-0  { margin-right:      0!important; }
.margin-right-5  { margin-right: 0.5rem!important; }
.margin-right-10 { margin-right:   1rem!important; }
.margin-right-15 { margin-right: 1.5rem!important; }
.margin-right-20 { margin-right:   2rem!important; }
.margin-right-25 { margin-right: 2.5rem!important; }
.margin-right-30 { margin-right:   3rem!important; }
.margin-right-35 { margin-right: 3.5rem!important; }
.margin-right-40 { margin-right:   4rem!important; }
.margin-right-45 { margin-right: 4.5rem!important; }
.margin-right-50 { margin-right:   5rem!important; }

.padding-0  { padding:      0!important; }
.padding-5  { padding: 0.5rem!important; }
.padding-10 { padding:   1rem!important; }
.padding-15 { padding: 1.5rem!important; }
.padding-20 { padding:   2rem!important; }
.padding-25 { padding: 2.5rem!important; }
.padding-30 { padding:   3rem!important; }
.padding-35 { padding: 3.5rem!important; }
.padding-40 { padding:   4rem!important; }
.padding-45 { padding: 4.5rem!important; }
.padding-50 { padding:   5rem!important; }
.padding-top-0  { padding-top:      0!important; }
.padding-top-5  { padding-top: 0.5rem!important; }
.padding-top-10 { padding-top:   1rem!important; }
.padding-top-15 { padding-top: 1.5rem!important; }
.padding-top-20 { padding-top:   2rem!important; }
.padding-top-25 { padding-top: 2.5rem!important; }
.padding-top-30 { padding-top:   3rem!important; }
.padding-top-35 { padding-top: 3.5rem!important; }
.padding-top-40 { padding-top:   4rem!important; }
.padding-top-45 { padding-top: 4.5rem!important; }
.padding-top-50 { padding-top:   5rem!important; }
.padding-bottom-0  { padding-bottom:      0!important; }
.padding-bottom-5  { padding-bottom: 0.5rem!important; }
.padding-bottom-10 { padding-bottom:   1rem!important; }
.padding-bottom-15 { padding-bottom: 1.5rem!important; }
.padding-bottom-20 { padding-bottom:   2rem!important; }
.padding-bottom-25 { padding-bottom: 2.5rem!important; }
.padding-bottom-30 { padding-bottom:   3rem!important; }
.padding-bottom-35 { padding-bottom: 3.5rem!important; }
.padding-bottom-40 { padding-bottom:   4rem!important; }
.padding-bottom-45 { padding-bottom: 4.5rem!important; }
.padding-bottom-50 { padding-bottom:   5rem!important; }
.padding-left-0  { padding-left:      0!important; }
.padding-left-5  { padding-left: 0.5rem!important; }
.padding-left-10 { padding-left:   1rem!important; }
.padding-left-15 { padding-left: 1.5rem!important; }
.padding-left-20 { padding-left:   2rem!important; }
.padding-left-25 { padding-left: 2.5rem!important; }
.padding-left-30 { padding-left:   3rem!important; }
.padding-left-35 { padding-left: 3.5rem!important; }
.padding-left-40 { padding-left:   4rem!important; }
.padding-left-45 { padding-left: 4.5rem!important; }
.padding-left-50 { padding-left:   5rem!important; }
.padding-right-0  { padding-right:      0!important; }
.padding-right-5  { padding-right: 0.5rem!important; }
.padding-right-10 { padding-right:   1rem!important; }
.padding-right-15 { padding-right: 1.5rem!important; }
.padding-right-20 { padding-right:   2rem!important; }
.padding-right-25 { padding-right: 2.5rem!important; }
.padding-right-30 { padding-right:   3rem!important; }
.padding-right-35 { padding-right: 3.5rem!important; }
.padding-right-40 { padding-right:   4rem!important; }
.padding-right-45 { padding-right: 4.5rem!important; }
.padding-right-50 { padding-right:   5rem!important; }

.border-0 { border: none!important; }
.border-1 { border-width: 1px!important; }
.border-2 { border-width: 2px!important; }
.border-3 { border-width: 3px!important; }

.border-radius-0  { border-radius:      0!important; }
.border-radius-5  { border-radius: 0.5rem!important; }
.border-radius-10 { border-radius:   1rem!important; }
.border-radius-15 { border-radius: 1.5rem!important; }
.border-radius-20 { border-radius:   2rem!important; }
.border-radius-25 { border-radius: 2.5rem!important; }
.border-radius-30 { border-radius:   3rem!important; }

.text-left   { text-align: left!important; }
.text-right  { text-align: right!important; }
.text-center { text-align: center!important; }

.text-underline    { text-decoration: underline!important; }
.text-overline     { text-decoration: overline!important; }
.text-nodecoration { text-decoration: none!important; }

.vertical-top      { vertical-align: top!important; }
.vertical-middle   { vertical-align: middle!important; }
.vertical-bottom   { vertical-align: bottom!important; }
.vertical-baseline { vertical-align: baseline!important; }

.line-0  { line-height:   0!important; }
.line-10 { line-height:   1!important; }
.line-11 { line-height: 1.1!important; }
.line-12 { line-height: 1.2!important; }
.line-13 { line-height: 1.3!important; }
.line-14 { line-height: 1.4!important; }
.line-15 { line-height: 1.5!important; }
.line-16 { line-height: 1.6!important; }
.line-17 { line-height: 1.7!important; }
.line-18 { line-height: 1.8!important; }
.line-19 { line-height: 1.9!important; }
.line-20 { line-height:   2!important; }
.line-21 { line-height: 2.1!important; }
.line-22 { line-height: 2.2!important; }
.line-23 { line-height: 2.3!important; }
.line-24 { line-height: 2.4!important; }
.line-25 { line-height: 2.5!important; }
.line-26 { line-height: 2.6!important; }
.line-27 { line-height: 2.7!important; }
.line-28 { line-height: 2.8!important; }
.line-29 { line-height: 2.9!important; }
.line-30 { line-height:   3!important; }

.font-bold   { font-weight: bold!important; }
.font-normal { font-weight: normal!important; }

.font-10 { font-size:   1rem!important; }
.font-11 { font-size: 1.1rem!important; }
.font-12 { font-size: 1.2rem!important; }
.font-13 { font-size: 1.3rem!important; }
.font-14 { font-size: 1.4rem!important; }
.font-15 { font-size: 1.5rem!important; }
.font-16 { font-size: 1.6rem!important; }
.font-17 { font-size: 1.7rem!important; }
.font-18 { font-size: 1.8rem!important; }
.font-19 { font-size: 1.9rem!important; }
.font-20 { font-size:   2rem!important; }
.font-21 { font-size: 2.1rem!important; }
.font-22 { font-size: 2.2rem!important; }
.font-23 { font-size: 2.3rem!important; }
.font-24 { font-size: 2.4rem!important; }
.font-25 { font-size: 2.5rem!important; }
.font-26 { font-size: 2.6rem!important; }
.font-27 { font-size: 2.7rem!important; }
.font-28 { font-size: 2.8rem!important; }
.font-29 { font-size: 2.9rem!important; }
.font-30 { font-size:   3rem!important; }

.color-black     { color: #000!important; }
.color-white     { color: #fff!important; }
.color-gray      { color: #231815!important; }
.color-blue      { color: #289edb!important; }
.color-lightblue { color: #00a1e9!important; }
.color-green     { color: #4bc2a6!important; }
.color-pink      { color: #e38abc!important; }
.color-red       { color: #e4007f!important; }
.color-change    { color: #FF7A00!important; }

.bgcolor-black     { background-color: #000!important; }
.bgcolor-white     { background-color: #fff!important; }
.bgcolor-gray      { background-color: #231815!important; }
.bgcolor-blue      { background-color: #289edb!important; }
.bgcolor-lightblue { background-color: #00a1e9!important; }
.bgcolor-green     { background-color: #4bc2a6!important; }
.bgcolor-pink      { background-color: #e38abc!important; }
.bgcolor-red       { background-color: #e4007f!important; }
.bgcolor-lightgray { background-color: #e2e2e2!important; }
.float-left  { float: left!important; }
.float-right { float: right!important; }
.float-none  { float: none!important; }

.clear      { clear: both!important; }
.clear-none { clear: none!important; }

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

@media all and (max-width: 767px) {
	.hide-sp {
		display: none;
	}
}
@media all and (min-width: 768px) {
	.hide-pc {
		display: none;
	}
}

