@charset "utf-8";

/*
Theme Name: Daisho Electric
Theme URI: https://daishodenki.com/en/
Description: Daisho Electric
Version: 1.0
Author: Hachisuga
Author URI: https://webtry.net
*/

h1 {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 0;
    font-size: 0.3rem;
}
.wrapper {
    margin: 0 5%;
}
.cormorant-garamond-light {    
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
    font-style: normal;
}
.shippori-mincho-regular {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
}
h2 {
    font-size: 1.7rem;
}
.key-sentence {
    font-size: 2.5rem;
    padding: 2rem 0;
}
.large-text {
    font-size: 1.4rem;
    text-align: right;
    padding: 2rem;
}
.text {
    line-height: 2.2rem;
}

.line {
    width: 0;
    height: 2px;
    background-color: #fff;
    z-index: 9999;
    position: fixed;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    animation: slideLine 1s ease-out none; /* 左から右へのアニメーション */
}
body {
    transition: background-color 2s ease-in-out; /* 背景色を3秒かけて変更 */
}


@keyframes slideLine {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

/* 上下のウィンドウ */
.window-overlay {
    position: fixed;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: #05385a;
    z-index: 5000;
    transition: transform 1.8s ease-in-out;
}

.top-overlay {
    top: 0;
    transform: translateY(0);
}

.bottom-overlay {
    bottom: 0;
    transform: translateY(0);
}

/* ウィンドウが開くアニメーション */
.window-overlay.open {
    transform: translateY(-100%);
}

.bottom-overlay.open {
    transform: translateY(100%);
}

/*ヘッダー*/
#logo img {
    width: 33%;
}
#logo {
    padding: 5px 20px 5px 20px;
}
.header_outer {
    display: flex;
    justify-content: space-between;
}
header {
    position: fixed; /* スクロール時に固定 */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3000;
    height: 80px;
    background-color: #fff;
    transition: all 0.3s ease-in-out; /* スムーズな切り替え */
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2); /* スクロール時の影 */
}

/*メニューバー*/
.menubar-box {
    width: 70%;
}
.main-nav {
    display: flex;
    justify-content: space-around;
    list-style: none;
    flex-wrap: nowrap;
    padding: 20px;
    gap: 1rem;
}
.main-nav li {
    font-size: 2rem;
}
.main-nav li a {
    text-decoration: none;
}
.main-nav li a:hover {
    color: #05385a;
    cursor: pointer;
	transform: scale(1.2);
}
/*トップムービー*/
#top-movie {
    width: 100%;
    height: 80vh;
    overflow: hidden;
    position: relative;
    margin-top: 80px;
}
#top-movie video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 動画の比率を保持しつつ、要素全体を埋める */
}
/*メインナビきらめき*/
  .main-nav li a {
      color: #fff;
      position: relative;
      background-image: linear-gradient(
          70deg,
          rgba(0, 0, 0, 0.8)  45%, 
          #fff 50%,
          rgba(0, 0, 0, 0.8) 55% 
        );
        background-size: 500% 100%;
      background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
      animation: shine 5s infinite;
  }
  
  @keyframes shine {
      0% {
          background-position: 100% 50%;
      }
      100% {
          background-position: 0% 50%;
      }
  }

/*挨拶*/
#greetings {
    padding: 100px 10% 60px;
    background-image: url(images/back_image_2.jpeg);
    background-size: cover;
    margin-top: -5px;
}
.greetings-outer {
    display: flex;
    justify-content: space-around;
}
.greetings_image img {
    width: 100%;
    display: block;
}
.greetings_image {
    display: inline-block;
    padding: 10px; /* 内側の余白（額縁の内側スペース） */
    border: 1px solid #05385a; /* 額縁色 */
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3); /* ややぼかした影で立体感 */
    border-radius: 5px; /* 角を少し丸める */
    background-color: #fff; /* 額縁の内側背景色 */
}
.greetings-text {
    font-size: 1.2rem;
    padding-left: 1rem;
    line-height: 2.7rem;
}

