@charset "UTF-8";
html {
  font-size: 62.5%; }
body {
font-family: 'Noto Sans JP', sans-serif;
text-align:center;
margin:0;
padding:0;
width:100%;
height:100%;
text-decoration: none;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
position: relative;
text-align:center;
	font-size: 1.6rem; /* 16px */
    line-height: 1.5;
    color: #333;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
img {
    max-width: 100%;
    height: auto;
}

/* リンクの下線削除 */
a {
    text-decoration: none;
    color: inherit;
}

/* リストのスタイル削除 */
ul, ol {
    list-style: none;
}
.flex{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}


.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 30px;
  height: 24px;
  cursor: pointer;
  z-index: 1001;
}

.hamburger span {
  display: block;
  width: 100%;
  height: 3px;
  background: #333;
  margin: 6px 0;
  transition: 0.3s;
}

.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.hamburger.active span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -6px);
}

.menu {
  position: fixed;
  top: -100vh;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #ffd900;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: top 0.5s ease;
  z-index: 1000;
}

.menu.active {
  top: 0;
}

.menu ul {
  list-style: none;
  text-align: center;
	width: 100%;
}

.menu li {
	width: 100%;
  margin:1.2em auto;
}

.menu a {
  color: #595757;
  font-size: 1.5rem;
  text-decoration: none;
  transition: color 0.3s;
  display: block;
  width: 80%;
  margin: 0 auto;
  border-bottom: solid 2px #595757;
	max-width: 500px;
  padding-bottom: 1.2em;
}

.menu a:hover {
  color: #600000;
}

.scaleani {
    animation: scaleAnimation 3s ease-in-out;
}
.close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 30px;
  height: 30px;
  cursor: pointer;
  z-index: 1002;
}

.close-btn span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  background: #000;
  transition: 0.3s;
}

.close-btn span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}

.close-btn span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@keyframes scaleAnimation {
    0% { transform: scale(1); }
    25% { transform: scale(1.2); }
    75% { transform: scale(1.2); }
    100% { transform: scale(1); }
}
.headermenu{
	position: relative;
	flex-shrink: 0;
	width: calc(100% - 50px);
}

.headermenu .leftbox,
.headermenu .eigyoujikan,
.headermenu .top-oubo{
	position: absolute;
	flex-shrink: 0;
}
.headermenu .leftbox{
	left: 10px;
	top: 10px;
	width: 180px;
}
.headermenu .top-oubo{
	right: 284px;
	top: 18px;
  width:164px;
}
.headermenu .eigyoujikan{
	right: 20px;
	top: 20px;
  width:250px;
}
header{
	background-color: #fff;
  height: 70px;
  min-height: 70px;
	position: fixed;
	z-index: 3;
	width: 100%;
}
main{
	margin-top: 0px;
}
.topbox{padding-top: 60px;}
.topbox h1 span{
	letter-spacing: -0.4em;
}
.topbox h1{
	width: 100%;
	background: #ffd900;
	padding: 0.7em 0 0.5em;
	font-size: calc(2.4vw + 5pt);
	white-space: nowrap;
}


.whiteback {
  position: relative;
  min-height: 30vh;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
	background-color: rgba(255,255,255,1);
	width: 90%;
	max-width: 1300px;
	border-radius: 0.5em;
	margin:100px auto;
	padding: 2.5em 3em;
	text-align: center;
	letter-spacing: 0.08em;
	font-size: calc(1vw + 6pt);
	margin-top: 100vh;
	margin-bottom: 200px;
	line-height: 1.8em;
}

@media (min-width: 481px) {
	.break-sp::before {
        content: "\A";
        white-space: pre;
    }
}
@media (max-width: 480px) {
    .break-desktop::before {
        content: "\A";
        white-space: pre;
    }

.whiteback {
	margin-top: 30px;
	font-size: calc(0.85vw + 5pt);
	border-radius: 0.8em;
	line-height: 1.6em;
  	min-height: calc(120px + 3vh);
	margin:40px auto;
	letter-spacing: 0.06em;
	padding: 2em;
}

}
/* スクロール可能にするためのスペーサー */
.spacer {
  height: 100vh;
}
.top-secondcontent div{
	width: 16%;
	padding-right: 10px;
}

.top-secondcontent{	
	padding: 20px 0;
	width: 100%;
	max-width: 1300px;
	margin: auto;
}
.topobo {
    background: #ffd900;
    width: 100%;
    position: relative;
}

.president-img {
    position: absolute;
    right: 5%;
    bottom: 0;
    width: 28%;
    z-index: 2;
}

