 /* PC、スマホ共通スタイル */
 body {
   font-family: "Source Sans Pro", "Hiragino Kaku Gothic ProN", Meiryo, Arial, sans-serif;
 }

 p {
   font-size: 15px;
 }

 /*================
   PC用のスタイル 
  =================*/
 @media screen and (min-width: 768px) {

   /* 横幅の指定 */
   body {
     max-width: 1080px;
     min-width: 960px;
     margin: 0 auto 0 auto;
   }

   /* ヘッダー */
   header {
     display: flex;
     justify-content: space-between;
   }

   /* ナビゲーションのレイアウト */
   #nav-pc {
     text-align: right;
     font-size: 14px;
     padding-top: 15px;
   }

   /* ナビゲーションのリンクの装飾設定 */
   #nav-pc>a {
     text-decoration: none;
     margin-left: 20px;
   }

   #nav-pc>a:link {
     color: #0d0d0d;
   }

   #nav-pc>a:visited {
     color: #0d0d0d;
   }

   #nav-pc>a:hover {
     color: #0d0d0d;
     text-decoration: underline;
   }

   #nav-pc>a:active {
     color: #0d0d0d;
   }

   /* スマホ用ナビを非表示 */
   #nav-sp,
   #menu-sp {
     display: none;
   }

   /* メインビジュアル */
   #main-visual {
     position: relative;
     height: 400px;
   }

   #main-message {
     position: absolute;
     top: 0;
     left: 0;
     background-color: #2710d5;
     color: #ffffff;
     border-radius: 0 0 476px 0;
     max-width: 620px;
     height: 100%;
     width: 100%;
     z-index: 11;
   }

   #main-message>h1 {
     font-size: 60px;
     font-weight: bold;
     margin: 100px 0 0 50px;
   }

   #main-message>p {
     font-size: 28px;
     margin: 0 0 0 50px;
   }

   #main-visual>img {
     max-width: 620px;
     border-radius: 476px 0 0 0;
     position: absolute;
     top: 0;
     right: 0;
     z-index: 10;
   }

   /* 見出し */
   h2 {
     margin: 40px 0 0 0;
   }

   h2::after {
     content: url("images/line.png");
     margin-left: 10px;
   }

   h3 {
     font-size: 27px;
   }

   /* ミッション */
   #mission {
     margin: 80px auto 80px auto;
     width: 100%;
   }

   #mission-flex {
     width: 100%;
     display: flex;
   }

   #mission-flex>div {
     width: 50%;
     margin: 20px;
   }

   #mission-photo {
     width: 100%;
   }

   #s2dgs {
     margin-top: 50px;
     width: 100%;
   }

   /* プロダクト */
   #product {
     background-color: #fafafa;
     width: 100%;
     margin: 80px 0 80px 0;
     padding: 10px 40px 0 40px;
   }

   /* 外枠 */
   #product>div {
     margin-top: 40px;
     display: flex;
   }

   /* 左のカラム */
   #product-left {
     width: 50%;
     margin-right: 20px;
   }

   /* 右のカラム */
   #product-right {
     width: 50%;
     margin-left: 20px;
     margin-top: 80px;
   }

   /* 画像+説明の枠 */
   #product-left>div {
     position: relative;
     height: 480px;
     margin-right: 20px;
   }

   #product-right>div {
     position: relative;
     height: 480px;
     margin-left: 20px;
   }

   /* 画像 */
   .product-photo {
     width: 100%;
   }

   /* 説明文の枠 */
   .product-explain {
     background-color: #ffffff;
     position: absolute;
     left: 0;
     top: 280px;
     margin: 0 40px 0 40px;
     padding: 20px;
     box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);
   }

   /* 説明文の英語 */
   .product-explain>span {
     color: #2710d5;
     font-weight: bold;
     font-size: 16px;
     margin: 0;
   }

   /* 説明文の見出し */
   .product-explain>h3 {
     font-size: 20px;
     margin: 5px 0 5px 0;
   }

   /* 説明文 */
   .product-explain>p {
     font-size: 14px;
     margin: 0;
   }

   /* 「もっとみる」ボタン */
   #prodact-more {
     margin: 0 auto -42px auto;
   }

   /* ABOUT US */
   #aboutus {
     margin: 80px auto 80px auto;
   }

   /* 3つの組織文化と画像を入れる枠 */
   #aboutus>div {
     display: flex;
   }

   /* 画像 */
   .culture-img {
     width: 100%;
     align-self: flex-start;
   }

   .culture-img2 {
     margin-top: 50px;
     width: 100%;
   }

   /* 3つの組織文化の表 */
   .culture-table {
     max-width: 500PX;
     margin-right: 50px;
   }

   /* 番号 */
   .culture-num {
     font-size: 80px;
     color: #2710d5;
     margin: 0 20px 0 0;
   }

   /* 組織文化英語 */
   .culture-en {
     color: #2710d5;
     font-weight: bold;
     font-size: 24px;
     display: block;
   }

   /* 組織文化日本語 */
   .culture-ja {
     font-size: 28px;
     font-weight: bold;
   }

   /* 説明文 */
   .culture-description {
     margin: 0;
   }

   /* ビジョン */
   #vision {
     margin: 80px auto 80px auto;
   }

   /* セクション内の外枠 */
   #vision>div {
     width: 100%;
     display: flex;
     justify-content: space-between;
     flex-wrap: wrap;
   }

   /* 7つの行動指針 */
   .vision-box {
     width: 300px;
     height: 300px;
     margin-bottom: 30px;
     position: relative;
   }

   .vision-box>img {
     width: 100%;
     height: auto;
     position: absolute;
     top: 0;
     left: 0;
     z-index: 30;
   }

   .vision-box>span {
     position: absolute;
     top: 0;
     left: 0;
     z-index: 31;
     margin-right: 20px;
   }

   .vision-box>span>h4 {
     color: #2710d5;
     font-size: 19px;
     margin: 80px 0 0 0;
   }

   .vision-box>span>h4::first-letter {
     font-size: 40px;
   }

   .vision-box>span>h5 {
     font-size: 20px;
     margin: 0 0 0 0;
   }

   .vision-box>span>p {
     margin: 10px 0 0 0;
   }

   /* 会社概要 */
   #company {
     margin: 80px auto 80px auto;
   }

   #company-table {
     width: 100%;
   }

   .tableheader {
     text-align: left;
     padding: 20px;
     border-bottom-color: #2710d5;
     border-bottom-width: 1px;
     border-bottom-style: solid;
     width: 100px;
   }

   .tableheader-first {
     text-align: left;
     padding: 20px;
     border-bottom-color: #2710d5;
     border-bottom-width: 1px;
     border-bottom-style: solid;
     border-top-color: #2710d5;
     border-top-width: 1px;
     border-top-style: solid;
     width: 100px;
   }

   .cell {
     padding: 30px;
     border-bottom-color: #ececec;
     border-bottom-width: 1px;
     border-bottom-style: solid;
   }

   .cell-first {
     padding: 30px;
     border-bottom-color: #ececec;
     border-bottom-width: 1px;
     border-bottom-style: solid;
     border-top-color: #ececec;
     border-top-width: 1px;
     border-top-style: solid;
   }

   #company>iframe {
     width: 100%;
     height: 368px;
     margin-top: 40px;
   }

   /* お問い合わせ */
   #contact {
     margin: 80px auto 80px auto;
   }

   /* 外枠 */
   #contact>form>div {
     display: flex;
     flex-direction: row;
     flex-wrap: wrap;
     padding-bottom: 30px;
   }

   /* 左列の見出し */
   .contact-heading {
     width: 240px;
     align-self: center;
   }

   /* 見出しのラベル */
   .contact-label {
     font-weight: bold;
   }

   /* 必須 */
   .contact-span {
     color: #ce2222;
     margin-left: 20px;
     font-weight: bold;
   }

   /* テキストボックス */
   .contact-textbox {
     border-top: 0;
     border-left: 0;
     border-right: 0;
     border-bottom-width: 1px;
     border-bottom-color: #707070;
     border-bottom-style: solid;
     background-color: #fafafa;
     width: 400px;
     height: 56px;
   }

   /* お問い合わせ内容のテキストエリア */
   .contact-textarea {
     border-top: 0;
     border-left: 0;
     border-right: 0;
     border-bottom-width: 1px;
     border-bottom-color: #707070;
     border-bottom-style: solid;
     background-color: #fafafa;
     width: 400px;
     height: 200px;
   }

   /* 個人情報の取り扱い */
   details {
     width: 700px;
   }

   details>div {
     background-color: #fafafa;
     padding: 20px;
   }

   details>div>span {
     font-weight: bold;
   }

   /* フッター */
   footer {
     background-color: #0d0d0d;
     text-align: center;
     padding: 80px 80px 30px 80px;
   }

   #footer-logo {
     margin-bottom: 30px;
   }

   #footer-link {
     margin-bottom: 50px;
   }

   #footer-link>a {
     text-decoration: none;
     margin: 10px;
   }

   #footer-link>a:link {
     color: #ffffff;
   }

   #footer-link>a:visited {
     color: #ffffff;
   }

   #footer-link>a:hover {
     color: #ffffff;
     text-decoration: underline;
   }

   #footer-link>a:active {
     color: #ffffff;
   }

   #sns-footer {
     text-align: left;
     width: 100%;
   }

   sns-footer>a {
     margin-right: 30px;
   }

   #copyright {
     color: #ffffff;
     float: right;
   }

   /* mission.html用スタイル */
   /* ミッションのメインビジュアル */
   #mission-main {
     height: 496px;
     width: 100%;
     background-image: url("images/mission/mission-main.png");
     background-repeat: no-repeat;
     background-position-y: center;
   }

   #mission-title {
     background-color: #2710d5;
     width: 368px;
     color: #ffffff;
     height: 496px;
     border-radius: 0 248px 248px 0;
     position: relative;
   }

   #mission-title>h1 {
     position: absolute;
     top: 0;
     left: 100px;
     font-size: 80px;
   }

   #mission-title>span {
     position: absolute;
     top: 200px;
     left: 100px;
     font-size: 26px;
   }

   #mission-title>div {
     position: absolute;
     top: 350px;
     left: 100px;
     font-size: 16px;
   }


   #mission-photo{
    width:100%;
   }
   #mission-s2dgs {
     width: 100%;
     margin: 20px;
   }

   .mission-h2 {
     color: #2710d5;
     font-size: 40px;
   }

   .mission-h2::after {
     content: none;
   }

   #mission-5goals {
     margin: 20px;
     display: flex;
   }

   #mission-5goals>div {
     flex-grow: 1;
     padding: 20px;
   }

   #mission-5goals>div>div {
     margin-bottom: 40px;
   }

   .fivegoals-image-right {
     float: right;
     margin: 20px;
   }

   .fivegoals-image-left {
     float: left;
     margin: 20px;
   }

   .fivegoals-number {
     color: #2710d5;
     font-size: 48px;
     margin: 0;
   }

   .fivegoals-h3 {
     font-size: 28px;
     margin: 0;
   }

   .fivegoals-p {
     margin: 0;
   }

   /* プロダクトページ */
   #product-main {
     height: 496px;
     width: 100%;
     background-image: url("images/product/product-main.png");
     background-repeat: no-repeat;
     background-position-y: center;
   }

   #product-title {
     background-color: #2710d5;
     width: 368px;
     color: #ffffff;
     height: 496px;
     border-radius: 0 248px 248px 0;
     position: relative;
   }

   #product-title>h1 {
     position: absolute;
     top: 0;
     left: 100px;
     font-size: 80px;
   }

   #product-title>span {
     position: absolute;
     top: 200px;
     left: 100px;
     font-size: 26px;
   }

   #product-title>div {
     position: absolute;
     top: 350px;
     left: 100px;
     font-size: 16px;
   }

   /* セクション1 */
   .product-section1 {
     position: relative;
     margin: 20px;
     height: 340px;
   }

   .product-section1>img {
     position: absolute;
     top: 0;
     left: 0;
     width: 450px;
     margin: 0 40px 30px 0;
     border-radius: 0 432px 0 0;
   }

   .product-section1>div {
     position: absolute;
     top: 0;
     left: 480px;
   }

   /* セクション2 */
   .product-section2 {
     position: relative;
     margin: 20px;
     height: 340px;
   }

   .product-section2>img {
     position: absolute;
     top: 0;
     right: 0;
     width: 450px;
     margin: 0 0 30px 40px;
     border-radius: 432px 0 0 0;
   }

   .product-section2>div {
     width: 500px;
     position: absolute;
     top: 0;
     left: 0;
   }

   .product-h2 {
     color: #2710d5;
     font-size: 24px;
     margin: 0;
   }

   .product-h3 {
     font-size: 28px;
     margin: 0;
   }
 }

 /*====================
  スマートフォン用のスタイル
  =====================*/
 @media screen and (max-width: 767px) {

   body {
     min-width: 375px;
     margin: 0;
   }

   /* PC用ナビゲーション非表示 */
   #nav-pc {
     display: none;
   }

   /* ハンバーガーメニュー */
   #menu-sp {
     float: right;
     padding: 0;
   }

   /* スマホ用ナビゲーションの表示切替 */
   /* 初期状態、レイアウトと非表示設定 */
   #nav-sp {
     background-color: #2710d5;
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     display: none;
     z-index: 100;
   }

   /* ×ボタン */
   #close {
     position: absolute;
     top: 20px;
     right: 20px;
   }

   /* ナビゲーションメニュー用ロゴ */
   #logo-sp {
     margin: 80px 0 30px 20px;
   }

   /* ナビゲーションのリンクの装飾設定 */
   #nav-sp>a {
     display: block;
   }

   #nav-sp>a:link {
     color: #ffffff;
   }

   #nav-sp>a:visited {
     color: #ffffff;
   }

   #nav-sp>a:hover {
     color: #ffffff;
     text-decoration: underline;
   }

   #nav-sp>a:active {
     color: #ffffff;
   }

   #nav-sp>.menu {
     text-decoration: none;
     display: block;
     margin: 0 20px 0 20px;
     height: 44px;
     font-size: 16px;
     background-image: url("images/arrow.png");
     background-repeat: no-repeat;
     background-position: right top;
   }

   #sns {
     position: absolute;
     bottom: 20px;
     left: 20px;
   }

   #sns>a {
     margin-right: 30px;
   }

   /* メインビジュアル */
   #main-visual {
     position: relative;
     height: 470px;
     width: 100%;
     overflow: hidden;
   }

   #main-visual>div {
     position: absolute;
     top: 0;
     left: 0;
     background-color: #2710d5;
     color: white;
     border-radius: 0 0 476px 0;
     text-align: center;
     height: 280px;
     width: 100%;
     z-index: 11;
   }

   #main-visual>div>h1 {
     margin: 90px 0 0 0;
     font-size: 28px;
   }

   #main-visual>div>p {
     margin: 0;
   }

   #main-visual>img {
     width: 100%;
     border-radius: 476px 0 0 0;
     z-index: 10;
     position: absolute;
     bottom: 0;
     right: 0;
   }

   /* 見出し */
   h2::after {
     content: url("images/line.png");
     margin-left: 10px;
   }

   h3 {
     font-size: 24px;
     margin: 10px 0 0 0;
   }

   /* ミッション */
   #mission {
     margin: 20px;
   }

   #misson-photo {
     width: 100%;
   }

   #s2dgs {
     width: 100%;
   }

   /* プロダクト */
   #product {
     background-color: #fafafa;
     padding-top: 10px;
   }

   #product h2 {
     margin-left: 20px;
   }

   /* 外枠 */
   /* 左右のカラム　スマホでは縦並び */
   #product-left,
   #product-right {
     margin-right: 20px;
     margin-left: 20px;
   }

   /* 画像＋説明の枠 */
   #product-left>div,
   #product-right>div {
     position: relative;
     height: 540px;
   }

   /* 説明文の枠 */
   .product-explain {
     background-color: #ffffff;
     position: absolute;
     left: 0;
     bottom: 50px;
     padding: 20px;
     box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.05);
   }

   .product-explain>span {
     color: #2710d5;
     font-weight: bold;
     font-size: 16px;
     margin: 0;
   }

   .product-explain>h3 {
     margin: 10px 0 10px 0;
   }

   /* 画像 */
   .product-photo {
     width: 100%;
   }

   #product-more>img {
     margin: 0 0 -42px 20px;
   }

   /* ABOUT US */
   #aboutus {
     margin: 80px 20px 80px 20px;
   }

   #aboutus>div {
     display: flex;
     flex-direction: column;
   }

   .culture-table {
     width: 100%;
     padding-right: 20px;
     order: 2;
   }

   .culture-img {
     width: 100%;
     order: 1;
   }

   .culture-img2 {
     width: 100%;
   }

   .culture-num {
     font-size: 80PX;
     color: #2710d5;
   }

   .culture-en {
     color: #2710d5;
     font-weight: bold;
     font-size: 24PX;
     display: block;
   }

   .culture-jp {
     display: block;
   }

   .culture-description {
     margin: 0;
   }

   /* ビジョン */
   #vision {
     margin: 80px 20px 80px 20px;
   }

   .vision-box {
     width: 300px;
     height: 300px;
     margin-bottom: 30px;
     position: relative;
   }

   .vision-box>img {
     width: 100%;
     height: auto;
     position: absolute;
     top: 0;
     left: 0;
     z-index: 30;
   }

   .vision-box>span {
     position: absolute;
     top: 0;
     left: 0;
     z-index: 31;
     margin-right: 20px;
   }

   .vision-box>span>h4 {
     color: #2710d5;
     font-size: 19px;
     margin: 60px 0 0 0;
   }

   .vision-box>span>h5 {
     font-size: 20px;
     margin: 0;
   }

   .vision-box>span>p {
     margin: 10px 0 0 0;
   }

   /* 会社概要 */
   #company {
     margin: 0 20px 0 20px;
   }

   #company>h3 {
     margin-bottom: 20px;
   }

   #company>table {
     width: 100%;
   }

   .tableheader-first {
     text-align: left;
     padding: 20px;
     border-bottom-color: #2710d5;
     border-bottom-width: 1px;
     border-bottom-style: solid;
     border-top-color: #2710d5;
     border-top-width: 1px;
     border-top-style: solid;
     width: 50px;
   }

   .tableheader {
     text-align: left;
     padding: 20px;
     border-bottom-color: #2710d5;
     border-bottom-width: 1px;
     border-bottom-style: solid;
     width: 50px;
   }

   .cell {
     padding: 20px;
     border-bottom-color: #ececec;
     border-bottom-width: 1px;
     border-bottom-style: solid;
   }

   .cell-first {
     padding: 20px;
     border-bottom-color: #ececec;
     border-bottom-width: 1px;
     border-bottom-style: solid;
     border-top-color: #ececec;
     border-top-width: 1px;
     border-top-style: solid;
   }

   #company>iframe {
     width: 100%;
     height: 240px;
     margin: 40px 0 0 0;
   }

   /* お問い合わせ */
   #contact {
     margin: 80px 20px 80px 20px;
   }

   #contact>h3 {
     margin-bottom: 20px;
   }

   #contact>form>div {
     margin-bottom: 20px;
   }

   .contact-heading {
     margin-bottom: 20px;
   }

   /* ラベル */
   .contact-label {
     font-weight: bold;
   }

   /* 必須 */
   .contact-span {
     color: #ce2222;
     margin: 0 0 0 20px;
     font-weight: bold;
   }

   .contact-textbox {
     height: 56px;
     border-top: 0;
     border-right: 0;
     border-left: 0;
     background-color: #fafafa;
     border-bottom-color: #707070;
     border-bottom-width: 1px;
     border-style: solid;
     min-width: 300px;
     width: 100%;
   }

   .contact-textarea {
     height: 150px;
     border-top: 0;
     border-left: 0;
     border-right: 0;
     background-color: #fafafa;
     width: 100%;
   }

   .radiobutton {
     margin-bottom: 20px;
   }

   .radiobutton+label::after {
     content: "\A";
     white-space: pre;
   }

   /* フッター */
   footer {
     background-color: #0d0d0d;
     padding: 30px 20px 50px 20px;
   }

   #footer-logo {
     margin-bottom: 30px;
   }

   #footer-link {
     margin-bottom: 50px;
   }

   #footer-link>a {
     text-decoration: none;
     margin: 0 20px 30px 0;
     display: block;
     background-image: url("images/arrow.png");
     background-repeat: no-repeat;
     background-position: right top;
   }

   #footer-link>a:link {
     color: #ffffff;
   }

   #footer-link>a:visited {
     color: #ffffff;
   }

   #footer-link>a:hover {
     color: #ffffff;
     text-decoration: underline;
   }

   #footer-link>a:active {
     color: #ffffff;
   }

   #sns-footer>a {
     margin-right: 30px;
   }

   #copyright {
     font-size: 12px;
     margin-top: 30px;
     color: #ffffff;
     display: block;
   }

   /* mission.html用スタイル */
   /* ミッションのメインビジュアル */

   #mission-main {
     height: 250px;
     width: 100%;
     background-image: url("images/mission/mission-main.png");
     background-repeat: no-repeat;
     background-position-y: center;
     background-size: auto 208px;
   }

   #mission-title {
     background-color: #2710d5;
     width: 136px;
     color: #ffffff;
     height: 256px;
     border-radius: 0 248px 248px 0;
     position: relative;
   }

   #mission-title>h1 {
     position: absolute;
     top: 0;
     left: 20px;
     font-size: 40px;
   }

   #mission-title>span {
     position: absolute;
     top: 110px;
     left: 20px;
     font-size: 18px;
   }

   #mission-title>div {
     position: absolute;
     top: 180px;
     left: 20px;
     font-size: 13px;
   }

   /* ミッションページ　S2DGSの設定 */
   #mission-s2dgs {
     margin: 20px;
   }

   .mission-h2 {
     color: #2710d5;
     font-size: 38px;
     margin: 0;
   }

   .mission-h2::after {
     content: none;
   }

   #mission-s2dgs>img {
     width: 100%;
   }

   /* ミッションページ　5Goalsの設定 */
   #mission-5goals {
     margin: 20px;
   }

   #mission-5goals>div>div {
     margin-bottom: 40px;
   }

   #s2dgs-image {
     width: 100%;
   }

   .fivegoals-image-right {
     margin: 20px auto 20px auto;
     display: block;
   }

   .fivegoals-image-left {
     margin: 20px auto 20px auto;
     display: block;
   }

   .fivegoals-number {
     color: #2710d5;
     font-size: 48px;
     margin: 0;
   }

   .fivegoals-h3 {
     font-size: 28px;
     margin: 0;
   }

   .fivegoals-p {
     margin: 0;
   }

   /* プロダクトページ */
   #product-main {
     height: 256px;
     width: 100%;
     background-image: url("images/product/product-main.png");
     background-repeat: no-repeat;
     background-position-y: center;
     background-size: auto 208px;
   }

   #product-title {
     background-color: #2710d5;
     width: 136px;
     color: #ffffff;
     height: 256px;
     border-radius: 0 248px 248px 0;
     position: relative;
   }

   #product-title>h1 {
     position: absolute;
     top: 0;
     left: 20px;
     font-size: 40px;
   }

   #product-title>span {
     position: absolute;
     top: 110px;
     left: 20px;
     font-size: 18px;
   }

   #product-title>div {
     position: absolute;
     top: 180px;
     left: 20px;
     font-size: 13px;
   }

   .product-section1 {
     margin: 20px;
   }

   .product-section1>img {
     width: 100%;
     border-radius: 0 300px 0 0;
   }

   .product-section2 {
     margin: 20px;
     display: flex;
     flex-direction: column;
   }

   .product-section2 img {
     order: 1;
     width: 100%;
     border-radius: 300px 0 0 0;
   }

   .product-section2>div {
     order: 2;
   }

   .product-h2 {
     color: #2710d5;
     font-size: 24px;
     margin: 0;
   }

   .product-h3 {
     font-size: 28px;
     margin: 0;
   }
 }