/* 共通のふんわりアニメーション */
.hunwari {
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 2s ease, transform 2s ease;
}

/* 表示時に適用されるクラス */
.hunwari.show {
    opacity: 1;
    transform: translateY(0);
}

/*サービス*/
.big-title img {
    width: 35%;
}
.big-title {
    padding-left: 5%;
    margin-bottom: 40px;
}
.service-box_image img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    transition: transform 0.3s ease; /*ズームインのアニメーション*/
    max-height: 350px;
}
.service-box_image {
    overflow: hidden;
}
.service-box:hover img {
    transform: scale(1.1); /*画像をズームアップ*/
}
.small-title {
    width: 100%;
    height: 3rem;
    line-height: 3rem;
    text-align: center;
    background-color: #05385a;
}
.service-box:hover .small-title {
    background-color: #4b0082;
}
.small-title h3 {
    font-size: 1.4rem;
    color: #fff;
}
.service-box_outer {
    display: flex;
}
.service-box {
    padding: 10px 3%;
}
#service-sec {
    background: linear-gradient(to bottom, transparent 50%, #F0F8FF 50%);
    padding-bottom: 100px;
    margin-bottom: 100px;
    margin-top: 80px;
}
/*ワークス*/
.works-container {
    background: linear-gradient(to bottom, transparent 10%, #F0F8FF 50%);
    padding: 50px 0 150px 0;
    margin-top: -40px;
}
#works-sec h2 {
    text-align: right;
}
#works-sec {
    padding-top: 30px;
}
.works_list {
    background-color: #05385a;
    padding: 0.8em 1.3em;
}
.works_list:hover {
    background-color: #4b0082;
}
.works_list a {
    font-size: 1.5rem;
    text-decoration: none;
    color: #fff;
}
#works_btn {
    display: block;
    margin: 100px auto 10px auto;
}
.works_meta {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
}
.works_categories {
    font-size: 0.8rem;
}
.works_categories li {
    list-style: none;
}
.works_time {
    font-size: 0.8rem;
}
.works_text {
    font-size: 1rem;
}
.works_text a {
    display: block; /* ブロック要素化して中央寄せを有効に */
    text-align: center; /* 中央寄せ */
    color: black; /* 黒文字 */
    text-decoration: none; /* アンダーラインを消す */
    margin-top: 10px; /* 上部に余白を追加（任意） */
    margin-bottom: 50px;
}

.works_text a:hover {
    color: #05385a; /* ホバー時に色を変更（任意） */
}

.works-box_outer {
    display: flex; /* 横並びにする */
    overflow-x: auto; /* 横スクロールを許可 */
    gap: 20px; /* 各アイテムの間隔を設定 */
    padding: 10px; /* スクロール領域に余白を追加 */
    scroll-snap-type: x mandatory; /* スクロールスナップを有効化 */
}

/* スクロールバーのスタイル（オプション） */
.works-box_outer::-webkit-scrollbar {
    height: 8px; /* スクロールバーの高さ */
}
.works-box_outer::-webkit-scrollbar-thumb {
    background-color: rgba(5, 56, 90, 0.3); /* スクロールバーの色 */
    border-radius: 4px; /* スクロールバーの角丸 */
}

/* 横スクロールの各アイテム */
.col-md-6 {
    flex: 0 0 calc(100% / 6 - 20px); /* 6つのアイテムが見える幅（調整可能） */
    scroll-snap-align: start; /* スクロール位置を揃える */
    box-sizing: border-box; /* パディングを幅に含める */
}

.works-box {
    flex: 0 0 calc(100% / 3 - 20px); /* 横幅を調整（1行に3つ見せたい場合） */
    scroll-snap-align: start; /* スクロール位置を揃える */
    box-sizing: border-box; /* パディングを含む計算に変更 */
    padding: 0 10px;
}
.works-box_img img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    display: block;
    object-fit: cover;
}
.works-box_img {
    width: 300px;
    height: auto;
    aspect-ratio: 4/3;
    overflow: hidden;
}
.works_title {
    font-size: 1rem;
    margin-bottom: 0.6rem;
    margin-top: 0.2rem;
    text-align: center;
    white-space: nowrap;
}
.en_title {
    max-width: 300px;
    white-space: wrap;
    font-size: 1rem;
    margin-bottom: 0.6rem;
    margin-top: 0.2rem;
    text-align: center;
}
.works_title a {
    text-decoration: none;
    color: black;
}
.en_title a {
    text-decoration: none;
    color: black;
}
.works_title a:hover {
    color: #05385a;
}
.en_title a:hover {
    color: #05385a;
}