@media (max-width: 480px) {
	.eigyoujikan{display: none;}
.headermenu .top-oubo{
	top: 20px;
	width:140px;
	right: 14px;
}
.headermenu .leftbox{
	left: 0px;
}
}
.ind-second-box{
	background-color: #fff;
	padding-top: 80px;
}
.flex.indexlink{
	justify-content: space-between;
	margin-bottom: 60px;
}
@media (min-width: 481px) {
.flex.indexlink div:nth-child(1) img:hover {
    content: url('../images/top-link01-2.png');
}

.flex.indexlink div:nth-child(2) img:hover {
    content: url('../images/top-link02-2.png');
}

.flex.indexlink div:nth-child(3) img:hover {
    content: url('../images/top-link03-2.png');
	}
}
.indexlink div{
	width: 30%;
}
.ind-second-box > div{
	width: 100%;
	max-width: 1200px;
	margin: auto;
}
.indexnext{
	padding-top: 30px;
	justify-content: space-between;
}
.indexnext div{
	width: 18%;
	text-align: justify;
	font-size: 1em;
	line-height: 1.8em;
	letter-spacing: 0.06em;
}
.indexnext div span{
	color: #ffd900;
}

@media (min-width: 481px) {
.flex.indexnext div:nth-child(1) img:hover {
    content: url('../images/top-second-link-1-2.png');
}
.flex.indexnext div:nth-child(2) img:hover {
    content: url('../images/top-second-link-2-2.png');
}
.flex.indexnext div:nth-child(3) img:hover {
    content: url('../images/top-second-link-3-2.png');
}
.flex.indexnext div:nth-child(4) img:hover {
    content: url('../images/top-second-link-4-2.png');
}
.flex.indexnext div:nth-child(5) img:hover {
    content: url('../images/top-second-link-5-2.png');
}
}
.ind-second-box{
	padding-bottom: 100px;
}
footer{
	background: #ebebec;
	margin:auto;
	padding-top: 50px;
	padding-bottom: 50px;
	width: 100%;
}
footer.other{
	padding-top: 30px;	
}
footer .flex{
	justify-content: space-around;
}
.snsbox div{
	width: 30%;
}
.snsbox{
	justify-content: space-between;
	width: 90%;
	max-width: 1200px;
	margin: auto;
	margin-top: 20px;
}
.topobo{
	background: #ffd900;
	width: 100%;
}


.info-table {
    width: 100%;
    border-collapse: collapse;
	font-size: 80%;
}

.info-table td {
    padding: 8px 12px 0;
    vertical-align: top;
}

.info-table .right-align {
    text-align: right;
	padding-right: 1em;
	border-right: 1px solid #000;
}


.info-table .left-align {
    text-align: left;
}

.sixsepa table{width: 30%;}
.sixsepa > div{width: 60%;}
.sixsepa{
	width: 90%;
	max-width: 1300px;
	margin: auto;
	padding-top: 50px;
	padding-bottom: 100px;
}
.container {
	font-size: 110%;
   display: flex;
   width: 100%;
	max-width: 1300px;
	margin: auto;
	margin-top: 80px;
	margin-bottom: 100px;
}

.left-section {
   width: 30%;
}

.right-section {
   width: 60%;
	margin-left: 30px;
	line-height: 2em;
}
.right-section > div:nth-child(1){
	text-align: left;
}
.info-table {
   width: 100%;
   border-collapse: collapse;
}
.footinfo{
	margin-top: 1em;
	text-align: left;
	justify-content: space-between;
	font-size: 0.8em;
	line-height: 2em;
	text-indent: -0.5em;
}
.copyright{font-size: 0.7em;margin-top: 2em;margin-bottom: -2em;}

