@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.sp{
   display: block;
}

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

.c-gnav>.menu-item-76>a .ttl {
    display: block;
    font-size: 14px;
    background: #103c80;
    padding: 10px;
    color: #fff;
}

.p-mainVisual__slideTitle {
        font-size: 6.0vw;
        font-weight: 800;
        font-family: 'Kosugi', sans-serif;
        text-shadow:  0 2px 4px rgba(0,0,0,.8),
                      0 8px 16px rgba(0,0,0,.6);
        display: inline-block;
        opacity: 0;
        animation: slideInLeft 2.0s ease-out 0.5s forwards;
}
.p-mainVisual__slideTitle .small{
        font-size: 3.8vw;
}
.p-mainVisual__slideText {
    font-size: 2.8vw;
    margin-top: 0.5em;
    display: inline-block;
    opacity: 0;
    animation:  slideInRight 1.5s ease-out 2.5s forwards;
}

/* 左右登場 */
@keyframes slideInLeft {
  from { transform: translateX(30px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

@keyframes slideInRight {
  from { transform: translateX(-30px); opacity: 0; }
  to   { transform: translateX(0); opacity: 1; }
}

@media (min-width: 600px) {
    .p-mainVisual__slideTitle {
        font-size: 52px;
        text-shadow:  0 2px 4px rgba(0,0,0,.8),
                      0 8px 16px rgba(0,0,0,.6);
    }
    .p-mainVisual__slideTitle .small{
        font-size: 30px;
     }
    .p-mainVisual__slideText {
        font-size: 20px;
        font-family: 'Kosugi', sans-serif;
        text-shadow:  0 2px 4px rgba(0,0,0,.9),
                      0 8px 16px rgba(0,0,0,.7);
        line-height: 2.0; 

    }
 }
 .mincho{
   font-family:"Yu Mincho";
 }
 .u-mb-ctrl u-mb-5{
   line-height: 1.4;
 }

.l-footer__nav ul.sub-menu a {
        font-size:2.5vw!important;
        padding-left: 12px;
        display: flex;
        align-items: center;
    }
   
   .l-footer__nav ul.sub-menu a::before {
     content: "▶";
     font-size: 5px;
     left: 0;
     top: 0;
     margin-right: 3px;
    }

@media (min-width: 600px) {
  .l-footer__nav ul.sub-menu a {
        font-size:10px!important;
        padding-left: 12px;
        display: flex;
        align-items: center;
    }
   
   .l-footer__nav ul.sub-menu a::before {
     content: "▶";
     font-size: 5px;
     left: 0;
     top: 0;
     margin-right: 3px;
    }
  .l-footer__nav a,
   .l-footer__nav li:first-child a {
    border: none;
  }  
}

.l-footer__nav {
   justify-content: left;
   display: grid;

}

@media (min-width: 600px) { 
  .l-footer__nav {
     justify-content: center;
     display: flex;
  }
}

/* サービス案内のリンクを無効化する */
.service_list a {
    pointer-events: none; /* クリックを反応させない */
    cursor: default;      /* カーソルを矢印のままにする */
    text-decoration: none; /* 下線などが出るのを防ぐ */
}

/* Contact Form 7 */

/* テキストを太字 */
.wpcf7-form label {
font-weight: bold;
}
/* フォームの下に余白 */
.wpcf7-form p {
margin-bottom: 30px;
}
/* フォームのカスタマイズ */
.wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea {
width: 100%;
background-color: #fff;
margin-top: 5px;
}
@media (min-width: 600px) {
	.wpcf7-text, .wpcf7-email, .wpcf7-tel, .wpcf7-textarea {
	width: 70%;
	background-color: #fff;
	margin-top: 5px;
	}
}
/* ラジオボタンの左の余白 */
.wpcf7-radio span {
margin-left: 0;
}
/* ボタンのカスタマイズ */
.wpcf7-submit, .wpcf7-previous {
display: inline-block;
width: 240px;
padding: 1.2em 1em;
border-radius: 50px;
background: #D53633;/* ここにメインカラー */
font-size: 16px;
font-weight: 700;
letter-spacing: 0.2em;
line-height: 1;
color: #fff!important;
}
/* 必須マーク */
.required {
color: #fff;
background: #D53633;/* ここにメインカラー */
font-size: 0.8em;
padding: 0.3em;
border-radius: 0.5em;
}

/* 文字の調整 */
p.line-height18: {
  line-height: 1.8!important;
}

h3.p-postList__title{
    font-size: 4.2vw!important;
  }
  .p-postList__excerpt{
    font-size: 3.5vw!important;
    line-height: 1.6!important;
  }

@media (min-width: 600px){
  h3.p-postList__title{
    font-size: 18px!important;
  }
  .p-postList__excerpt{
    font-size: 15px!important;
    line-height: 1.6!important;
  }
}

/* 全体のグリッド設定 */
.pisa-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px 40px;
    
    /* 全体の最大幅を900pxに設定 */
    max-width: 800px; 
    margin: 0 auto 3em;
}

/* 各アイテム（記事ごとの幅を制限） */
.pisa-item {
    width: 100%;
    /* ここで個別の記事（画像）が大きくなりすぎないよう制限 */
    max-width: 350px; 
    /* 左右中央に寄せる（グリッド内の配置） */
    margin: 0 auto; 
}

/* 画像エリア：比率を維持して表示 */
.pisa-img-wrap {
    width: 100%;
    /* 420:500の比率を維持 */
    aspect-ratio: 420 / 500;
    margin-bottom: 15px;
    overflow: hidden;
    background: #f8f8f8;
}

.pisa-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 情報エリア：画像と同じ幅になる */
.pisa-info {
    width: 100%;
}

.pisa-row {
    display: flex;
    align-items: flex-start;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    font-size: 15px;
}

.pisa-label {
    flex: 0 0 70px;
    color: #888;
    font-size: 12px;
}

.pisa-value {
    flex: 1;
    color: #333;
    font-weight: bold;
    padding-left: 10px;
}

/* スマホ表示 */
@media (max-width: 767px) {
    .pisa-grid {
        max-width: 100%;
    }
    .pisa-item {
        max-width: 100%; /* スマホでは画面幅に合わせる */
    }
    .pisa-label {
      flex: 0 0 40px;
    }
    .pisa-value {
      font-size: 14px;
    }
}

/* 青いボックス */
.swell-block-column.blue-box{
  border: 1px solid #103c80;
  background: #f7f7f7;
  padding: 20px 2rem;
}
@media (max-width: 767px) {
  .swell-block-column.blue-box{
    padding: 20px 0.5rem!important;
  }
}
/* ページャー全体のスタイル */
.scf-pagination {
    text-align: center;
    margin-top: 40px;
    padding-bottom: 50px;
}

/* 数字とボタンの装飾 */
.scf-pagination .page-numbers {
    display: inline-block;
    padding: 8px 16px;
    margin: 0 4px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
    border-radius: 2px;
    transition: background 0.3s;
}

/* 現在のページ */
.scf-pagination .page-numbers.current {
    background: #333; /* SWELLのメインカラーなどに合わせて変更してください */
    color: #fff;
    border-color: #333;
}

/* ホバー時 */
.scf-pagination .page-numbers:hover:not(.current) {
    background: #f0f0f0;
}

/* スマホでの調整 */
@media (max-width: 767px) {
    .scf-pagination .page-numbers {
        padding: 6px 12px;
        font-size: 14px;
    }
}

/* 会社案内の企業理念 */
.q-company02 .eng {
	padding-right: 20px;
	margin-top: 120px;
	text-align: right;
}

.q-company02 .bg01 {
	background: url(https://www.pisa.co.jp/wp/wp-content/themes/swell_child/img/company/bg_philosophy_pc.png) center bottom no-repeat;
	min-height: 1000px;
	position: relative;
}

.q-company02 .text01 {
	font-size: 16px;
	line-height: 2.18;
	margin-bottom: 30px;
}

.q-company02 .philosophy {
	color: #fff;
	width: 833px;
	height: 797px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 168px;
	margin: 0 auto;
}

.q-company02 .philosophy .desc {
	position: absolute;
	font-size: 18px;
}

.q-company02 .philosophy .logo img {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0!important;
	margin: auto;
}

.q-company02 .philosophy .philosophy_list {
	position: absolute;
	width: 350px;
}

.q-company02 .philosophy .philosophy_list li {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: table;
	width: 100%;
	border: 1px solid;
}

.q-company02 .philosophy .philosophy_list li + li {
	margin-top: 5px;
}

.q-company02 .philosophy .philosophy_list .cell {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}

.q-company02 .philosophy .philosophy_list .cell._eng {
	padding: 13px 20px;
	width: 280px;
	border-right: 1px solid;
}

.q-company02 .philosophy .philosophy_list .cell._japan {
	font-size: 21px;
	font-weight: bold;
	text-align: center;
}

.q-company02 .philosophy .child01 .philosophy_list {
	top: 10px;
	left: 10px;
}

.q-company02 .philosophy .child01 .desc {
	top: 332px;
	left: 10px;
}

.q-company02 .philosophy .child02 .philosophy_list {
	bottom: 10px;
	right: 10px;
}

.q-company02 .philosophy .child02 .desc {
	bottom: 330px;
	right: 10px;
}
body .post_content div>:first-child,
body .post_content>:first-child {
    margin-top: auto!important;
}

@media (max-width: 767px) {

  .q-company02 .bg01 {
  	min-height: 700px;
	background: url(https://www.pisa.co.jp/wp/wp-content/themes/swell_child/img/company/bg_philosophy_pc.png) center -245px no-repeat;
  	background-size: cover;
  	margin-bottom: -500px;
  }

  .q-company02 .philosophy {
  	width: 100%;
  	height: 380px;
  	top: 0;
  	bottom:315px;
  }

  .q-company02 .philosophy .desc {
  	font-size: 12px;
  }

  .q-company02 .philosophy .logo img {
  	width: 20%;
  }

  .q-company02 .philosophy .philosophy_list {
  	width: 40%;
  }

  .q-company02 .philosophy .philosophy_list li {
  	line-height: 1.0!important;
  }

  .q-company02 .philosophy .philosophy_list .cell._eng {
  	padding: 2px 5px;
  	width: 70%;
  }

  .q-company02 .philosophy .philosophy_list .cell._japan {
  	font-size: 12px;
  }

  .q-company02 .philosophy .child01 .philosophy_list {
  	top: 10px;
  	left: 0;
  }

  .q-company02 .philosophy .child01 .desc {
  	top: 125px;
  	left: 10px;
  }

  .q-company02 .philosophy .child02 .philosophy_list {
  	bottom: 30px;
  	right: 10px;
  }

  .q-company02 .philosophy .child02 .desc {
  	bottom: 10px;
  	right: 10px;
  }

  body .post_content #company-philosophy{
      margin-bottom: -300px;
   }
}
.cap_box_ttl{
  text-align: left;
}
@media (max-width: 767px) {
  .cap_box_ttl .swl-fz{
    font-size: 24px!important;
  }
}

.graph_box{
  position: relative;
}
.region-box{
  position: absolute;
  width: 100px;
  height: 50px;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2列 */
  gap: 0;
}

.city {
  grid-column: 1 / 3; /* 1列目から3列目まで使う（=2列分） */
}
.tokyo{
  top: 0;
  left: 50%;
  right: 50%;
}
.saitama{
  width: 60px;
  top: 37%;
  left: 24%;
}
.chiba{
  width: 60px;
  top: 55%;
  right: 22%;
}
.kanagawa{
  width: 60px;
  bottom: 21%;
  left: 24%;
}
.other{
  width: 120px;
  height: 30px;
  bottom: 2%;
  left: 20%;
  display: flex;
  aling-items: center;
}
.city{
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.0!important;
}
.number{
  font-size: 2.5em;
  font-weight: bold;
  display: flex; 
  align-items: flex-end;
  line-height: 1.0!important;
}
.unit{
  font-size: 1.2em;
  font-weight: bold;
  display: flex; 
  align-items: flex-end;
  line-height: 1.4!important;
}
.other .city,
.other .number,
.other .unit{
  font-size: 1.1em;
  font-weight: normal;
  align-items: flex-center;
  line-height: 1.0!important;
}
@media (max-width: 767px) {
   .saitama{
     top: 26%;
     left: 18%;
   }
   .chiba{
     top: 45%;
     right: 12%;
   }
   .kanagawa{
     bottom: 17%;
     left: 18%;
   }
   .other{
    left: 20%;
    bottom: -1%;
  }
  .city{
    font-size: 0.9em;
    line-height: 0.9!important;
  }
  .number{
    font-size: 1.5em;
    line-height: 0.5!important;
  }
  .unit{
    font-size: 0.9em;
    line-height: 0.5!important;
  }
   .other .city,
   .other .number,
   .other .unit{
     font-size: 0.9em;
   }
}