/*カンパニー*/
#company-sec {
    padding-top: 100px;
    position: relative;
    height: 600px;
    margin-bottom: 150px;
}
#company-title {
    position: absolute;
}
#company-pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.2;
    object-position: top;
}
#company-pic {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 600px;
    display: block;
}
#read-more {
    position: absolute;
    bottom: 50px;
    right: 10%;
}
#read-more img {
    width: 15rem;
    animation: slideIn 3s linear infinite; /* 3秒で動くアニメーションを無限ループ */
    position: relative; /* アニメーションのための基準を設定 */
    transition: transform 0.3s ease; /* アニメーションとシャドウのスムーズな変更 */
}
#read-more img:hover {
    transform: scale(1.3); /* 拡大率（1.2倍） */
}
.company-pic_inner-text {
    font-size: 1.6rem;
    position: absolute;
    line-height: 3rem;
    top: 40%;
    left: 35%;
}
.company-pic_inner-text-en {
    font-size: 1.8rem;
    position: absolute;
    line-height: 3rem;
    top: 48%;
    left: 35%;
}
/* 左から右へのアニメーション定義 */
@keyframes slideIn {
    0% {
        left: -10px; /* 初期位置（左端） */
    }
    50% {
        left: 10px; /* 右に移動する位置 */
    }
    100% {
        left: -10px; /* 初期位置に戻る */
    }
}

/*お知らせ*/
#news-sec {
    position: relative;
    margin-bottom: 120px;
}
.news-container {
    display: flex;
    justify-content: center;
    width: 70%;
    margin: 0 auto;
    padding-right: 20%;
}
#news-sec h2 img {
    width: 100%;
}
.news_title {
    font-size: 1.5rem;
    padding-top: 1.7rem;
    padding-bottom: 0.5rem;
}
.news_desc p {
    font-size: 1.1rem
}
.news_desc {
    padding-bottom: 1.7rem;
}
.news li {
    list-style: none;
}
.news {
    margin-bottom: 0.8em;
}
.news-line {
    border: solid 0.6px #05385a;
    width: 130%;
    opacity: 0.3;
}

/*フッター*/
footer {
    background: linear-gradient(to top, #F0F8FF, #B0C4DE);
    padding-bottom: 100px;
    padding-top: 50px;
}
#footermenu {
    padding: 5rem 25%;
}
#footermenu ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: nowrap;
}
#footermenu ul li {
    list-style: none;
}
#footermenu ul a {
    font-size: 1.3rem;
    text-decoration: none;
    color: black;
}
#footermenu ul a:hover {
    color: #05385a;
}
#footer-logo img {
    width: 20%;
    display: block;
    margin: 0 auto;
}
#footer-logo {
    padding-bottom: 3rem;
}
#copyright {
    text-align: center;
    padding-bottom: 20px;
}
#copyright p {
    font-size: 1rem;
}