.indexlink div:nth-child(n+4),.spenter{
	display: none;
}
@media (max-width: 480px) {
	
	.indexlink div:nth-child(n+4),.spenter{
		display: inline;
	}
.indexlink div:nth-child(1),
.indexlink div:nth-child(2),
.indexlink div:nth-child(3){
	display: none;
}

.topbox h1{
	width: 100%;
	background: #ffd900;
	padding: 0.9em 0 0.5em;
	font-size: calc(3vw + 5pt);
	white-space: nowrap;
}
	
.ind-second-box{
	width: 100%;
	padding: 0 5%;
	margin: auto;
	padding-top: 30px;
}
	.indexnext{
	padding: 30px 0;
		flex-wrap: wrap;
		font-size: 80%;
		justify-content: space-around;
}
	.indexnext div:nth-last-child(2){margin-left: 10%;}
	.indexnext div:last-child{margin-right: 10%;}
.indexnext div{
	width: 30%;
	text-align: justify;
	font-size: 0.8em;
	white-space: nowrap;
	line-height: 1.8em;
	letter-spacing: 0.06em;
	margin-bottom: 2em;
}
.left-section {
   width: 100%;
	margin-bottom: 50px;
}

.right-section {
   width: 100%;
	margin: auto;
}
.container {
	flex-wrap: wrap;
	width: 86%;
	margin-bottom: 40px;
}
.right-section > div:nth-child(1){
	text-align: center;
}
.footinfo{
	margin-top: 1em;
	text-align: center;
	justify-content: space-between;
	font-size: 0.6em;
	line-height: 2em;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.copyright{font-size: 0.7em;margin-top: 1em;}


}
.topobo {
    background: #ffd900;
    width: 100%;
    position: relative;
    padding: 20px 0;
}

.top-secondcontent {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 10px;
    width: 90%;
    max-width: 1500px;
    margin: 0;
    padding: 0;
}

.top-secondcontent > div {
    width: 16%;
}

.top-secondcontent > div img {
    width: 100%;
    height: auto;
}

.president-img-second,
.president-img {
    position: absolute;
    right: 3%;
    bottom: -5px;
    width: 20%;
    z-index: 2;
}
.president-img-second{
    left: 0;
    width: 30%;
    z-index: 2;
	
}

.president-img-second img,
.president-img img {
    width: 100%;
    height: auto;
}
.inlinemenu li:nth-child(1) img{
	width: 60%;
	max-width: 300px;
}
.topbox.business,
.topbox.about,
.topbox.other,
.topbox.recruit{
	width: 100%;
	background: #ffd900;
	padding-top: 120px;
}

.topbox.about h1,
.topbox.recruit h1{
	width: 50%;
	margin: auto;
}
.topbox.about h1{
	width: 43%;
	margin: auto;
	padding-left: 8%;
}
h2.recruit {
	margin: 80px auto;
	line-height: 1.8em;
	font-size: 140%;
}
h2.interview,
h2.business,
h2.recruit,
h2.fresh,
h2.about {
	margin: 80px auto 50px;
	line-height: 1.8em;
	font-size: 124%;
	width: 90%;
	font-weight: normal;
	max-width: 1300px;
}
h2.business span{
	letter-spacing: 0.08em;
	font-weight: bolder;
	font-size: 1.4em;
	color: #FF0004;
}
h2.about span{letter-spacing: -0.4em;}
.recruitbox div:nth-child(1){
            width: 40%;
            margin-right: 20px;
        }
        .recruitbox span{
            font-size: 86%; 
            font-weight: normal;
        }
        .recruitbox{
            display: flex;
            border: solid 8px #ffd900;
            padding: 20px;
            font-size: 1.3em;
            font-weight: bolder;
            text-align: left;
            width: 80%;
			max-width: 1100px;
            margin: auto;
			margin-bottom: 80px;
        }
        
        /* ドロップダウン関連のスタイル */
        .recruitbox-content {
            flex-direction: column;
            width: 60%;
			letter-spacing: 0.08em;
        }
        
        .syousai {
            background-color: #00a5e3;
            color: white;
            padding: 10px 15px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 0.9em;
            font-weight: bold;
            margin-top: 10px;
            width: 90%;;
            position: relative;
        }
        
        .syousai:hover {
            background-color: #0088cc;
        }
        
        .syousai::after {
            content: '+';
            position: absolute;
            right: 10px;
            top: 50%;
            transform: translateY(-50%);
            font-size: 1.2em;
        }
        
        .syousai.active::after {
            content: '－';
        }
        
        .dropdown-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease;
            background-color: #fff;
            border: 1px solid #fff;
            border-radius: 5px;
			display: flex;
			flex-wrap: wrap;
        }
        
        .dropdown-content.show {
            max-height: 4000px;
            padding-top: 15px;
        }
        
        .dropdown-content p {
            margin: 0;
            font-size: 0.8em;
            font-weight: normal;
            line-height: 1.5;
			border-bottom: solid 1px #ccc;
			padding: 1em 0;
       }
.dropdown-content p:nth-child(odd) {
	width: 25%;background: #efeeed;
	padding-left: 1em;
	letter-spacing: 0.1em;
}
.dropdown-content p:nth-child(even) {
	width: 75%; background: #fff;
	padding-left: 1em;
}

.flex.rec-lastse{
	width: 90%;
	margin:150px auto 80px;
	justify-content: space-around;
}
.flex.rec-lastse div{
	width: 31%;
}
.flex.other div{
	width: 16%;
}
.flex.other{
	width: 80%;
	margin: auto;
	margin-top: 50px;
	max-width: 600px;
	justify-content: space-around;
	align-items: center;
	
}
.fresh.indent{
	font-weight: bolder;
	font-size: 200%;
}
.flex.fresh.first img{
	width: 80%;
}
.flex.fresh.first{
	width: 90%;
	max-width: 900px;
	margin:30px auto 50px;
}
@media (max-width: 480px) {
.container {
	width: 100%;
}
.flex.rec-lastse{
	margin:50px auto 50px;
}
.flex.fresh.first img{
	width: 86%;
}
.flex.fresh.first{
	width: 90%;
	max-width: 900px;
	margin:30px auto 50px;
	font-size: 80%;
}	
}
.flex.wipe{
	width: 90%;
	max-width: 1300px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content:space-around;
	margin: auto;
}
.flex.wipe div{
	margin-bottom: 60px;
}
.flex.wipe div:nth-child(1),
.flex.wipe div:nth-child(4),
.flex.wipe div:nth-child(5){
	width: 16%;
}
.flex.wipe div:nth-child(2),
.flex.wipe div:nth-child(3),
.flex.wipe div:nth-child(6){
	width: 80%;
}
.flex.wipe .balloon-rev span,
.flex.wipe .balloon span{
	font-weight: bolder;
	font-size: 160%;
	margin-bottom: 1em;
	line-height: 1.9em;
}
.flex.wipe .balloon-rev,
.flex.wipe .balloon{
    position: relative;
    background-color: #ffec94;
    border: 2px solid #ffec94;
    border-radius: 10px;
    padding: 2em;
	text-align: justify;;
	font-size: 100%;
	margin-bottom: 100px;
}

