/*
Theme Name: Itoh Yuka Theme
Author: Mai Watanabe
Description: Itoh Yuka Theme
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* 1260 */

@charset "UTF-8";

/* latin-ext */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/bebas-neue/latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(font/bebas-neue/latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 100;
    src: url('font/NotoSansCJKjp-Thin.woff2') format('woff2'),
	     url('font/NotoSansCJKjp-Thin.woff') format('woff'),
	     url('font/NotoSansCJKjp-Thin.ttf')  format('truetype'),
         url('font/NotoSansCJKjp-Thin.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 200;
    src: url('font/NotoSansCJKjp-Light.woff2') format('woff2'),
	     url('font/NotoSansCJKjp-Light.woff') format('woff'),
	     url('font/NotoSansCJKjp-Light.ttf')  format('truetype'),
         url('font/NotoSansCJKjp-Light.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 300;
    src: url('font/NotoSansCJKjp-DemiLight.woff2') format('woff2'),
	     url('font/NotoSansCJKjp-DemiLight.woff') format('woff'),
	     url('font/NotoSansCJKjp-DemiLight.ttf')  format('truetype'),
         url('font/NotoSansCJKjp-DemiLight.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: url('font/NotoSansCJKjp-Regular.woff2') format('woff2'),
	     url('font/NotoSansCJKjp-Regular.woff') format('woff'),
	     url('font/NotoSansCJKjp-Regular.ttf')  format('truetype'),
         url('font/NotoSansCJKjp-Regular.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    src: url('font/NotoSansCJKjp-Medium.woff2') format('woff2'),
	     url('font/NotoSansCJKjp-Medium.woff') format('woff'),
	     url('font/NotoSansCJKjp-Medium.ttf')  format('truetype'),
         url('font/NotoSansCJKjp-Medium.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    src: url('font/NotoSansCJKjp-Bold.woff2') format('woff2'),
	     url('font/NotoSansCJKjp-Bold.woff') format('woff'),
	     url('font/NotoSansCJKjp-Bold.ttf')  format('truetype'),
         url('font/NotoSansCJKjp-Bold.eot') format('embedded-opentype');
}
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 900;
    src: url('font/NotoSansCJKjp-Black.woff2') format('woff2'),
	     url('font/NotoSansCJKjp-Black.woff') format('woff'),
	     url('font/NotoSansCJKjp-Black.ttf')  format('truetype'),
         url('font/NotoSansCJKjp-Black.eot') format('embedded-opentype');
}

:root{
	--black: #000000;
	--blue: #3F48CC;
	--orange: #FD8003;
	--red: #FC0000;
	--white: #FFFFFF;

	--text-margin-left: 12%;
	--text-margin-left-sp: 8%;
	--text-margin-right: 12%;
	--text-margin-right-sp: 8%;
}

.pc{
	display: block;
}

.sp{
	display: none;
}

.appearance-none{
	appearance: none;
}

body{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 20px;
	line-height: 1.75;
	margin: 0;
	padding: 0;
	word-wrap: break-word; /* Allows long words to break */
	overflow-wrap: break-word; /* Modern equivalent */
	white-space: normal; /* Allows normal wrapping */
}

.bold{
	font-weight: bold;
}

.border-text-1px-white{
	color: transparent;
	-webkit-text-stroke: 2px white;
	text-stroke: 2px white;
}

.button-apply-ctx{
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
	width: 100%;
}

.button-apply-background{
	align-items: center;
	background: var(--blue) 0% 0% no-repeat padding-box;
	border-radius: 50px;
	display: flex;
	height: 100px;
	justify-content: center;
	width: 80%;
}

.button-apply-background:hover{
	filter: brightness(125%);
}

.button-apply{
	text-align: center;
	font: normal normal bold 36px/36px "Noto Sans JP";
	letter-spacing: 1.8px;
	color: var(--white);
}

.button-apply-title-ctx{
	margin-top: 48px;
}

.button-top-ctx{
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 80px;
	width: 100%;
}

.button-top-background{
	align-items: center;
	background: var(--blue) 0% 0% no-repeat padding-box;
	border-radius: 50px;
	display: flex;
	height: 100px;
	justify-content: center;
	width: 40%;
}

.button-top-background:hover{
	filter: brightness(125%);
}

.button-top{
	text-align: center;
	font: normal normal bold 36px/36px "Noto Sans JP";
	letter-spacing: 1.8px;
	color: var(--white);
}

.button-up{
	align-items: center;
	display: flex;
	position: relative;
	justify-content: flex-end; /* Align items to the right */
	align-items: center; /* Center vertically */
}

.button-up-ctx{
	display: block;
	width: fit-content;
	margin-bottom: 20px;
	margin-right: 20px;
	padding-left: 40px;
	position: relative; /* Relative positioning */
}

.button-up-file{
	max-width: 100%;
	height: auto;
}

.button-up-file:hover{
	cursor: pointer;
	filter: brightness(125%);
}

.center{
	text-align: center;
}

.color-blue{
	color: var(--blue);
}

.color-orange{
	color: var(--orange);
}

.company-introduction-ctx-pc{
	content: "";
	background-image: url(img/mv.jpg);
	background-position: right center;
	background-size: cover;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	height: auto;
	justify-content: center;
	object-fit: contain;
	width: 100%;
	z-index: 2;
	top: 86px;
}

/* TODO */
/*.company-main-ctx{
	content: "";
	background-image: url(img/introduction.jpg);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: right center;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 70%;
	transform: translateX(-100%);
}*/

.company-introduction-img-ctx{
	display: flex;
	position: relative;
	width: 100%;
}

.company-introduction-img{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.company-introduction-text{
	display: block;
	color: var(--white);
	text-align: center;
	font: normal normal bold 18px/28px "Noto Sans JP";
	letter-spacing: 0.9px;
	opacity: 1;
}

.company-introduction-title{
	text-align: center;
	font: normal normal 900 80px/60px "Noto Sans JP";
	letter-spacing: 4px;
	line-height: 1.3;
	margin-bottom: 40px;
	margin-top: 35px;
	opacity: 1;
	top: 24px;
	color: var(--white);
	word-wrap: break-word; /* Allows long words to break */
	overflow-wrap: break-word; /* Modern equivalent */
	white-space: nowrap; /* Prevents text from wrapping to the next line */
	font-size: 5.5vw;
}

.company-introduction-title-name{
	text-align: center;
	font: normal normal bold 45px/60px "Noto Sans JP";
	letter-spacing: 2.25px;
	color: #FFFFFF;
	opacity: 1;
	padding-top: 24px;
	padding-bottom: 24px;
}

.company-interview-{	
	align-items: center;
	display: block;
	justify-content: center;
	margin-left: 10%;
	margin-right: 10%;
}

.company-interview- video{
	width: 100%;
	height: auto;
}

.company-interview-background{
	align-items: center;
	background: #FFFFFF 0% 0% no-repeat padding-box;
	display: flex;
	justify-content: center;
	object-fit: contain;
	height: 100%;
}

.company-interview{
	text-align: center;
	font: normal normal bold 40px/58px "Noto Sans JP";
	letter-spacing: 8px;
	color: #000000;
	opacity: 1;
}

.company-propaganda-ctx{
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
	margin-left: var(--text-margin-left-sp);
	margin-right: var(--text-margin-right-sp);
}

.company-propaganda{
	height: auto;
	object-fit: contain;
}

.company-propaganda-title{
	font: normal normal bold 60px/87px "Noto Sans JP";
	margin-top: 85px;
}

.content-image-single{
	margin-top: 0px;
}

.content-image{
	width: 100%;
	align-items: center;
	display: flex;
	justify-content: center;
	margin-top: 150px;
}

.content-image-ctx{
	width: 440px;
}

.content-image-file{
	height: auto;
	object-fit: contain;
	object-position: center 00px;
	width: 100%;
}

.display-block{
	display: block;
}

/* Form */
.form-container{
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.1em;
	margin-left: auto;
	margin-right: auto;
	margin-top: 40px;
	max-width: 830px;
	padding: 0 40px;
	text-align: left;
}

.form-container h2{
	font-size: 2.0rem;
	padding-bottom: 40px;
}

.form-banner{
	width: 100%;
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 60px;
}

.form-banner-ctx{
	width: auto;
}

.form-banner-img{
	height: auto;
	object-fit: contain;
	object-position: center 00px;
	width: 100%;
}

form > div{
	margin-bottom: 15px;
}

form input{
	padding: 5px 10px;
}

form input[type="date"]{
	border-radius: 6px;
	outline: 1px solid var(--black);
	width: 100%;
}

form input[type="text"]{
	border-radius: 6px;
	outline: 1px solid var(--black);
	width: 100%;
}

form label{
	display: block;
	font-size: 1rem;
	font-weight: 500;
	margin-top: 50px;
	margin-bottom: 10px;
}

.form-privacy-cxt{
	align-items: center;
	display: flex;
}

.form-privacy-input{
	appearance: checkbox;
	height: 30px;
	margin-right: 10px;
	margin-top: 40px;
	width: 15px;
}

.form-required{
	border-radius: 5px;
	background-color: #cc0000;
	color: #fff;
	line-height: 1;
	margin-left: 10px;
	padding: 4px 7px;
}

form select{
	appearance: auto;
	border-radius: 6px;
	height: 34px;
	padding: 5px 10px;
	outline: 1px solid var(--black);
	width: 100%;
}

.form-send-button {
	align-items: center;
	background: var(--blue) 0% 0% no-repeat padding-box;
	border-radius: 50px;
	color: var(--white);
	display: flex;
	font: normal normal bold 20px/36px "Noto Sans JP";
	max-width: 540px;
	justify-content: center;
	margin-bottom: 80px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 80px;
	opacity: 1;
	right: 0;
	text-align: center;
	height: 80px;
		width: 60%;
}

form textarea{
	border-radius: 6px;
	outline: 1px solid gray;
	padding: 5px 10px;
	width: 100%;
}

/* Footer */
.footer-copyright-ctx{
	margin-bottom: 24px;
	text-align: center;
	font: normal normal normal 16px/28px "Noto Sans JP";
	letter-spacing: 0.8px;
	color: #000000;
	opacity: 1;
}

.footer-logo-ctx .logo{
	width: 118px;
	height: auto;
	margin-right: 20px;
	margin-left: 54px;
}

.footer-logo-ctx{
	display: flex;
	align-items: center;
	margin-top: 63px;
}

.footer-logo-text{
	text-align: left;
	font: normal normal medium 20px/30px "Noto Sans JP";
	letter-spacing: 1px;
	color: #000000;
	opacity: 1;
}

h2{
	text-align: center;
}

.h2-en{
	display: block;
	font: normal normal bold 100px/100px Bebas Neue;
	margin-bottom: 35px;
	margin-top: 118px;
}

.h2-jp{
	display: block;
	font: normal normal bold 60px/87px "Noto Sans JP";
	letter-spacing: 0.3em;
	margin-bottom: 70px;
}

.h3-en{
	display: block;
	font: normal normal bold 70px/99px Bebas Neue;
	margin-bottom: 20px;
	margin-top: 75px;
}

.h3-jp{
	display: block;
	font: normal normal bold 48px/46px "Noto Sans JP";
	letter-spacing: 0.3em;
	margin-bottom: 50px;
}

.header {
	align-items: center;
	background-color: white;
	display: flex;
	font: normal normal normal 30px/23px Bebas Neue;
	height: 86px;
	justify-content: space-between;
	position: sticky;
	top: 0;
	z-index: 1000;
}

#hamnav {
	align-items: center;
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	top: 0;
}

.header-logo-ctx{
	margin-left: 15px;
	width: 80px;
	height: 80px;
}

.header-button-apply-ctx{
	align-items: center;
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: 15px;
	opacity: 1;
	position: relative;
	right: 0;
	text-align: center;
	width: 180px;
}

.header-button-apply-exp{
	display: block;
	position: relative;
	top: 50%; /* Center vertically */
	left: 50%; /* Center horizontally */
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.header-button-apply-background{
	align-items: center;
	background: var(--blue) 0% 0% no-repeat padding-box;
	border-radius: 50px;
	display: flex;
	height: 48px;
	justify-content: center;
	position: relative;
	width: 100%;
}

.header-button-apply-background:hover{
	filter: brightness(125%);
}

.header-button-apply{
	text-align: center;
	font: normal normal bold 20px/36px "Noto Sans JP";
	letter-spacing: 1px;
	color: var(--white);
	opacity: 1;
}

.job-information-text {
	text-align: center !important;
}

/* (B) HORIZONTAL MENU ITEMS */
#navitems{
	display: flex;
	flex-grow: 1;
	height: 100%;
	justify-content: center;
}

#navitems a {
	color: var(--black);
	flex-basis: auto;
	flex-grow: 0;
	font: normal normal normal 30px/23px Bebas Neue;
	letter-spacing: 0px;
	opacity: 1;
	padding: 10px 20px;
	text-decoration: none;
	text-align: center;
}
#navitems a:hover { background: var(--orange); }

#hamitems {
	display: none;
	flex-grow: 1;
	height: 100%;
	justify-content: center;
}

#hamitems a {
	color: var(--black);
	flex-basis: auto;
	flex-grow: 0;
	font: normal normal normal 30px/23px Bebas Neue;
	letter-spacing: 0px;
	opacity: 1;
	padding: 10px 20px;
	text-decoration: none;
	text-align: center;
}
#hamitems a:hover { background: var(--orange); }

/* (C) HIDE HAMBURGER */
#hamnav label, #hamburger {
	display: none;
}