/*Company個別ページ*/
#company {
    position: relative;
    padding-top: 200px;
    padding-bottom: 150px;
}
.bigest-title img {
    width: 30%;
}
.bigest-title {
    padding-left: 10%;
    padding-top: 100px;
}
#company-pic_2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 18%;
}
#company-pic_2 {
    height: 400px;
    display: block;
    margin: 100px 0;
}
.motto {
    font-size: 2rem;
    padding: 100px 25%;
    margin-bottom: 100px;
    z-index: 100;
    position: relative;
}
.greetings_all-outer {
    padding: 10px 10% 70px 10%;
}
.greetings_all h2 {
    text-align: center;
    padding-top: 80px;
    padding-bottom: 3rem;
}
.greetings_all {
    background-image: url(images/back_image_2.jpeg);
    background-size: cover;
}
.greetings_all_text {
    padding-left: 20px;
    font-size: 1.1rem;
    line-height: 2rem;
    width: 80%;
    display: block;
    margin: 0 auto;
}
.company-profile h2 {
    text-align: center;
    padding-top: 120px;
    padding-bottom: 3rem;
}
.company-profile_desc table {
    width: 60%;
    border-collapse: collapse;
    margin: 0 auto;
}
.company-profile_desc table tr {
    line-height: 2.5rem;
}
.company-profile_desc table th {
    font-size: 1.1rem;
    width: 30%;
    padding: 2rem 4rem;
    text-align: left;
}
.company-profile_desc table td {
    font-size: 1.1rem;
    padding: 2rem 3rem;
    width: 70%;
}
.company-profile_desc table tr:nth-child(odd) {
    background-color: #F0F8FF; /* 奇数＝背景色 */
}

.company-profile_desc table tr:nth-child(even) {
    background-color: transparent; /* 偶数＝背景色を透明またはなしに */
}
.company-profile {
    margin: 100px 0;
}
.access {
    display: block;
    text-align: center;
    margin-top: 100px;
}
.access h2 {
    padding-bottom: 2rem;
}
.address {
    text-align: center;
    font-size: 1.1rem;
    padding-top: 2rem;
    margin-bottom: 150px;
    margin: 0 auto;
}
.address p {
    text-align: left;
    display: inline-block;
}
.language {
    position: absolute;
    top: 400px;
    right: 200px;
    font-size: 1.6rem;
    background-color: #05385a;
    padding: 0.3em 0.7em;
    color: #fff;
}
.language:hover {
    background-color: #4b0082;
}
.language-top {
    position: absolute;
    top: 160px;
    right: 100px;
    font-size: 1.6rem;
    background-color: #05385a;
    padding: 0.3em 0.7em;
    color: #fff;
}
.language-top:hover {
    background-color: #4b0082;
}
/*Service個別ページ*/
#service {
    position: relative;
    padding-top: 200px;
    padding-bottom: 50px;
}
.circle {
    display: block;
    z-index: 5;
    width: 30%;
    position: absolute;
    right: 100px;
    top: 200px;
}
.circle img {
    width: 100%;
    opacity: 0.15;
    animation: rotateCircle 10s linear infinite; /* 回転アニメーションを適用 */
}
.circle-2 {
    display: block;
    z-index: 5;
    position: absolute;
    right: 100px;
    top: 300px;
    width: 40%;
}
.circle-2 img {
    width: 100%;
    opacity: 0.1;
    animation: rotateCircle 10s linear infinite; /* 回転アニメーションを適用 */
}
/* 回転アニメーション */
@keyframes rotateCircle {
    0% {
        transform: rotate(0deg); /* 初期位置 */
    }
    100% {
        transform: rotate(360deg); /* 一回転 */
    }
}
.service-page_container {
    margin-bottom: 250px;
    margin-top: 200px;
    position: relative;
    height: 650px;
}
.service-page_heading h2 {
    padding-bottom: 1rem;
}
.service-page_heading span {
    font-size: 1.2rem;
}
.service-page_heading {
    text-align: center;
}
.service-page_image img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease; /*ズームインのアニメーション*/
}
.service-page_image {
    position: relative;
    z-index: 1000;
    overflow: hidden;
}
.service-page_box:hover img {
    transform: scale(1.1);
}
.service-page_text {
    font-size: 1.7rem;
    line-height: 3.3rem;
    position: relative;
    z-index: 1000;
    max-width: 50%;
}
.service-page_text p {
    padding: 10%;
}
.service-page_box {
    display: flex;
    margin: 100px 0 100px 100px;
    justify-content: space-between;
    position: relative;
}
.service-page_backimage {
    position: absolute;
    top: 10rem;
    right: 20px;
    height: 28vw;
    width: 60%;
    z-index: 3;
    background-image: url(images/back_image_2.jpeg);
    background-size: cover;
}
.service_btn_outer {
    background-color: #05385a;
    padding: 0.3em 0.9em;
    margin-top: 2rem;
}
.service_btn_outer:hover {
    background-color: #4b0082;
}
.service_btn_outer a {
    font-size: 1.5rem;
    text-decoration: none;
    color: #fff;
}
#service_btn {
    z-index: 1000;
    display: block;
    margin: 0 auto;
}
.service-page_backimage_left {
    position: absolute;
    top: 10rem;
    left: 20px;
    height: 28vw;
    width: 60%;
    z-index: 3;
    background-image: url(images/back_image_2.jpeg);
    background-size: cover;
}
/*H2タイトルのラインアニメーション*/
@keyframes slideRightToLeft {
    from {
        transform: translateX(100%); /* 初期位置は画面外右 */
        width: 0;
    }
    to {
        transform: translateX(0); /* 終了位置は現在の位置 */
        width: 60%; /* 最終幅を設定 */
    }
}
.line-right {
    height: 2px;
    background-color: #05385a;
    margin-bottom: 0.5rem;
    margin-left: auto; /* 初期配置 */
    width: 0; /* 初期幅を0に */
    transition: width 1s ease-in-out; /* 幅のアニメーション */
    animation: none; /* デフォルトではアニメーションを無効化 */
    transform: translateX(100%); /* 初期位置を画面外右に */
}
.line-right.active {
    animation: slideRightToLeft 1s ease-in-out forwards; /* アニメーションを適用 */
}
.line-left {
    width: 0; /* 初期状態は幅0 */
    height: 2px;
    background-color: #05385a;
    margin-bottom: 0.5rem;
    margin-right: auto; /* 自動で左寄せ */
    transition: width 1s ease-in-out; /* 幅をスムーズにアニメーション */
}