.flex.wipe .balloon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid #ffec94;
}

.flex.wipe .balloon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: -12px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-right: 12px solid #ffec94;
}
.flex.wipe .balloon-rev::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #ffec94;
}

.flex.wipe .balloon-rev::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -12px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 12px solid #ffec94;
}
.aboutpmi,
.freshunder{justify-content:center;}
.freshunder div:nth-child(1){
	width: 33%;
}
.entry,
.fukuri,
.aboutvoice,
.kensyuu{
	width: 30%;margin:80px auto;min-width: 250px;
}
.aboutpmi .fade-up span,
.freshunder .fade-up span{
	font-size: 1.4em;
	font-weight: bolder;
}
.freshunder .fade-up{
	text-align: left;
	margin-top: -0.5em;
	margin-left: 30px;
	letter-spacing: 0.08em;
	line-height: 1.7em;
}
.flex.aboutpmi{
	width: 90%;
	max-width: 1300px;
	margin: auto;
	margin-bottom: 30px;
	flex-wrap: wrap;
}
.firstpen{
	width: 20%;
}
.secondpen{
	text-align: left;
	margin-top: -0.5em;
	margin-left: 30px;
	letter-spacing: 0.08em;
	line-height: 1.7em;
	width: 70%;
}

.aboutpmi .fade-up{
	margin-top: -0.1em;
	
}
.tab-container {
    display: flex;
    border-left: 1px solid #ccc;
	width: 90%;
	margin: auto;
	max-width: 1300px;
}

.tab-container > div {
    flex: 1;
    text-align: center;
    padding: 15px 5px;
    border-right: 1px solid #ccc;
    position: relative;
}

.tab-container > div::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #f08300;

    bottom: -20px;
    animation: bounce 1.5s infinite;
}
h3.tag{
	background: #ffd900;
	border-radius: 0.5em;
	width: 90%;
	max-width: 1300px;
	padding: 0.5em;
	margin:100px auto 50px;
	font-size: 1.5em;
	letter-spacing: 0.05em;
	white-space: nowrap;
}

@keyframes bounce {
    0%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    50% {
        transform: translateX(-50%) translateY(-5px);
    }
}

@media (max-width: 800px) {
	.president-img-second{
		display: none;
	}
.president-img {
    position: absolute;
    right: 5%;
    bottom: -5px;
    width: 20%;
    z-index: 2;
}
.topbox.about h1{
	width: 50%;
	margin: auto;
}
}

.flex.business{
	width: 90%;
	max-width: 1300px;
	margin: auto;
	text-align:justify;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.flex.business > div:nth-child(2) > div:nth-child(1){
	font-size: 1.8em;
	font-weight: bolder;
	margin-top: -0.3em;
	letter-spacing: 0.08em;
	margin-bottom: 0.3em;
}
.flex.business > div:nth-child(2) > div:nth-child(2) span{
	color:#e60012;
}
.flex.business > div:nth-child(2) > div:nth-child(2){
	letter-spacing: 0.07em;
}
.flex.business > div:nth-child(2){
	width: 60%;
}
.flex.business > div:nth-child(1){
	width: 30%;
	margin-right: 3%;
}
.aboutbox img {
    width: 100%;
    height: auto;
}
.aboutbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    gap: 20px;
    width: 90%;
	max-width: 1300px;
	margin: auto;
}

.aboutbox > div {
    flex: 0 0 calc(25% - 15px);
}

.aboutbox > div:nth-child(1) {
    flex: 0 0 calc(50% - 15px);
}

.aboutbox > div:nth-child(2),
.aboutbox > div:nth-child(3) {
    flex: 0 0 calc(25% - 15px);
}

.businessbox.flex{
	margin: auto;
	width: 90%;
	max-width: 1300px;
	text-align: left;
}
.businessbox {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 20px; /* ブロック間の余白 */
}

.businessbox .first {
    display: flex;
    align-items: flex-start;
    gap: 15px; /* 画像とテキスト部分の間の余白 */
}

.businessbox .first > div:nth-child(2)  > div:nth-child(1) {
	font-size: 2em;
}
.businessbox .first > div:nth-child(2)  > div:nth-child(2) {
	font-size: 1.2em;
	font-weight: normal;
}
.businessbox .first > div:nth-child(2) {
    font-weight: bold;
    margin-bottom: 8px;
}

.businessbox .first > div:nth-child(3) {
    line-height: 1.4;
}
.businessbox .first > div:first-child {
    flex-shrink: 0;
}
.businessbox .first > div:nth-child(1){
	width: 23%;
}