/* Header */
.header-nav label {
	display: block;
	cursor: pointer;
	padding: 15px;
	color: white;
	position: absolute;
	right: 0;
}

.header-nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	display: none;
}

.header-nav input[type="checkbox"]:checked ~ ul {
	display: block;
}

nav ul li {
	background-color: #444;
	padding: 10px;
	text-align: center;
}

nav ul li a {
	color: white;
	text-decoration: none;
}

nav ul li:hover {
	background-color: #555;
}

.header-nav-ctx{
	flex-grow: 1;
	display: flex;
	justify-content: center;
}

.header-nav a{
	color: #000000;
	font: normal normal normal 30px/23px Bebas Neue;
	letter-spacing: 0px;
	opacity: 1;
	text-align: left;
	text-decoration: none;
}

.header-nav-list {
	background-color: var(--white);
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex; /* Default to flex */
	z-index: 1;
}

.header-nav-list-item a {
	background-color: var(--white);
	margin: 0 15px;
}

.hidden {
	display: none;
}

.justify-content-center{
	display: flex;
	justify-content: center;
}

.img-1-4{
	display: none;
	width: 100%;
}

.img-1-4-large-image-container{
	width: 50%; /* Left image takes half of the content area */
	padding-top: 50%; /* Creates a square aspect ratio */
	position: relative;
}