.line-left.active {
    width: 60%; /* アニメーション終了時の幅 */
    margin-right: 40%; /* アニメーション終了位置 */
}
/*Works個別ページ*/
#works {
    position: relative;
    padding-top: 200px;
    padding-bottom: 250px;
}
.works-page_image img {
    width: 40%;
    display: block;
    margin: 0 auto;
}
.works-page_image {
    margin-top: 100px;
}
.works-page_meta_outer {
    width: 40%;
    margin: 0 auto;
}
.works-page_meta {
    display: flex;
    justify-content: space-between;
    padding: 1.5rem 0;
}
.works-page_title {
    font-size: 1.7rem;
    padding-top: 0.8rem;
}
.works-page_day {
    font-size: 0.8rem;
}
.works-page_text {
    font-size: 1.2rem;
    max-width: 80%;
}
.works-page {
    margin-bottom: 100px;
}
.works-page_container {
    margin-top: 250px;
    position: relative;
}
/*Works施工事例一覧表*/
.works-list_desc {
    width: 40%;
    margin: 0 auto;
}
.works-list table {
    border-collapse: collapse;
}
.works-list_desc th {
    padding: 8px 10px;
    background-color: #F0F8FF;
    border: solid 1px #B0C4DE;
    font-size: 0.8rem;
}
.works-list_desc td {
    padding: 8px 10px;
    border: solid 1px #B0C4DE;
    font-size: 0.8rem;
}
.show-more_outer {
    padding-top: 2rem;
}
.note-text {
    width: 40%;
    font-size: 0.8rem;
    margin: 0 auto;
}
.note-text p {
    text-align: right;
    padding-bottom: 0.4rem;
}
/* 非表示にするスタイル */
.works-list_desc tr.hidden {
    display: none; /* 非表示 */
}

/* ボタンのスタイル */
.show-more {
    margin: 20px auto;
    display: block;
    padding: 10px 20px;
    background-color: #05385a;
    color: #fff;
    border: none;
    font-size: 1rem;
    cursor: pointer;
}