.flex.company,
.business.eigyou{
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	width: 90%;
	max-width: 1300px;
	justify-content: space-between;
}
.business.eigyou > div{
	margin-bottom: 30px;
	letter-spacing: 0.08em;
}
.business.eigyou > div:nth-child(even) > div:nth-child(1){
	font-size: 1.6em;
	font-weight: bolder;
	margin-bottom: 0.8em;
}
.business.eigyou > div:nth-child(even){
	width: 68%;
	text-align: left;
	margin-top: -0.5em;
}
.business.eigyou > div:nth-child(odd){
	width: 30%;
}
.eigyou .youbou > div:nth-child(2){
	width:calc(60% - 20px);
}
.eigyou .youbou > div{
	width: 40%;
	margin-right: 20px;
}
.eigyou .youbou{
	display: flex;
}
.flex.company > div{
	width: 48%;
	margin-bottom: 100px;
}

@media (max-width: 480px) {
.youbou {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 15px;
}
.youbou > div{
	width: 100%!important;
	text-align: justify;
}
.business.eigyou{
	flex-wrap: wrap;
	}
.business.eigyou > div:nth-child(even){
	width: 100%;		
}
.business.eigyou > div:nth-child(odd){
		width: 100%;
	}
.tab-container > div {
	font-size: calc(1vw + 0.5em);
	letter-spacing: 0.05em;
}
	.flex.business > div:nth-child(2){
		width: 90%;
		margin: auto;
		font-size: 84%;
	}
	.flex.business > div:nth-child(2) > div:nth-child(1){
		font-size: 1.6em;
		white-space: nowrap;
	}
.flex.business > div:nth-child(1){
	width: 90%;
	margin: auto;
	margin-bottom: 10px;
}
	.businessbox .first > div:nth-child(2)  > div{
		letter-spacing: 0.08em;
		margin-top: -0.3em;
	}
.businessbox .first > div:nth-child(2)  > div:nth-child(2) {
 font-size: 0.9em;		
}
.businessbox .first > div:nth-child(2)  > div:nth-child(1) {
	font-size: 1.4em;
}
.businessbox {
        grid-template-columns: 1fr; /* 1列レイアウト */
        grid-template-rows: auto; /* 行の高さを自動調整 */
    }
.first {width: 100%;}
	
.firstpen{
	width: 100%;
}
.secondpen{
	width: 100%;
}
    .aboutbox > div {
        flex: 0 0 calc(50% - 10px);
    }
    
    .aboutbox > div:nth-child(1) {
        flex: 0 0 calc(100%);
    }
    
    .aboutbox > div:nth-child(2),
    .aboutbox > div:nth-child(3) {
        flex: 0 0 calc(50% - 10px);
    }
h3.tag{
	font-size: 1.4em;
}
h2.about {
	line-height: 1.7em;
	font-size: 100%;
}
}
.kyuuyoimage{
	background: #ebebec;
	padding: 30px;
	width: 90%;
	max-width: 1300px;
	margin:100px auto 30px;
}
.kyuuyoimage div:nth-child(1){
	font-weight: bolder;
	font-size: 1.6em;
	margin-bottom: 0.5em;
	letter-spacing: 0.08em;
}
.staffim {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-around;
}

.staffim > div {
    flex: 0 0 calc(33.33% - 14px);
}

.staffim img {
    width: 100%;
    height: auto;
}
.jyuujitsu{display: flex;justify-content:space-between;width: 90%;max-width: 1300px;margin: auto;}
.benemax{width: 75%; display: flex;flex-wrap: wrap;}
.benemax > div:nth-child(odd){width: 20%;margin-bottom: 30px;letter-spacing: 0.08em;}

.benemax > div:nth-child(even){width: 77%;text-align: justify;padding-left: 3%;font-size: 100%;margin-top: -5px;margin-bottom: 30px;letter-spacing: 0.05em;}
.benemax div:nth-child(even) span{font-size: 80%;}
.benemax div:nth-child(even) > div:nth-child(1){
	font-size: 2.2em;
	width: 100%;
	font-weight: bolder;
}
.neneinli{width: 23%;}
.neneinli img,.neneinli div img{width: 100%;}
.benefits-text{
	text-align: left; 
	width: 90%;
	max-width: 1300px;
	margin: auto;
}
.benefits-text > div {
    padding: 1em 0;
    border-bottom: solid 1px #000;
    font-size: 0.9em;
    line-height: 1.6em;
    text-indent: -1em;
    padding-left: 1em;
}
.flex.kensyuubox > div > div:nth-child(2) {
	font-size: 1.4em;font-weight: bolder;
}
.flex.kensyuubox > div:nth-child(2) {
    margin: 0 20px;
}
.flex.kensyuubox{
	width: 90%;
	max-width: 1300px;
	margin: auto;
	text-align: left;
	letter-spacing: 0.08em;
	font-size: 90%;
	margin-bottom: 100px;
	flex-wrap: wrap;
}
.flex.kensyuubox > div{
	width: 32%;
}
.innagare{
	margin: auto;
	width: 90%;
	max-width: 1300px;
	gap: 15px;
	margin-bottom: 100px;
}