.img-1-4-large-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.img-1-4-small-images {
	width: 50%; /* Right grid takes the remaining half */
	display: flex;
	flex-wrap: wrap; /* Allow wrapping for grid layout */
}

.img-1-4-small-image-container{
	width: 50%; /* Each grid image takes half of the right grid */
	padding-top: 50%; /* Creates a square aspect ratio */
	position: relative;
}

.img-1-4-small-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.img-4-1 {
	display: none;
	width: 100%;
}

.img-4-1-large-image-container {
	width: 50%; /* Right image takes half of the content area */
	padding-top: 50%; /* Creates a square aspect ratio */
	position: relative;
}

.img-4-1-large-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.img-4-1-small-images {
	width: 50%; /* Left grid takes the remaining half */
	display: flex;
	flex-wrap: wrap; /* Allow wrapping for grid layout */
}

.img-4-1-small-image-container {
	width: 50%; /* Each grid image takes half of the left grid */
	padding-top: 50%; /* Creates a square aspect ratio */
	position: relative;
}

.img-4-1-small-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.img-16-images{
	display: none;
	grid-template-columns: repeat(4, 1fr); /* 4 columns */
	margin-top: 50px;
}

.img-16-image-container{
	position: relative;
	padding-top: 100%; /* Creates a square aspect ratio */
	overflow: hidden; /* Ensures images don't overflow */
}

