/* -----------------------------------------------
= kv
----------------------------------------------- */
.kv {
	position: relative;
}
.kv.js-fadein {
	opacity: 0;
	transition: opacity 1s ease .4s;
}
.kv.js-fadein.is-visible {
	opacity: 1;
}
.kv .category {
	position: absolute;
	top: 10px;
	left: 20px;
	z-index: 1;
}
.kv .category .en {
	display: block;
	position: relative;
	width: 97px;
}
.kv .category .en::before {
	content: "";
	position: absolute;
	bottom: 5px;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 1px;
	background: #fff;
}
.kv .category .jp {
	display: block;
	font-size: calc(1.1rem / 1.6);
	letter-spacing: .2em;
}
.kv h1 {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	color: #fff;
	font-family: var(--fontMin);
	text-shadow: 2px 2px 1px rgba(0,0,0,.6);
	text-align: center;
	letter-spacing: .2em;
}
.kv h1 .en {
	display: block;
	font-size: calc(2.2rem/ 1.6);
}
.kv h1 .jp {
	display: block;
	font-size: calc(1.6rem/ 1.6);
	line-height: 1.43;
}
@media print, screen and (width >= 768px) {/* PC */
.kv {
	max-height: calc(100vh - 80px);
}
.kv .category {
	top: 35px;
	left: 40px;
}
.kv .category .en {
	width: 196px;
	margin-bottom: 10px;
}
.kv .category .en::before {
	bottom: 5px;
	height: 2px;
}
.kv .category .jp {
	font-size: calc(1.6rem / 1.6);
}
.kv h1 .en {
	margin-bottom: 10px;
	font-size: calc(4rem/ 1.6);
}
.kv h1 .jp {
	font-size: calc(2.8rem/ 1.6);
}
.kv picture img {
	max-height: calc(100vh - 80px);
	object-fit: cover;
}
}/* @media */
/* -----------------------------------------------
= intro
----------------------------------------------- */
.intro {
	padding: 40px 20px 50px;
}
.intro p {
	font-size: calc(1.4rem / 1.6);
}
@media print, screen and (width >= 768px) {/* PC */
.intro {
	padding: 100px 20px 190px;
}
.intro p {
	font-size: calc(2rem / 1.6);
	line-height: 2;
	text-align: center;
}
}/* @media */
/* -----------------------------------------------
= section
----------------------------------------------- */
.section .title {
	position: relative;
	max-width: 260px;
	margin: 0 auto 42px;
	padding-block: 16px;
	background: #fff;
	font-family: var(--fontMin);
	text-align: center;
	letter-spacing: .2em;
}
.section .title::before,
.section .title::after {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 6px;
	background: url(../../img/common/bg_dot_line.svg) repeat-x 0 / auto 100%;
	filter: var(--filterGray);
}
.section .title::before {
	top: 0;
}
.section .title::after {
	bottom: 0;
	transform: rotate(180deg);
}
.section .title span {
	display: block;
}
.section .title .en {
	font-size: calc(1.2rem / 1.6);
}
.section .title .jp {
	font-size: calc(1.6rem / 1.6);
}
@media print, screen and (width >= 768px) {/* PC */
.section .title {
	max-width: 520px;
	margin-bottom: 100px;
	padding-block: 38px;
}
.section .title::before,
.section .title::after {
	height: 11px;
}
.section .title .en {
	font-size: calc(2rem / 1.6);
}
.section .title .jp {
	font-size: calc(2.8rem / 1.6);
}
}/* @media */
/* -----------------------------------------------
= choosing
----------------------------------------------- */
.choosing .item {
	margin-bottom: 60px;
}
.choosing .card {
	margin-bottom: 40px;
	text-align: center;
}
.choosing .card img {
	max-width: 190px;
	margin: 0 auto 15px;
}
.choosing .card h4 {
	margin-bottom: 10px;
	font-family: var(--fontMin);
	font-size: calc(1.6rem / 1.6);
	line-height: 1.43;
	text-align: center;
	letter-spacing: .12em;
}
.choosing .card p {
	margin-bottom: 10px;
	font-size: calc(1.2rem / 1.6);
	letter-spacing: .06em;
}
@media print, screen and (width >= 768px) {/* PC */
.choosing .item {
	display: flex;
	gap: 0 80px;
	max-width: 1300px;
	margin: 0 auto 160px;
	padding: 0 20px;
}
.choosing .card {
	width: 100%;
	margin: 0;
}
.choosing .card img {
	max-width: 380px;
	margin: 0 auto 20px;
}
.choosing .card h4 {
	margin-bottom: 20px;
	font-size: calc(2.4rem / 1.6);
	line-height: 1.5;
}
.choosing .card p {
	margin-bottom: 20px;
	font-size: calc(1.6rem / 1.6);
}
}/* @media */
/* -----------------------------------------------
= msg
----------------------------------------------- */
.msg {
	position: relative;
	min-height: calc(35rem / 1.6);
	margin-bottom: 50px;
}
.msg p {
	display: inline;
	position: absolute;
	font-family: var(--fontMin);
	font-size: calc(1.7rem / 1.6);
	letter-spacing: .2em;
	writing-mode: vertical-rl;
}
.msg p > span {
	background: #fff;
}
.msg .mark {
	display: inline-block;
	position: relative;
	transform: rotate(90deg);
}
.msg .mark01 {
	top: calc(-.2rem / 1.6);
	right: calc(-.5rem / 1.6);
}
.msg .mark02 {
	bottom: calc(.5rem / 1.6);
	left: calc(-.7rem / 1.6);
}
.msg01 {
	background: url(../../img/myreason/index_img_msg01.jpg) no-repeat 50% / auto 220px;
}
.msg02 {
	background: url(../../img/myreason/index_img_msg02.jpg) no-repeat 50% / auto 220px;
}
.msg01_01 {
	top: 0;
	right: 20px;
}
.msg01_02 {
	bottom: 0;
	left: 40px;
}
.msg02_01 {
	top: 0;
	left: 20px;
}
.msg02_02 {
	bottom: 0;
	right: 46px;
}
@media print, screen and (width >= 768px) {/* PC */
.msg {
	max-width: 1020px;
	min-height: calc(63rem / 1.6);
	margin: 0 auto 100px;
}
.msg p {
	font-size: calc(2.2rem / 1.6);
	line-height: calc(56 / 22);
}
.msg .mark01 {
	top: calc(-.4rem / 1.6);
	right: calc(-.8rem / 1.6);
}
.msg .mark02 {
	bottom: calc(.5rem / 1.6);
	left: calc(-1.2rem / 1.6);
}
.msg01,
.msg02 {
	background-size: auto 440px;
}
.msg01_01 {
	right: 95px;
}
.msg01_02 {
	left: 95px;
}
.msg02_01 {
	left: 95px;
}
.msg02_02 {
	right: 95px;
}
}/* @media */
/* -----------------------------------------------
= working
----------------------------------------------- */
.working {
	padding: 0 0 30px;
}
.working .item {
	margin-bottom: 15px;
	overflow: hidden;
}
.working .item img {
	max-width: 304px;
}
.working .item .box {
	position: relative;
	margin-top: -70px;
	max-width: 234px;
	padding: 25px;
	background: rgba(255,255,255,.85);
}
.working .item.type01 .box {
	float: right;
}
.working .item.type02 {
	text-align: right;
}
.working .item.type02 .box {
	text-align: left;
}
.working .item h3 {
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 10px;
	font-size: calc(1.6rem / 1.6);
	font-family: var(--fontMin);
	line-height: 1.43;
	letter-spacing: .2em;
}
.working .item h3::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	z-index: -1;
	background: url(../../img/index/bg_subtitle.svg) repeat-x 0 / auto 100%;
}
.working .item p {
	margin-bottom: 10px;
	font-size: calc(1.4rem / 1.6);
}
.working .item a {
	display: inline-block;
	position: relative;
	padding-right: 80px;
	font-family: var(--fontMin);
	font-size: calc(1.2rem / 1.6);
	line-height: 1;
	letter-spacing: .1em;
}
.working .item a::before,
.working .item a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	height: 1px;
	background: #000;
}
.working .item a::before {
	width: 74px;
}
.working .item a::after {
	width: 10px;
	transform: rotate(25deg);
	transform-origin: right bottom;
}
.working .dash {
	letter-spacing: -.1em;
}
@media print, screen and (width >= 768px) {/* PC */
.working {
	padding: 0 0 30px;
}
.working .item {
	display: flex;
	align-items: start;
	max-width: 1300px;
	margin: 0 auto 140px;
}
.working .item img {
	max-width: 870px;
	width: calc(870 / 1300 * 100%);
}
.working .item .box {
	z-index: 2;
	margin-top: 280px;
	max-width: 650px;
	padding: 50px;
}
.working .item.type01 img {
	margin-right: -220px;
}
.working .item.type01 .box {
	float: none;
	padding-right: 0;
}
.working .item.type02 img {
	order: 2;
	margin-left: -220px;
}
.working .item.type02 .box {
	order: 1;
	padding-left: 0;
}
.working .item h3 {
	margin-bottom: 50px;
	padding-bottom: 20px;
	font-size: calc(2.8rem / 1.6);
}
.working .item h3::before {
	height: 7px;
}
.working .item p {
	margin-bottom: 40px;
	font-size: calc(2rem / 1.6);
	line-height: calc(44 / 20);
}
.working .item a {
	padding-right: 200px;
	font-size: calc(2rem / 1.6);
}
.working .item a::before,
.working .item a::after {
	bottom: 3px;
}
.working .item a::before {
	width: 189px;
}
.working .item a::after {
	width: 20px;
}
}/* @media */
@media print, screen and (1300px > width >= 768px) {/* TABLET */
.working .item .box {
	padding: 40px;
}
.working .item.type01 .box {
	padding-right: 40px;
}
.working .item.type01 img {
	margin-right: -400px;
}
.working .item.type02 .box {
	padding-left: 40px;
}
.working .item.type02 img {
	margin-left: -400px;
}
}/* @media */
/* -----------------------------------------------
= dialogue
----------------------------------------------- */
.dialogue {
	padding: 0 20px 60px;
}
.dialogue picture {
	display: block;
	margin-bottom: 15px;
}
@media print, screen and (width >= 768px) {/* PC */
.dialogue {
	padding-bottom: 195px;
}
.dialogue picture {
	max-width: 1300px;
	margin: 0 auto 55px;
}
}/* @media */
/* -----------------------------------------------
= footer
----------------------------------------------- */
.footer .entry_img {
	background-image: url(../../img/myreason/index_footer_entry_sp.jpg);
}
@media print, screen and (width >= 768px) {/* PC */
.footer .entry_img {
	background-image: url(../../img/myreason/index_footer_entry_pc.jpg);
}
}/* @media */