h2.interview{
	border-bottom: solid 1px #f08300;
	padding-bottom: 2em;
}
.interviewbox > div > div:nth-child(2){
	margin-bottom: 2.5em;
}
.interviewbox > div > div:nth-child(odd){
	font-size: 1.6em;
	font-weight: bolder;
	color: #f08300;
	letter-spacing: 0.08em;
	margin-top: -0.2em;
	line-height: 1.8em;
	margin-bottom: 0.25em;
}
.interviewbox > div{
	width: 48%;
}
.interviewbox{
	display: flex;
	width: 90%;
	margin: auto;
	max-width: 1300px;
	justify-content: space-between;
	text-align: justify;
	border-bottom: solid 1px #f08300;
	padding-bottom: 3em;
	margin-bottom: 3em;
}
.interciewcrew {
    border-radius: 1em;
    overflow: hidden; /* 画像が角丸からはみ出るのを防ぐ */
}

.interciewcrew img {
    border-radius: 1em; /* 画像自体にも角丸を適用 */
    width: 100%;
    height: auto;
    display: block; /* 画像下の余白を削除 */
}
.company-info-dl {
    display: grid;
    grid-template-columns: 120px 1fr;
    max-width: 600px;
    margin: auto;
    margin-bottom: 100px;
	line-height: 2.2em;
	letter-spacing: 0.08em;
}

.company-info-dl dt {
    font-weight: bold;
    margin: 0;
    width: 6em; /* 固定幅 */
    text-align: justify; /* 両端揃え */
    text-align-last: justify; /* 最後の行も両端揃え */
}

.company-info-dl dd {
    margin: 0;
    padding-left: 2em;
    text-align: left;
    border-left: solid 1px #000;
}
.companybox{margin-bottom: 50px;}

.flex.entry{
	width: 90%;
	max-width: 1300px;
	margin: auto;
	justify-content:space-between;
	flex-wrap: wrap;
	align-items: center;
	font-size: 110%;
}
.flex.entry > div:nth-child(2) > div:nth-child(2){
	font-size: 0.9em;
	line-height: 1.8em;
}
.flex.entry > div:nth-child(2) > div:nth-child(1){
	font-weight: bolder;
	margin-bottom: 0.5em;
	font-size: 1.8em;
}
.flex.entry.reverse > div:nth-child(1) > div:nth-child(1){
	font-size: 0.9em;
}
.flex.entry.reverse > div:nth-child(1) > div:nth-child(2){
	line-height: 1.6em;
}
.flex.entry.reverse > div:nth-child(1) > div:nth-child(1){
	font-weight: bolder;
	margin-bottom: 0.5em;
	font-size: 1.6em;
}
.flex.entry > div:nth-child(2){
	width: 62%;
	text-align: justify;
}
.flex.entry > div:nth-child(1){
	width: 35%;
}
.flex.entry.reverse > div:nth-child(1){
	width: 62%;
	text-align: justify;
}
.flex.entry.reverse > div:nth-child(2){
	width: 35%;
}
.entry a:hover img {
    content: url('../images/entry-img-undert-02.png');
}
.lastsec{
	width: 100%;
	font-size: 80%;
}
.flex.footinfo{
	text-align: left;
	justify-content: space-between;
}