.img-16-image{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover; /* Ensures the image covers the container */
}

.img-content-img-ctx{
	align-items: flex-start;
	background-color: var(--orange);
	height: 10000px;
	overflow: hidden;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

/*
.img-content-img-ctx:nth-child(1){
	flex: 0 0 25%;
}

.img-content-img-ctx:nth-child(2){
	flex: 0 0 50%;
}

.img-content-img-ctx:nth-child(3){
	flex: 0 0 25%;
}
*/

.img-content-img-content {
	background-color: var(--orange);
	flex: 0 0 60%;
	min-width: 300px;
	overflow: hidden;
	text-align: center;
}

.img-content-img-sides {
	display: block;
	width: 20%;
	flex: 0 0 auto;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.img-content-img-sides .img-content-container{
	width: 100%; /* Full width of the image bar */
	padding-top: 100%; /* Creates a square aspect ratio */
	position: relative; /* Positioning context for the image */
}

.img-content-img-sides img{
	position: absolute; /* Position the image absolutely within the container */
	top: 0;
	left: 0;
	width: 100%; /* Make the image fill the container */
	height: 100%; /* Make the image fill the container */
	object-fit: cover;
}

.img-content-container{
	display: flex;
	width: 100%;
}

.img-placeholder{
	display: none;
	width: 100%;
	height: 100%;
	background-color: #ccc;
	color: #333;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.logo {
	width: 100%;
	height: auto;
}

.margin-bottom-20px{
	margin-bottom: 60px;
}

.margin-bottom-50px{
	display: block;
	margin-bottom: 50px;
}

.margin-bottom-120px{
	margin-bottom: 120px;
}

.margin-left-12p{
	margin-left: var(--text-margin-left);
}

.margin-top-120px{
	margin-top: 120px;
}

.orange{
	background-color: var(--orange);
}

.p-404{
	text-align: center;
}

.p-404-text{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.75;
}

.p-404-title-c{
	margin-bottom: 40px;
}

.p-404-title{
	color: var(--blue);
	display: block;
	font-size: 6rem;
}

.p-404-title-sub{
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.p-thanks{
	text-align: center;
}

.p-thanks-text{
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	letter-spacing: 0.1em;
	line-height: 1.75;
	padding: 0 20px;
	margin-bottom: 40px;
}

.p-thanks-title-c{
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.7;
	padding-bottom: 40px;
	margin-top: 100px;
}

.p-thanks-title{
	display: block;
	font-size: 2rem;
}

.privacy-policy-link{
	color: var(--blue);
	text-decoration-line: underline;
}

.privacy-policy-link:hover{
	filter: brightness(125%);
}

.red-text{
	color: var(--red);
}

.recruit-details{
	line-height: 1.75;
	margin-left: var(--text-margin-left);
	margin-right: var(--text-margin-right);
	margin-top: 50px;
	text-align: left;
	width: auto;
}

.recruit-details dl{
	margin: 0 auto;
	border-top: 2px solid var(--black);
	display: flex;
	flex-wrap: wrap;
	gap: 1em 0;
	font-size: 1.2rem;
	padding-top: 28px;
}

.recruit-details dl dt{
	font: normal normal medium 20px/29px "Noto Sans JP";
	letter-spacing: 2px;
	width: 180px;
}

.recruit-details dl dd{
	font: normal normal medium 20px/29px "Noto Sans JP";
	letter-spacing: 2px;
	width: calc(100% - 180px);
}

.recruit-details-small{
	font-size: 1rem;
}

.some{
	display: flex;
	justify-content: flex-end;
	padding-bottom: 20px;
}

.some-insta{
	padding-right: 40px;
}

.some-pc{
	margin-top: -86px;
	position: absolute;
	right: var(--text-margin-right);
}

.text{
	text-align: left;
	font: normal normal medium 20px/40px "Noto Sans JP";
	letter-spacing: 1px;
	color: #000000;
	margin-left: var(--text-margin-left);
	margin-right: var(--text-margin-right);
	opacity: 1;
}

.text-align-center{
	text-align: center;
}

.text-title-{
	display: grid;
	grid-template-columns: 150px 1fr; /* Two columns: fixed width for title, flexible for text */
	gap: 20px; /* Space between columns */
	margin-left: var(--text-margin-left);
	margin-bottom: 20px;
}

.text-title{
	text-align: left;
}

.text-title-description{
	text-align: left;
	margin-right: 24%;
}

.text-title-description-subtitle{
	font-size: 16px;
}

.up-container{
	margin-left: 88%;
	margin-bottom: 50px;
}

.up{
	background: var(--blue) 0% 0% no-repeat padding-box;
	height: 90px;
	width: 90px;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="90" height="90" viewBox="0 0 90 90"><g id="btn-pagetop" transform="translate(-1480 -4980)"><circle id="楕円形_157" data-name="楕円形 157" cx="45" cy="45" r="45" transform="translate(1480 4980)" fill="%23256c28"/><g id="グループ_4007" data-name="グループ 4007" transform="translate(3.75 7)"><path id="パス_937" data-name="パス 937" d="M780.561,392.642l14.25,14.25-14.25,14.25" transform="translate(1114.607 5798.811) rotate(-90)" fill="none" stroke="%23fff" stroke-miterlimit="10" stroke-width="2"/><line id="線_389" data-name="線 389" y2="26.5" transform="translate(1521.5 5005)" fill="none" stroke="%23fff" stroke-width="2"/></g></g></svg>');
}

.width-635px{
	width: 635px;
}

.work-flow-arrow-ctx{
	margin-top: 50px;
	width: 100%;
}

.work-flow-arrow {
	margin-left: 29%;
	width: 28px;
	height: 25px;
	border-left: 14px solid transparent; /* Half of 28px */
	border-right: 14px solid transparent; /* Half of 28px */
	border-top: 25px solid var(--white); /* Full height */
	
}

.work-flow-img{
	align-items: center;
	display: flex;
	margin-left: var(--text-margin-left);
	margin-top: 60px;
}

.work-flow-img-ctx{
	/*border-bottom: 2px solid var(--orange);
	border-left: 2px solid var(--white);
	border-radius: 50%;
	border-right: 2px solid #FFFFFF;
	border-top: 2px solid var(--orange);*/
	height: auto;
	
	margin-right: 20px;
	min-width: 250px;
	position: relative;
}

.work-flow-img-file{
	border-radius: 50%;
	height: auto;
	margin-top: 2%;
	object-fit: cover;
	width: 95%;
}

.work-flow-img-ctx::after{
	content: '';
	position: absolute;
	left: 50%; /* Center the arrow horizontally */
	bottom: -50px; /* Position the arrow 50px below the div */
	transform: translateX(-50%); /* Center the arrow */
	border-left: 14px solid transparent; /* Half of 28px */
	border-right: 14px solid transparent; /* Half of 28px */
	border-top: 25px solid var(--white); /* Full height */
	width: 0; /* No width, just the border creates the arrow shape */
	z-index: 10;
}

.work-flow-img-ctx-no-arrow{
	/*border-bottom: 2px solid var(--orange);
	border-left: 2px solid var(--white);
	border-radius: 50%;
	border-right: 2px solid #FFFFFF;
	border-top: 2px solid var(--orange);*/
	height: auto;
	
	margin-right: 20px;
	min-width: 250px;
	position: relative;
}

.work-flow-img-txt{
	font-size: 20px;
	margin-right: var(--text-margin-right);
	width: 55%;
	text-align: left;
}

.youtube-16-9 {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

.youtube-text{
	font-size: 20px;
	margin-left: var(--text-margin-left);
	margin-right: var(--text-margin-right);
}

.youtube-text-white{
	color: var(--white);
	font-size: 18px;
	margin-left: var(--text-margin-left);
	margin-right: var(--text-margin-right);
}

/* PRIVACY */

.l-main{
	display: block;
}

.p-privacy{
	padding: 50px 0;
}

.inner {
	max-width: 830px;
	padding-left: 15px;
	padding-right: 15px;
	margin-left: auto;
	margin-right: auto;
}

.hdg1 {
	text-align: center;
	font-size: 2.4rem;
	margin-bottom: 40px;
	letter-spacing: 0.1em;
	line-height: 1.7;
}

.p-privacy-list {
	display: flex;
	flex-direction: column;
	font-size: 1.5rem;
	gap: 80px;
}

.p-privacy-list dd {
	font-size: 1rem;
	line-height: 1.9;
	margin-left: 0;
}

.p-privacy-list dt {
	background-color: var(--blue);
	color: #fff;
	padding: 8px 15px 10px;
	font-size: 1.5rem;
	font-weight: 400;
	margin-bottom: 30px;
}


.c-tagKeywordList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
}
.c-tagKeywordList--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-tagKeywordList--center {
			justify-content: center;
  }
}
@media screen and (min-width: 769px) {
  .c-tagKeywordListBlock {
		align-items: center;
    margin-top: 40px;
  }
  .isDocWhitepaper .c-tagKeywordListBlock, .isDocdigitalpamphlet .c-tagKeywordListBlock {
    margin-top: 0;
    margin-bottom: 60px;
  }
  .isMemberDetail .c-tagKeywordListBlock {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  .c-tagKeywordListBlock {
    margin-top: 30px;
    padding: 0;
  }
  .isDocWhitepaper .c-tagKeywordListBlock, .isDocdigitalpamphlet .c-tagKeywordListBlock {
    margin-top: 0;
    margin-bottom: 25px;
  }
}
.c-tagKeywordListBlock{
	padding-left: var(--text-margin-left);
	padding-right: var(--text-margin-right);
}
.c-tagKeywordList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 25px;
  margin-bottom: -20px;
}
.isMemberDetail .c-tagKeywordList {
  margin-top: 0;
  margin-bottom: -10px;
}
.c-tagKeywordList__heading {
  font-weight: 900;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .c-tagKeywordList__heading {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .c-tagKeywordList__heading {
    font-size: 0.8571428571rem;
  }
}
@media screen and (max-width: 768px) {
  .c-tagKeywordList__heading {
    font-size: 0.8571428571rem;
  }
}
@media screen and (max-width: 768px) {
  .c-tagKeywordList__heading {
    text-align: left;
  }
}
.c-tagKeywordList__item {
  line-height: 1.3;
  margin-bottom: 10px;
  word-break: break-all;
}
@media screen and (min-width: 769px) {
  .c-tagKeywordList__item {
    font-size: 1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  .c-tagKeywordList__item {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .c-tagKeywordList__item {
    font-size: 1rem;
  }
}
.c-tagKeywordList__item:not(:last-child) {
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  .c-tagKeywordList__item:not(:last-child) {
    margin-right: 10px;
    margin-bottom: 10px;
  }
}
.c-tagKeywordList__item span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-tagKeywordList__item span {
	background: var(--black);
	color: var(--white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 35px;
  padding: 0 17px;
  border-radius: 17.5px;
}
@media screen and (max-width: 768px) {

}
.isBusiness .c-tagKeywordList__item span {
  color: #001c7b;
  border-color: #001c7b;
}
.isEducation .c-tagKeywordList__item span {
  color: #ff6400;
  border-color: #ff6400;
}
.isGovernment .c-tagKeywordList__item span {
  color: #197d46;
  border-color: #197d46;
}
.c-tagKeywordList__item span:before {
  display: inline-block;
}

/* [ON SMALL SCREENS] */
@media screen and (max-width: 840px){
	.pc{
		display: none;
	}
	
	.sp{
		display: block;
	}

	.button-apply-background{
		height: 80px;
	}
	
	.button-apply-ctx{
		margin-bottom: 50px;
	}

	.button-top-background{
		width: 50%;
		height: 60px;
	}

	.button-top{
		font: normal normal bold 16px / 16px "Noto Sans JP";
	}

	.c-tagKeywordListBlock{
		padding-left: var(--text-margin-left-sp);
		padding-right: var(--text-margin-right-sp);
	}

	.c-tagKeywordList__item span {
		height: 32px;
		padding: 0 15px;
		border-radius: 16px;
		font-size: 13px;
	}

	.company-introduction-ctx-sp{
		content: "";
		background-image: url(img/mv-sp.jpg);
		background-position: right center;
		background-size: cover;
		background-repeat: no-repeat;
		display: flex;
		flex-direction: column;
		height: auto;
		justify-content: center;
		object-fit: contain;
		width: 100%;
		z-index: 2;
		top: 86px;
	}

	.company-introduction-img-container{
		margin-top: 0px;
	}

	.company-introduction-img-ctx{
		width: 100%;
	}

	.company-introduction-img{
		height: auto;
		object-fit: contain;
		object-position: center 00px;
		width: 100%;
	}

	.company-introduction-text{
		font-size: 14px;
	}

	.company-introduction-title{
		font-size: 9vw;
	}

	.company-introduction-title-name{
		font-size: 24px;
	}

	.content-image{
		margin-top: 0px;
	}

	.content-image-ctx{
		width: 100%;
	}

	.content-image-single{
		width: 100%;
		align-items: center;
		display: flex;
		justify-content: center;
	}

	.company-propaganda-title{
		font: normal normal bold 30px/44px "Noto Sans JP";
		margin-bottom: 20px;
		margin-top: 40px;
	}

	.form-privacy-input{
		margin-right: 10px;
		margin-top: 10px;
		width: 15px;
	}

	.footer-logo-ctx .logo{
		margin-left: 15px;
	}

	.footer-logo-ctx{
		margin-top: 20px;
	}

	.footer-copyright-ctx{
		margin-bottom: 10px;
	}

	.footer-logo-text{
		font-size: 16px;
	}

	.form{
		font-size: 1rem;
	}

	.form-container{
		font-size: 1rem;
		padding: 0 35px;
	}

	.form label{
		font-size: 1rem;
		margin-top: 20px;
	}

	.form-send-button{
		height: 80px;
		margin-bottom: 80px;
		width: 100%;
	}

	/* (A) BREAK INTO VERTICAL MENU */
	#hamitems a {
		box-sizing: border-box;
		display: block;
		width: 100%;
		border-top: 1px solid #333;
	}

	/* (B) SHOW HAMBURGER ICON */
	#hamnav label {
		display: inline-block;
		color: var(--black);
		background: var(--white);
		font-style: normal;
		font-size: 34px;
		padding: 10px;
		position: absolute;
		right: 0;
	}

	/* (C) TOGGLE SHOW/HIDE MENU */
	#hamitems {
		display: none;
		position: absolute;
	}
	#hamnav input:checked ~ #hamitems{
		background-color: var(--white);
		color: var(--black);
		height: 132px;
		position: absolute;
		text-align: center;
		top: 80px;
		width: 100%;
		z-index: 100;
	}

	.h2-en{
		font: normal normal bold 50px/50px Bebas Neue;
		margin-top: 50px;
		margin-bottom: 35px;
		opacity: 1;
	}
	
	.h2-jp{
		font: normal normal bold 30px/44px "Noto Sans JP";
		letter-spacing: 0.3em;
		margin-bottom: 25px;
		opacity: 1;
	}

	.h3-en{
		font: normal normal bold 40px/50px Bebas Neue;
		font-size: 40px;
		opacity: 1;
	}

	.h3-jp{
		font: normal normal bold 30px/44px "Noto Sans JP";
		letter-spacing: 0.3em;
		opacity: 1;
	}

	.header-button-apply-ctx{
		margin-right: 0px;
		position: absolute;
		right: 80px;
	}

	.header-button-apply-ctx:hover{
		filter: brightness(125%);
	}

	.img-1-4{
		display: flex;
	}

	.img-4-1{
		display: flex;
	}

	.img-16-images{
		display: grid;
	}

	.img-content-img-ctx h2{
		font: 50px;
		margin-left: var(--text-margin-left-sp);
		margin-right: var(--text-margin-right-sp);
	}

	.img-content-img-ctx h3{
		font: 40px;
	}

	.img-content-img-content{
		flex: 0 0 100%;
	}

	.img-content-img-sides{
		display: none;
	}

	.job-information-text{
		margin-bottom: 50px;
	}

	.margin-bottom-50px-sp{
		display: block;
		margin-bottom: 50px;
	}

	#navitems{
		display: none;
	}

	.recruit-details{
		margin-left: var(--text-margin-left-sp);
		margin-right: var(--text-margin-right-sp);
	}

	.recruit-details dl dt{
		font: normal normal 16px/24px "Noto Sans JP";
		letter-spacing: 1.6px;
		width: 90px;
	}

	.recruit-details dl dd{
		font: normal normal 16px/24px "Noto Sans JP";
		letter-spacing: 1.6px;
		width: calc(100% - 90px);
	}
	
	.text{
		margin-left: var(--text-margin-left-sp);
		margin-right: var(--text-margin-right-sp);
	}
	
	.text-title-{
		margin-left: var(--text-margin-left-sp);
		font-size: 16px;
	}

	.text{
		font-size: 16px;
	}

	.text-title-{
		grid-template-columns: 80px 1fr; /* Two columns: fixed width for title, flexible for text */
	}

	.text-title-description{
		margin-right: 10%;
	}

	.work-flow-arrow{
		margin-top: 15px;
	}

	.work-flow-img{
		display: block;
		margin-left: 0px;
	}

	.work-flow-img-file{
		width: 60%;
	}

	.work-flow-img-ctx{
		display: block;
		height: auto;
		
		margin-right: 20px;
		margin-top: 15px;
		min-width: 150px;
		padding-bottom: 20px;
		position: relative;
		text-align: center;
	}

	.work-flow-img-ctx::after{
		content: '';
		position: absolute;
		left: 50%; /* Center the arrow horizontally */
		bottom: -80px; /* Position the arrow 50px below the div */
		transform: translateX(-50%); /* Center the arrow */
		border-left: 14px solid transparent; /* Half of 28px */
		border-right: 14px solid transparent; /* Half of 28px */
		border-top: 25px solid var(--white); /* Full height */
		width: 0; /* No width, just the border creates the arrow shape */
		z-index: 10;
	}

	.work-flow-img-ctx-no-arrow{
		display: block;
		height: auto;
		
		margin-right: 20px;
		margin-top: 15px;
		min-width: 150px;
		padding-bottom: 20px;
		position: relative;
		text-align: center;
	}

	.work-flow-img-txt{
		font-size: 16px;
		text-align: center;
		width: 100%;
	}

	.youtube-text{
		font-size: 15px;
		margin-left: var(--text-margin-left-sp);
		margin-right: var(--text-margin-right-sp);
	}
	
	.youtube-text-white{
		color: var(--white);
		font-size: 13px;
		margin-left: var(--text-margin-left-sp);
		margin-right: var(--text-margin-right-sp);
	}

	.p-privacy-list dt {
		font-size: 18px;
		margin-bottom: 15px;
		padding: 8px 10px;
	}

	.p-privacy-list dd {
		font-size: 14px;
		line-height: 1.5;
		padding: 0 5px;
	}

	.c-tagKeywordList {
    margin-top: 17px;
		justify-content: center;

  }
}