.show-more:hover {
    background-color: #4b0082;
}
/*Policy*/
.policy_outer {
    margin-top: 180px;
    margin-bottom: 200px;
}
.policy {
    margin: 100px 15%;
}
.policy_text {
    padding-top: 1rem;
    line-height: 2.2rem;
    font-size: 1.2rem;
}
.policy h3 {
    font-size: 1.5rem;
    text-align: center;
}
.policy-page_container {
    margin-bottom: 250px;
    margin-top: 200px;
    position: relative;
}

/*レスポンシブ-PC*/
@media (min-width: 768px) {
    .sp {
        display: none !important;
    }
}
/*レスポンシブ-モバイル*/
@media (max-width: 767px) {
    .pc {
        display: none !important;
    }
    #logo img {
        width: 200px;
    }
/*メニューボタン・パネル*/
.btn-menu img {
    width: 50px;
}
.btn-menu {
    position: fixed;
    right: 1rem;
    top: 1rem;
    z-index: 8000;
}
#menu-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9000;
    padding: 2rem;
    width: max(32vw, 20rem);
    height: 92vh;
    background: linear-gradient(to top, #B0C4DE, #F0F8FF );
    box-shadow: 0 0 2rem black;
    translate: 100vw;
}
.menu-list {
    list-style: none;
    margin-top: 5rem;
}
.menu-list li {
    margin: 1rem 0.5rem;
}
.menu-list li a {
    color: #05385a;
    text-decoration: none;
    font-size: 1.7rem;
    font-weight: bolder;
    line-height: 3rem;
}
/*トップムービー*/
#top-movie {
    height: 130vw;
}
#top-movie video {
    height: 110%;
}
.language-top {
    font-size: 0.9rem;
    top: 130vw;
    right: 70vw;
}

/*挨拶*/
#greetings {
    padding: 10px;
}
.greetings-outer {
    display: block;
}
.greetings_desc {
    margin-top: 60px;
    padding-bottom: 2rem;
}
h2 {
    font-size: 1.2rem;
}
.key-sentence {
    font-size: 1.7rem;
    padding: 1rem;
    text-align: center;
}
.text {
    line-height: 1.5rem;
    font-size: 0.9rem;
}
.large-text {
    font-size: 1.2rem;
    padding: 1.5rem;
}
.greetings-text {
    font-size: 1.1rem;
    line-height: 2.2rem;
}
/*サービス*/
.big-title img {
    width: 70%;
}
#service-sec {
    margin-top: 80px;
    margin-bottom: 50px;
    padding-bottom: 50px;
}
.service-box_outer {
    display: block;
}
.big-title {
    margin-bottom: 10px;
}
.service-box {
    padding: 20px;
}
.small-title h3 {
    font-size: 1.2rem;
}
/*ワークス*/
#works-sec {
    padding-top: 30px;
}
.works-container {
    margin-top: 0;
    padding: 30px 0 80px 0;
}
.works-box_outer {
    display: block;
}
.works_list a {
    font-size: 1.2rem;
}
.works-box_img {
    display: block;
    margin: 0 auto;
}
.works_meta {
    width: 300px;
    margin: 0 auto;
}
.col-md-6 {
    padding-bottom: 50px;
}
.works_title {
    margin-top: 0;
}
#works_btn {
    margin-top: 10px;
    margin-bottom: 30px;
}
/*カンパニー*/
#company-sec {
    padding-top: 50px;
    height: 300px;
    margin-bottom: 50px;
}
#company-pic img {
    height: 70vw;
}
#read-more {
    top: 200px;
    right: 20px;
}
#read-more img {
    width: 9rem;
}
#company-pic {
    top: 0px;
}
/*お知らせ*/
.news-container {
    display: block;
    width: 100%;
    padding-right: 0;
}
#news_title_image {
    width: 30%;
    margin: 0 auto;
    padding-bottom: 1rem;
}
.news_title {
    font-size: 1.2rem;
}
.news_desc p {
    font-size: 0.9rem;
}
#news-sec {
    margin-top: 50px;
    margin-bottom: 110px;
}
.news-line {
    width: 100%;
}
/*フッター*/
#footermenu {
    padding: 1rem 2%;
}
#footermenu ul a {
    font-size: 0.9rem;
}
#footer-logo img {
    width: 40%;
}
#copyright p {
    font-size: 0.8rem;
    white-space: nowrap;
}
footer {
    padding-bottom: 40px;
}
#footer-logo {
    padding-bottom: 2rem;
}
/*Service個別ページ*/