.president-img {
	right: 0;
}
@media (max-width: 480px) {
	.flex.indexlink{
	margin-bottom: 0;		
	}
.dropdown-content {margin: auto;}
.dropdown-content p:nth-child(odd) {width: 100%;font-size: 1.0em;
	padding-top: 0.8em;padding-bottom: 0.6em;}
.dropdown-content p:nth-child(even) {
	width: 100%;
	padding-left: 0em;
	font-size: 85%;
	letter-spacing: 0.06em;
	text-align: justify;
}
.flex.aboutpmi{
	font-size: 90%;
}
	html,body{overflow-x: hidden;overflow-y: auto;}
	h2.interview{
		font-size: 100%;
	}
	.flex.footinfo{flex-wrap: wrap;text-align: center;justify-content: center;}
	.flex.footinfo > div{
		width: 48%;
		margin-bottom: 1em;
	}
	.lastsec{
		font-size: 70%;
		letter-spacing: 0.05em;
		margin-top: 0.5em;
	}

	.company-info-dl {
		font-size: 84%;
		width: 80%;
	}
	.flex.company > div:nth-child(odd){
		margin-bottom: 30px;
	}
	.flex.company > div:nth-child(even){
		margin-bottom: 80px;
	}
.flex.company > div{
	font-size: 90%;
	width: 100%;
}
.innagare{
	flex-wrap: wrap;
	width: 84%;
}

.jyuujitsu{flex-wrap: wrap;}
.benemax{width: 100%;}
.benemax div:nth-child(even) > div:nth-child(1){
	font-size: 1.6em;
	margin-top: -0.1em;
}	
	.neneinli{width: 100%;flex-wrap: wrap;display: flex;justify-content: space-between;}
	.neneinli div{width: 48%;margin-bottom: 10px;}
.flex.kensyuubox > div:nth-child(2) {
    margin: auto;
}
.flex.kensyuubox > div:nth-child(3),
.flex.kensyuubox > div:nth-child(2){
	margin-top: 30px;
}
.secondpen{
	font-size: 102%;
	}
.aboutpmi .secondpen{
	margin-left: 0px;
}
	.secondpen span{letter-spacing: 0.05em;}
.kyuuyoimage{
	background: #ebebec;
	padding: 20px;
	padding-bottom: 0;
	width: 90%;
}
.staffim > div {
    flex: 0 0 100%;
	border-bottom: solid 2px #ffffff;
	padding-bottom: 20px;
}
	
.staffim > div:last-child {	border-bottom: none;}
h2.recruit {
	width: 90%;
	margin:50px auto;
	font-size: 116%;
}
	.syousai{width: 100%;}
	.recruitbox-content {
            flex-direction: column;
            width: 100%;
        }
	.recruitbox{
		font-size: 90%;
		flex-wrap: wrap;
	}
	.recruitbox div:nth-child(1){
            width: 100%;
            margin-right: 0px;
		margin-bottom: 20px;
        }
.topbox.other{
	width: 100%;
	background: #ffd900;
	padding: 110px 0 30px;
}

.topbox.about h1,
.topbox.recruit h1{
	width: 70%;
}
.top-secondcontent div{
	width: 16%;
	padding-right: 0;
}
.top-secondcontent {
    display: flex;
    justify-content: center;
    align-items:stretch;
    gap: 5px;
    width: 86%;
    margin: 0;
    padding: 0;
	margin-left: -5%;
}
.topobo {
    padding: 10px 0;
}
.president-img {
    position: absolute;
    right: 0;
    bottom: -35px;
    width: 26%;
    z-index: 2;
}
.president-img.index {
    position: absolute;
    right: 0;
    bottom: -5px;
    width: 26%;
    z-index: 2;
}

.president-img-second {
    position: absolute;
    left: 0;
    width: 30%;
    z-index: 2;
}
body {
    overflow-x: hidden;
    overflow-y: auto; /* 縦スクロールは通常通り */
}
.topbox.about.other h1{
	padding-right:12%;
	width: 80%;
}
}
.privacybox,
.ent-form{
	width: 90%;
	max-width: 1300px;
	margin: auto;
}
.privacy.tag{
	width: 100%;
	background: #595757;
	padding: 3.2em 0 0.8em;
	color: #fff;
	font-size: 1.6em;
	letter-spacing: 0.08em;
}
.privacybox > div:nth-child(1){
	margin: 1em auto 2em;
	font-size: 1.1em;
}
.privacybox > div:nth-child(2) > div:nth-child(even){
	text-align: justify;
	margin-bottom: 1em;
	font-size: 1.1em;
	margin: 0.8em auto 3em;
	line-height: 1.8em;
}
.privacybox > div:nth-child(2) > div:nth-child(odd){
	text-align: center;
	padding: 0.5em;
	background: #ebebec;
	font-size: 1.3em;
	font-weight: bold;
	border-radius: 0.5em;
}
.privacybox div{
	text-align: justify;
	font-size: 0.8em;
	letter-spacing: 0.08em;
}
.privacybox > div:nth-child(2) > div:last-child{
		text-align: right;
	background: none;
	font-size: 1.3em;
	font-weight: 400;
	border-radius: 0.5em;
}
.privacybox{margin-bottom: 100px;}

@media (max-width: 480px) {
footer.other{
	padding-top: 0px;	
}
    .dropdown-content.show {
		max-height: 3500px;
	}
	.inlinemenu{ 
		font-size: 70%;
	margin-top: -2em;
	}
	.inlinemenu li{padding: 0.15em 0 0;}
	.benefits-text{font-size: 90%;}
.flex.kensyuubox{
		flex-wrap: wrap;
}
	.flex.kensyuubox > div{
		width: 90%;
		margin: auto;
	}
	h2.fresh{
		font-size: 110%;
	}
	.fresh.indent{
		font-size: 170%;
	}
	.flex.entry{
		flex-wrap: wrap;
		margin-top: -50px;
	}
	.flex.entry:not(.reverse) div {
        width: 100%!important;
		flex-direction: column;
        order: 0;
    }
	.flex.entry.reverse{
		margin-top: -20px;
	}
	.flex.entry.reverse div {
        width: 100%!important;
    }
.flex.entry .entry img {
    width: 70%;
    height: auto;
}
	.flex.entry:not(.reverse) div:nth-child(1) { order: 2; margin: 50px auto -50px;}
	.flex.entry:not(.reverse) div:nth-child(2) { order: 1;}
	.flex.entry:not(.reverse) div:nth-child(3) { order: 3;}
	.flex.entry.reverse .fade-up { margin: 30px auto -50px;}
	.flex.entry img {width: 80%; margin: auto;}
	.flex.entry .fade-up.firstview {width: 90%; margin: auto;}
	.flex.entry .fade-up.firstview img {width: 90%; margin: auto;}
	.flex.entry .fade-up.thirdview {width: 90%; margin: auto;}
	.flex.entry .fade-up.thirdview img {width: 84%; margin: auto;}
	h2.business{font-size: 120%;}
	.interviewbox{
		font-size: 90%;
		flex-direction: column-reverse;
	}
	.interviewbox > div{
		width: 100%;
		margin-bottom: 1em;
	}
	.firstpen{margin-bottom: 1em;}
	.flex.freshunder > div:nth-child(2) {
		font-size: 80%;
		margin: auto;
		width: 84%;
	}
	.flex.freshunder > div:nth-child(1) {
		width: 84%;
		margin-bottom: 20px;
	}
	.flex.freshunder{
		flex-wrap: wrap;
	}
    .flex.wipe {
        flex-direction: column;
        align-items: center;
    }
    
    .flex.wipe div {
        width: 96%;
        order: 0;
    }
    
    /* 画像を全て後ろに配置 */
    .flex.wipe div:nth-child(1) { order: 2;width: 50%;margin-top: -50px; }  /* fresh-01.png */
    .flex.wipe div:nth-child(2) { order: 1;width: 96%; }  /* balloon right-in */
    .flex.wipe div:nth-child(3) { order: 3;width: 96%; }  /* balloon-rev left-in */
    .flex.wipe div:nth-child(4) { order: 4;width: 50%;margin-top: -50px; }  /* fresh-02.png */
    .flex.wipe div:nth-child(5) { order: 6;width: 50%;margin-top: -50px; }  /* fresh-03.png */
    .flex.wipe div:nth-child(6) { order: 5;width: 96%; }  /* balloon right-in */
    
    /* 矢印を下向きに */
    .flex.wipe .balloon::before,
    .flex.wipe .balloon::after,
    .flex.wipe .balloon-rev::before,
    .flex.wipe .balloon-rev::after {
        left: 50%;
        right: auto;
        top: auto;
        bottom: -10px;
        transform: translateX(-50%);
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #ffec94;
        border-bottom: none;
    }
    
    .flex.wipe .balloon::after,
    .flex.wipe .balloon-rev::after {
        bottom: -12px;
        border-top: 12px solid #ffec94;
        border-left: 12px solid transparent;
        border-right: 12px solid transparent;
    }
}
.topimg {
 width: 100vw;
 max-height: calc(100vh - 50px);
	position: fixed;
	top:50px;
	z-index: -1;
}
.topimg picture,
.topimg img {
 width: 100%;
 height: 100%;
 object-fit: cover;
}
.pdf-link {
  display: block;
  background: #fff;
  border: 6px solid #ffd900;
  border-radius: 0.5em;
  width: 90%;
  max-width: 22em;
  padding: 0.7em;
  margin: 4em auto;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  color: #000; /* 文字は黒で読みやすく */
  font-weight: bold;
  transition: all 0.3s;
  font-size: 1.2em;
}

.pdf-link:hover {
  background: #ffd900;
  color: #000;
}


@media (max-width: 1100px) {
.topimg {top:0px;}
}
@media (max-width: 480px) {

.pdf-link {
	margin: -2em auto 3em;
	font-size: 0.9em;
	border: 3px solid #ffd900;
}
.pdf-link {
  margin: 1em auto 3em;
}
	
	.topimg {
		top:-0px;
	}
}
/* デフォルト（スマホ用） */
.desktop-only {
  display: none; /* スマホでは改行タグ無効 */
}

.indent-text {
  text-indent: 0;
  padding-left: 0;
}

/* PC用 */
@media (min-width: 481px) {
  .desktop-only {
    display: inline; /* 改行有効化 */
  }

  .indent-text {
    padding-left: 1em;   /* 全体を1em右へ */
    text-indent: -1em;   /* 1行目を戻す → 2行目だけ下げられる */
  }
}
.cp_arrows {
	margin-top: 30px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cp_arrows .cp_arrow {/*矢印を配置するベースの設定*/
  position: absolute;
  width: 60px;
  height: 10px;
  opacity: 0;/*スタートは透明*/
  transform: scale(0.3);/*スタートは30%に縮小*/
  animation: arrow-move07 3s ease-out infinite;
}
.cp_arrows .cp_arrow:first-child {/*1秒ずらしてアニメーション*/
  animation: arrow-move07 3s ease-out 1s infinite;
}
.cp_arrows .cp_arrow:nth-child(2) {/*2秒ずらしてアニメーション*/
  animation: arrow-move07 3s ease-out 2s infinite;
}
.cp_arrows .cp_arrow:before,
.cp_arrows .cp_arrow:after {/*矢印全体の設定*/
  position: absolute;
  content: '';
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  height: 100%;
  background: #000000;
  border-radius: 2px;
}
.cp_arrows .cp_arrow:before {/*矢印左の線の位置と傾斜*/
  left: 1px;
  transform: skewY(30deg);
}
.cp_arrows .cp_arrow:after {/*矢印左の線の位置と傾斜*/
  right: 1px;
  transform: skewY(-30deg);
}
@keyframes arrow-move07 {
   25% { opacity: 0.6;}
   43% { transform: translateY(1em); opacity: 0.8;}
   62% { transform: translateY(2em); opacity: 1;}
  100% { transform: translateY(3em) scale(0.5); opacity: 0;}
}


@media (max-width: 480px) {
	.cp_arrows {
	margin-top: 10px;
}
	.pdf-link{
		margin-top: 80px;
	}
}