.circle {
    width: 50%;
    right: 13%;
}
#service {
    padding-top: 50px;
}
.bigest-title img {
    width: 70%;
}
.motto {
    font-size: 1.2rem;
    padding: 80px 10%;
    margin-bottom: 0;
}
.service-page_container {
    margin-top: 50px;
    margin-bottom: 100px;
    height: auto;
}
.service-page_box {
    display: block;
    margin: 0;
}
.service-page_text {
    max-width: 100%;
    font-size: 1rem;
    line-height: 1.8rem;
}
.service-page_heading {
    padding-bottom: 2rem;
}
.service-page_heading h2 {
    padding-bottom: 0.5rem;
}
.line-right {
    margin-bottom: 0;
    height: 1px;
}
.service_btn_outer a {
    font-size: 1.2rem;
}
.line-left {
    margin-bottom: 0;
    height: 1px;
}
.service_btn_outer {
    padding: 0.8em 1.3em;
}
/*Works個別ページ*/
.circle-2 {
    width: 60%;
    top: 400px;
    right: 14%;
}
#works {
    padding-top: 50px;
    padding-bottom: 0;
}
.works-page_container {
    height: 800px;
    margin-top: 50px;
    margin-bottom: 220px;
}
.works-page {
    margin-bottom: 50px;
}
.works-page_image img {
    width: 90%;
}
.works-page_image {
    margin-top: 30px;
}
.works-page_meta_outer {
    width: 90%;
}
.works-list_desc {
    width: 90%;
}
.works-list {
    position: relative;
    margin-bottom: 120px;
}
.works-page_title {
    font-size: 1.2rem;
}
.works-page_text {
    font-size: 0.9rem;
}
.works-list_desc th {
    white-space: nowrap;
}
.note-text {
    width: 100%;
    padding: 0 1rem;
    font-size: 0.7rem;
}
.note-text p {
    white-space: nowrap;
}
/*Company個別ページ*/
#company {
    padding-top: 50px;
    padding-bottom: 50px;
}
#company-pic_2 {
    height: 300px;
    margin-bottom: 0;
}
.language {
    font-size: 0.9rem;
    top: 600px;
    right: 70vw;
}
.greetings_all-outer {
    padding: 5%;
}
.greetings_all_text {
    font-size: 0.9rem;
    line-height: 1.7rem;
    width: 100%;
    padding-left: 0;
}
.greetings_all h2 {
    padding-top: 70px;
    padding-bottom: 1rem;
    font-size: 1.3rem;
}
.company-profile {
    margin: 50px 0;
}
.company-profile h2 {
    padding-top: 50px;
    padding-bottom: 2rem;
}
.company-profile_desc table {
    width: 90%;
}
.company-profile_desc table tr {
    line-height: 1.5rem;
}
.company-profile_desc table th {
    font-size: 0.9rem;
    padding: 0.8rem 0 0.8rem 1.2rem;
    white-space: nowrap;
}
.company-profile_desc table td {
    font-size: 0.9rem;
    padding: 0.8rem 1.2rem 0.8rem 1.2rem;
}
.access {
    margin-top: 50px;
}
.access iframe {
    width: 330px;
    height: 330px;
}
.address {
    font-size: 0.9rem;
    margin: 0 auto;
    width: 90%;
}
/*Policy*/
.policy-page_container {
    margin-top: 130px;
    margin-bottom: 150px;
}
.policy_outer {
    margin-top: 20px;
}
.policy h3 {
    font-size: 1.2rem;
}
.policy_text {
    font-size: 0.8rem;
    line-height: 1.5rem;
}
.policy {
    margin: 80px 5%;
}
}