@charset "UTF-8";
/*
Theme Name: KTG 4.1
Theme URI: http://wordpress.org/
Description: 個人事業主化
Version: 4.1
Author: KTG creation
Author URI: https://ktg-creation.com/
Text Domain: Gen Kato
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

:focus {
  outline: 0;
}

img {
  max-width: 100%;
  height: auto;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 1.4rem;
  line-height: 1.2;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  background: #fff;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -webkit-appearance: none;
  font-feature-settings: "palt" 1;
  font-kerning: auto;
}

*, *:before, *:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* clearfix */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*/ /*/
height: auto;
overflow: hidden;
/**/
}

.section {
  display: flex;
  flex-wrap: wrap;
}

.reverse {
  flex-direction: row-reverse;
}

.centered {
  justify-content: center;
}

.v-centered {
  flex-flow: wrap;
  align-items: center;
}

.row { /* width指定なし */
  -js-display: flex;
  display: flex;
}

.wrapper {
  width: 100%;
}

.w100 .inner {
  width: 98%;
  max-width: 1800px;
  margin: 0 auto;
}

.contents {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.contents.wide {
  max-width: 1500px;
}

.mainCol {
  width: 75%;
}
.single-contents .mainCol {
  width: 65%;
  padding: 0 2%;
}
@media screen and (max-width: 959px) {
  .single-contents .mainCol {
    width: 66.666%;
  }
}
@media screen and (max-width: 600px) {
  .single-contents .mainCol {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .mainCol {
    width: 66.666%;
  }
}
@media screen and (max-width: 600px) {
  .mainCol {
    width: 100%;
  }
}

.sidebar {
  width: 22.4%;
}
.single-contents .sidebar {
  width: 30%;
}
@media screen and (max-width: 959px) {
  .single-contents .sidebar {
    width: 30.7333333333%;
  }
}
@media screen and (max-width: 600px) {
  .single-contents .sidebar {
    width: 100%;
  }
}
@media screen and (max-width: 959px) {
  .sidebar {
    width: 30.7333333333%;
  }
}
@media screen and (max-width: 600px) {
  .sidebar {
    width: 100%;
  }
}

/* マージン無し */
.w1-1 {
  max-width: 800px;
  margin: 0 auto;
}

.w2-1 {
  width: 50%;
}

.w3-1 {
  width: 33.3333333333%;
}

.w4-1 {
  width: 25%;
}

/* マージンあり */
.unit2 {
  width: 48%;
  margin: 0 auto;
}

.unit3-1 {
  width: 30.7333333333%;
  margin: 0 1.3%;
}

.unit4-1 {
  width: 22.4%;
  margin: 0 1.3%;
}

.pc6-1 {
  width: 16.65%;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　タブレット
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
@media screen and (max-width: 959px) {
  .w100 .inner {
    width: 94%;
    margin: 0 auto;
  }
  .contents {
    width: 96%;
    margin: 0 auto;
  }
  .unit2-tb {
    width: 47.4%;
    margin: 0 1.3%;
  }
  .unit3-1-tb {
    width: 30.7333333333%;
    margin: 0 1.3%;
  }
  .w1-tb {
    width: 100%;
  }
  .tb4-1 {
    width: 25%;
  }
}
@media screen and (max-width: 600px) {
  .contents {
    width: 94%;
    max-width: 375px;
  }
  /* マージン無し */
  .w1-sp {
    width: 100%;
  }
  .w2-sp {
    width: 50%;
  }
  .sp3-1 {
    width: 33.333%;
  }
  /* マージンあり */
  .unit1-sp {
    width: 100%;
    margin: 0;
  }
  .unit2-sp {
    width: 47.4%;
    margin: 0 1.3%;
  }
}
/* margin */
.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr30 {
  margin-right: 30px !important;
}

/* padding */
.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr30 {
  padding-right: 30px !important;
}

/* text */
.txtCenter {
  text-align: center;
}

.txtR {
  text-align: right !important;
}

.txtBold {
  font-weight: bold !important;
}

.txtIta {
  font-style: italic;
}

.txt10 {
  font-size: 1rem !important;
}

.txt11 {
  font-size: 1.1rem !important;
}

.txt12 {
  font-size: 1.2rem !important;
}

.disBlock {
  display: block;
}

.disIblock {
  display: inline-block;
}

.pc-block {
  display: block;
}

.pc-hide {
  display: none;
}

@media screen and (max-width: 959px) {
  .pc-block {
    display: inline !important;
  }
  .tb-block {
    display: block !important;
  }
}
@media screen and (max-width: 600px) {
  .tb-block {
    display: inline !important;
  }
  .sp-block {
    display: block !important;
  }
  .sp-hide {
    display: none;
  }
}
/***************************************************
 * Generated by SVG Artista on 9/13/2023, 3:50:19 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 590.1853637695px;
    stroke-dasharray: 590.1853637695px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 590.1853637695px;
  }
}
@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(224, 94, 137);
  }
}
.svg-elem-1 {
  animation: animate-svg-stroke-1 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0s both, animate-svg-fill-1 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both;
}
@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 610.3027954102px;
    stroke-dasharray: 610.3027954102px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 610.3027954102px;
  }
}
@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(188, 188, 188);
  }
}
.svg-elem-2 {
  animation: animate-svg-stroke-2 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.12s both, animate-svg-fill-2 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s both;
}
@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 53.4991645813px;
    stroke-dasharray: 53.4991645813px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 53.4991645813px;
  }
}
@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-3 {
  animation: animate-svg-stroke-3 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.24s both, animate-svg-fill-3 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both;
}
@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 41.8202400208px;
    stroke-dasharray: 41.8202400208px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 41.8202400208px;
  }
}
@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-4 {
  animation: animate-svg-stroke-4 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.36s both, animate-svg-fill-4 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both;
}
@keyframes animate-svg-stroke-5 {
  0% {
    stroke-dashoffset: 75.3860168457px;
    stroke-dasharray: 75.3860168457px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 75.3860168457px;
  }
}
@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-5 {
  animation: animate-svg-stroke-5 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.48s both, animate-svg-fill-5 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both;
}
@keyframes animate-svg-stroke-6 {
  0% {
    stroke-dashoffset: 73.7714614868px;
    stroke-dasharray: 73.7714614868px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 73.7714614868px;
  }
}
@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-6 {
  animation: animate-svg-stroke-6 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both, animate-svg-fill-6 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both;
}
@keyframes animate-svg-stroke-7 {
  0% {
    stroke-dashoffset: 52.127281189px;
    stroke-dasharray: 52.127281189px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 52.127281189px;
  }
}
@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-7 {
  animation: animate-svg-stroke-7 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.72s both, animate-svg-fill-7 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 1s both;
}
@keyframes animate-svg-stroke-8 {
  0% {
    stroke-dashoffset: 39.8096351624px;
    stroke-dasharray: 39.8096351624px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 39.8096351624px;
  }
}
@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-8 {
  animation: animate-svg-stroke-8 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.84s both, animate-svg-fill-8 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both;
}
@keyframes animate-svg-stroke-9 {
  0% {
    stroke-dashoffset: 71.0982589722px;
    stroke-dasharray: 71.0982589722px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 71.0982589722px;
  }
}
@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-9 {
  animation: animate-svg-stroke-9 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.96s both, animate-svg-fill-9 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both;
}
@keyframes animate-svg-stroke-10 {
  0% {
    stroke-dashoffset: 69.7230682373px;
    stroke-dasharray: 69.7230682373px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 69.7230682373px;
  }
}
@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(84, 82, 82);
  }
}
.svg-elem-10 {
  animation: animate-svg-stroke-10 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.08s both, animate-svg-fill-10 0.8s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both;
}

body {
  position: relative;
  display: flex;
  color: #3d3c3c;
  letter-spacing: 0.15em;
}

input[type=tezt], button, select, textarea {
  -webkit-appearance: none;
}

input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

.both {
  text-align: justify;
  text-justify: inter-ideograph;
}

.brsp {
  display: none;
}
@media screen and (max-width: 600px) {
  .brsp {
    display: inline;
  }
}

.brtb {
  display: none;
}
@media screen and (max-width: 600px) {
  .brtb {
    display: inline;
  }
}
@media screen and (max-width: 959px) {
  .brtb {
    display: none;
  }
}

.brpc {
  display: inline;
}
@media screen and (max-width: 959px) {
  .brpc {
    display: none;
  }
}

.sm {
  font-size: 70%;
}

a {
  color: #3d3c3c;
  text-decoration: none;
  transition: 0.3s;
}
a:hover {
  color: #cdcccc;
  text-decoration: none;
}

p a {
  color: #81511c;
  text-decoration: underline;
}

.dis-ib {
  display: inline-block;
}

/*
.linkBtn {
	display: block;
	width: 100%;
	margin: 0 auto;
	text-align: center;

	& a {
		display: inline-block;
		min-width: 250px;
		padding: 15px;
	  border-radius: 6px;
	  border: #aa7942 1px solid;
	  //background: #aa7942;
	  //box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.45);
	  color: #aa7942;
	  font-weight: bold;
	  text-decoration: none;
	  text-align: center;
	  line-height: 1.35;

	  &:hover {
		  background: #b18e67;
	  }
	}
}
*/
.linkBtn {
  display: block;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.btn-middle {
  margin-bottom: 40px;
}

input[type=submit] {
  font-size: 1.6rem;
}

.button,
input[type=submit] {
  position: relative;
  display: inline-block;
  padding: 0.9em 3.6em;
  border: 1px solid #81511c;
  background: #fff;
  color: #81511c;
  text-align: center;
  text-decoration: none;
  outline: none;
  transition: all 0.3s;
  border-radius: 6px;
}

.button::before,
.button::after,
input[type=submit]::before,
input[type=submit]::after {
  position: absolute;
  top: -1px;
  right: -1px;
  bottom: -1px;
  left: -1px;
  z-index: 2;
  content: "";
  transition: all 0.3s;
}

.button::before,
input[type=submit]::before {
  border-top: 1px solid #f1b4c8;
  border-bottom: 1px solid #f1b4c8;
  transform: scale(0, 1);
}

.button::after,
input[type=submit]::after {
  border-right: 1px solid #f1b4c8;
  border-left: 1px solid #f1b4c8;
  transform: scale(1, 0);
}

.button:hover,
input[type=submit]:hover {
  color: #f1b4c8;
  border-radius: 0;
  letter-spacing: 0.2em;
  cursor: pointer;
}

.button:hover::after,
.button:hover::before,
input[type=submit]:hover::after,
input[type=submit]:hover::before {
  transform: scale(1);
}

p {
  margin: 0 auto 40px;
  margin-bottom: 1.857em;
  line-height: 1.85;
}

p.mb2 {
  margin-bottom: 80px !important;
}

@media screen and (max-width: 600px) {
  p.mb2 {
    margin-bottom: 60px !important;
  }
}
/* リスト */
ul.circle {
  display: inline-block;
  margin-bottom: 25px;
  margin-left: 15px;
}
ul.circle li {
  margin: 0 0 15px;
  padding-left: 30px;
  background: url(images/list-circle.svg) no-repeat left top 1px;
  background-size: 20px;
  line-height: 1.4;
  text-align: left;
}

ul.disc {
  display: inline-block;
  margin-bottom: 25px;
  margin-left: 20px;
}
ul.disc li {
  margin: 0 0 15px;
  list-style: disc;
  line-height: 1.4;
  text-align: left;
}

/* ボーダー */
.nobd {
  border: 0 !important;
}

.bt {
  border-top: 1px solid #cdcccc;
}

.bb {
  border-bottom: 1px solid #cdcccc;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 30px;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　ロード画面
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#loading {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loading-logo {
  transition: all 1s;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　ヘッダー
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
#mainHeader {
  /*
  	position: fixed;
  	top: 0;
  	left: 0;
  */
  width: 100%;
  padding: 15px 0;
  font-weight: 300;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.9);
  transition: 0.3s;
}
#mainHeader .contents {
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  align-items: center;
  padding: 0 2rem;
}
@media screen and (max-width: 959px) {
  #mainHeader .contents {
    padding: 0;
  }
}

/*
#mainHeader+section {
	margin-top: 100px;
}
*/
.logo {
  -js-display: flex;
  display: flex;
  flex-flow: wrap;
  align-items: center;
  min-height: 50px;
  font-family: "Open Sans Condensed", sans-serif;
  background: url(images/logo.svg) no-repeat left center;
  background-size: 60px;
}

.logo a {
  display: block;
  padding-left: 75px;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

#spNav {
  display: none;
}

#mainNav ul {
  -js-display: flex;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
#mainNav ul li a {
  display: block;
  padding: 15px 15px;
}
#mainNav ul li.fb {
  margin-left: 15px;
}
#mainNav ul li.fb a {
  min-height: 22px;
  background: url(images/icon/icon-fb.svg) no-repeat left center;
  background-size: 22px;
  font-size: 1rem;
  text-indent: -500px;
  white-space: nowrap;
  overflow: hidden;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　トップページ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.top-hero-area {
  display: flex;
  flex-wrap: wrap;
  flex-flow: wrap;
  align-items: center;
  height: calc(100vh - 80px);
  text-align: center;
}
.top-hero-area .inner {
  width: 100%;
  max-height: 90vh;
  text-align: center;
}
.top-hero-area img {
  margin-bottom: 25px;
  max-height: 45vh;
}
.top-hero-area .catch {
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 6vmin;
  line-height: 1;
  letter-spacing: 0;
}
.top-hero-area .catch span {
  display: block;
}
.top-hero-area .scrolldown {
  position: relative;
  font-weight: bold;
  color: #e05f8a;
  letter-spacing: 0;
}
.top-hero-area .scrolldown::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 30px;
  height: 30px;
  margin-left: -15px;
  background: url(images/arrow-down.svg) no-repeat center center;
  background-size: 30px;
  content: "";
}

.top-business_area {
  padding-bottom: 80px;
}

.top-lead {
  display: block;
  width: 100%;
  margin: 60px 0;
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.6;
  letter-spacing: 0.2em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
@media screen and (max-width: 959px) {
  .top-lead {
    margin: 40px 0;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 600px) {
  .top-lead {
    font-size: 2rem;
    letter-spacing: 0;
  }
}

.top-business_wrap {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.top-business_unit {
  width: 48%;
  margin: 0 1% 60px;
}
.top-business_unit.lower {
  width: 30.7333333333%;
  margin: 0 1.3% 50px;
}
@media screen and (max-width: 959px) {
  .top-business_unit.lower {
    width: 48%;
    margin: 0 1% 50px;
  }
}
@media screen and (max-width: 600px) {
  .top-business_unit {
    width: 96%;
    margin: 0 auto 50px;
  }
  .top-business_unit.lower {
    width: 96%;
    margin: 0 auto 50px;
  }
}

.top-business_index {
  position: relative;
  display: block;
  min-height: 50px;
  margin-bottom: 25px;
  padding: 10px 0 10px 55px;
  border-bottom: 1px solid #cdcccc;
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  line-height: 1.2;
}
@media screen and (max-width: 600px) {
  .top-business_index {
    font-size: 18px;
  }
}
.top-business_index::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  content: "";
}
.top-business_index.web::before {
  background: url(images/icon/icon-web.svg) no-repeat center center;
  background-size: 40px;
}
.top-business_index.ec::before {
  background: url(images/icon/icon-ec-site.svg) no-repeat center center;
  background-size: 40px;
}
.top-business_index.brand::before {
  background: url(images/icon/icon-brand.svg) no-repeat center center;
  background-size: 40px;
}
.top-business_index.goods::before {
  background: url(images/icon/icon-goods.svg) no-repeat center center;
  background-size: 40px;
}
.top-business_index.oem::before {
  background: url(images/icon/icon-top-oem.svg) no-repeat center center;
  background-size: 40px;
}

.top-business_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 15px;
}
.top-business_list li {
  position: relative;
  width: 50%;
  margin: 0 0 15px;
  padding: 0 1em 0 15px;
  line-height: 1.5;
}
.top-business_list li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  background: #f1b4c8;
  border-radius: 50%;
  content: "";
}
@media screen and (max-width: 600px) {
  .top-business_list li {
    width: 100%;
  }
}
.top-business_list a {
  color: #81511c;
  text-decoration: underline;
}
.top-business_list a:hover {
  text-decoration: none;
}

.top-news-area {
  padding: 80px 0;
  background: url(images/top/fixed-bg.jpg) no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
}
.top-news-area .contents {
  width: 94%;
  max-width: 800px;
  margin: 0 auto;
  padding: 35px 35px 35px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 8px;
  border: 1px solid #cdcccc;
}
.top-news-area .index_pageCenter {
  margin-bottom: 35px;
}

.top-news-link {
  -js-display: flex;
  display: flex;
  justify-content: center;
}
.top-news-link li {
  margin: 0 2%;
}
.top-news-link li a {
  display: block;
  padding: 10px 40px;
  border: 1px solid #81511c;
  border-radius: 6px;
  color: #81511c;
  font-family: "Open Sans Condensed", sans-serif;
}

.top-important {
  margin-bottom: 25px;
  padding: 10px;
  background: #e05f8a;
  color: #fff;
  text-align: center;
}
.top-important p {
  margin-bottom: 0;
  line-height: 1.4;
}
.top-important .ttl {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.top-important a {
  color: #fff;
  text-decoration: underline;
}
.top-important a:hover {
  text-decoration: none;
}

.top-news-list {
  width: 100%;
}
.top-news-list li {
  margin: 0 0 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid #cdcccc;
}
.top-news-list li a {
  display: flex;
  flex-wrap: wrap;
  flex-flow: wrap;
  align-items: center;
}
.top-news-list li .info {
  width: 30%;
  padding: 10px;
}
.top-news-list li .info .date {
  display: inline-block;
  margin: 0 1em 0 0;
  font-size: 1.2rem;
}
.top-news-list li .info .cat {
  display: inline-block;
  margin-bottom: 5px;
  padding: 0 4px;
  font-size: 1.2rem;
  font-weight: bold;
}
.top-news-list li .ttl {
  width: 70%;
  padding: 10px;
}

.top-portfolio {
  margin-top: 60px;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　下層ページ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.page-ttl {
  margin: 40px auto 0;
  padding-bottom: 40px;
  font-size: 1.6rem;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  border-bottom: 1px solid #cdcccc;
}
.page-ttl span {
  display: block;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 300;
  font-size: 4.8rem;
  color: #e05f8a;
  letter-spacing: 0;
}

.page-ttl_jp {
  max-width: 1200px;
  margin: 40px auto 0;
  padding-bottom: 40px;
  font-size: 2.4rem;
  text-align: center;
  border-bottom: 1px solid #cdcccc;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.page-ttl_jp span.inner {
  display: block;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 300;
  font-size: 3rem;
  color: #e05f8a;
  letter-spacing: 0;
}
.page-ttl_jp.single-ttl .ttl {
  display: block;
  margin: 0 auto 0 0;
  text-align: left;
}
.page-ttl_jp.single-ttl .inner.left {
  text-align: left;
}
.page-ttl_jp.colorme {
  padding-bottom: 10px;
}
.page-ttl_jp.colorme span.inner {
  font-size: 13px;
}

/* ページ上部 */
.pg-mainVis {
  min-height: 360px;
  -js-display: flex;
  display: flex;
  flex-flow: wrap;
  align-items: center;
  border-bottom: 1px solid #cdcccc;
  background: #fff;
}
.pg-mainVis p {
  display: block;
  width: 100%;
  margin-bottom: 0;
  text-align: center;
  font-size: 3rem;
  letter-spacing: 0.15em;
  line-height: 1.4;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.pg-mainVis.office {
  background: url(images/office/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.web {
  background: url(images/web/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.wp {
  background: url(images/wp/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.ec {
  background: url(images/ec/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.color {
  background: url(images/color/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.support {
  background: url(images/support/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.graphic {
  background: url(images/graphic/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.brand {
  background: url(images/brand/bg.jpg) no-repeat center center;
  background-size: cover;
}
.pg-mainVis.oem {
  background: url(images/graphic/bg.jpg) no-repeat center center;
  background-size: cover;
}

.pg-mainVis .ef {
  display: none;
}

.pageContentsArea {
  position: relative;
  margin-bottom: 80px;
}
.pageContentsArea.ec, .pageContentsArea.web {
  margin-bottom: 0 !important;
  border-bottom: 0;
}

.pageContentsArea:before {
  content: "";
  display: block;
  height: 360px;
  width: 100%;
  margin-bottom: 80px;
  padding: 0;
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  background-attachment: fixed;
  box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.3);
}

.pageContentsArea.novisual:before {
  display: none;
}

.pageContentsArea.web:before {
  background-image: url(images/web/fixed-bg.jpg);
}

.pageContentsArea.wp:before {
  background-image: url(images/wp/fixed-bg.jpg);
}

.pageContentsArea.ec:before {
  background-image: url(images/ec/fixed-bg.jpg);
}

.pageContentsArea.color:before {
  background-image: url(images/color/fixed-bg.jpg);
}

.pageContentsArea.graphic:before {
  background-image: url(images/graphic/fixed-bg.jpg);
}

.pagelead_area {
  max-width: 740px;
  margin: 60px auto;
  text-align: center;
  font-size: 1.6rem;
}
.pagelead_area p {
  max-width: 40em;
}
.pagelead_area .logo-area {
  display: block;
  margin: 60px auto 100px;
}
.pagelead_area .logo-area img {
  display: block;
  max-width: 300px;
  margin: 0 auto 20px;
}
.pagelead_area .logo-area p {
  margin-bottom: 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .pagelead_area .logo-area img {
    max-width: 80%;
  }
}

.page-link {
  -js-display: flex;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  text-align: center;
}
.page-link li a {
  display: block;
  padding: 20px 30px 45px;
  background-image: url(images/arrow-down.svg);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 50px;
}

/* 見出し */
.index_pageCenter {
  margin: 60px auto;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.index_pageCenter span {
  display: block;
  color: #f1b4c8;
  font-size: 4.8rem;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: 300;
  letter-spacing: 0;
}

.index-line {
  position: relative;
  margin: 0 auto 40px;
  text-align: center;
}
.index-line span {
  display: inline-block;
  padding: 0 15px;
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  background: #fff;
}
.index-line span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #cdcccc;
  content: "";
  z-index: -1;
}

.index_icon {
  margin-bottom: 40px;
  padding: 75px 0 0;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 60px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.index_icon.web {
  background-image: url(images/icon/icon-web.svg);
}
.index_icon.web-unyo {
  background-image: url(images/icon/icon-graph.svg);
}
.index_icon.web-kanri {
  background-image: url(images/icon/icon-server.svg);
}
.index_icon.ec-color {
  background-image: url(images/icon/icon-ec-site.svg);
}
.index_icon.ec-wp {
  background-image: url(images/icon/icon-ec-wp.svg);
}
.index_icon.ec-other {
  background-image: url(images/icon/icon-ec-other.svg);
}
.index_icon.ec-consider {
  background-image: url(images/icon/icon-ec-consider.svg);
}
.index_icon.ec-full {
  background-image: url(images/icon/icon-ec-all.svg);
}
.index_icon.ec-adv {
  background-image: url(images/icon/icon-ec-adv.svg);
}
.index_icon.ec-custom {
  background-image: url(images/icon/icon-ec-custom.svg);
}
.index_icon.ec-coding {
  background-image: url(images/icon/icon-ec-html.svg);
}
.index_icon.brand-logo {
  background-image: url(images/icon/icon-logo.svg);
}
.index_icon.brand-print {
  background-image: url(images/icon/icon-brand.svg);
}
.index_icon.brand-goods {
  background-image: url(images/icon/icon-goods.svg);
}
.index_icon.oem-site {
  background-image: url(images/icon/icon-oem-site.svg);
}
.index_icon.oem-product {
  background-image: url(images/icon/icon-oem-catalog.svg);
}
.index_icon.web-single {
  background-image: url(images/icon/icon-singlepage.svg);
}
.index_icon.photo {
  background-image: url(images/icon/icon-photo.svg);
}
.index_icon.media {
  background-image: url(images/icon/icon-media.svg);
}
.index_icon span.pc-mr {
  display: inline-block;
  margin-right: 0.5em;
}

.index_brown {
  margin-bottom: 40px;
  font-size: 2rem;
  color: #e05f8a;
  text-align: center;
}

.estimate-area {
  width: 80%;
  margin: 0 auto;
  border: 1px solid #cdcccc;
  border-radius: 8px;
  overflow: hidden;
}
.estimate-area .contents {
  display: block;
  width: calc(100% - 30px);
  margin: 0 15px;
  padding: 25px 0;
  border-top: 1px dashed #cdcccc;
  overflow: hidden;
}
.estimate-area .contents .index {
  margin-bottom: 15px;
  color: #e05f8a;
  font-weight: bold;
}
.estimate-area .contents ul.circle {
  margin-bottom: 15px;
  font-size: 1.4rem;
}
.estimate-area .contents p {
  margin-bottom: 25px;
  font-size: 1.4rem;
}
.estimate-area .contents p.notice {
  font-size: 1.2rem;
}
.estimate-area .contents .border {
  margin-bottom: 25px;
  border-bottom: 1px dashed #cdcccc;
}
.estimate-area.web {
  margin-bottom: 40px;
}

.estimate-toggle {
  display: block;
  text-align: center;
  transition: 0.3s;
}
.estimate-toggle:hover {
  cursor: pointer;
  background: #f7f7f7;
}

.estimate-toggle span.inner {
  display: inline-block;
  margin: 15px auto;
  padding: 10px 10px 10px 45px;
  background: url(images/icon/icon-price.svg) no-repeat left center;
  background-size: 28px;
  font-size: 1.6rem;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　会社概要
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.about-prof {
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 40px;
  padding: 0 2% 0 4%;
}
@media screen and (max-width: 600px) {
  .about-prof {
    max-width: 390px;
    padding: 0;
  }
}

.table-centered {
  display: block;
  width: 100%;
  max-width: 700px;
  margin: 0 auto 40px;
  padding: 0 4% 0 2%;
}
.table-centered tr {
  display: block;
  width: 100%;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #cdcccc;
}
.table-centered th, .table-centered td {
  letter-spacing: 0.15em;
  line-height: 1.8;
  vertical-align: top;
}
.table-centered th {
  width: 200px;
}
@media screen and (max-width: 959px) {
  .table-centered {
    max-width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .table-centered {
    max-width: 390px;
    padding: 0;
  }
  .table-centered tbody {
    display: block;
    width: 100%;
  }
  .table-centered tr {
    margin-bottom: 25px;
  }
  .table-centered th, .table-centered td {
    display: list-item;
    list-style: none;
  }
  .table-centered th {
    width: auto;
    margin-bottom: 5px;
    font-weight: bold;
  }
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　事業内容
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.business-ttl-area1 {
  text-align: center;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  border-bottom: 1px solid #cdcccc;
  background: #fff url(images/business/bg1.jpg);
  background-size: cover;
}
.business-ttl-area1.bg2 {
  background: #fff url(images/business/bg2.jpg);
  background-size: cover;
}
.business-ttl-area1 .index {
  padding: 120px 0;
}
.business-ttl-area1 .index span.en {
  display: block;
  font-family: "Open Sans Condensed", sans-serif;
  color: #f1b4c8;
  font-size: 4.8rem;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .business-ttl-area1 .index {
    padding: 60px 0;
  }
  .business-ttl-area1 .index span.en {
    font-size: 3rem;
  }
}

.index-business {
  padding: 0 0 20px 0;
}
.index-business span.en {
  display: block;
  font-family: "Open Sans Condensed", sans-serif;
  color: #f1b4c8;
  font-size: 4rem;
  letter-spacing: 0;
}
.index-business span.en2 {
  display: inline-block;
  margin-right: 0.3em;
  font-family: "Open Sans Condensed", sans-serif;
  color: #e05f8a;
  letter-spacing: 0;
  font-weight: bold;
}

.business-creative-area {
  display: flex;
  flex-wrap: wrap;
  width: 94%;
  max-width: 1800px;
  margin: 6rem auto 3rem;
}
@media screen and (max-width: 959px) {
  .business-creative-area {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .business-creative-area {
    max-width: 375px;
    margin-top: 3rem;
  }
}
.business-creative-area section {
  display: flex;
  margin-bottom: 3rem;
  border: 1px solid #cdcccc;
  border-radius: 10px;
  transition: 0.4s;
}
.business-creative-area section:hover {
  border: 1px solid #f1b4c8;
  border-radius: 0;
}
.business-creative-area section.nolink:hover {
  border: 1px solid #cdcccc;
  border-radius: 10px;
}
.business-creative-area section a, .business-creative-area section .nolink-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 25px 25px 45px 25px;
}
.business-creative-area section a:hover, .business-creative-area section .nolink-inner:hover {
  color: #3d3c3c;
}
.business-creative-area section a::after, .business-creative-area section .nolink-inner::after {
  position: absolute;
  bottom: 15px;
  right: 15px;
  content: "More Detail »";
  font-size: 1.2rem;
  font-weight: bold;
  color: #81511c;
  letter-spacing: 0;
}
.business-creative-area section a p, .business-creative-area section .nolink-inner p {
  margin-bottom: 0;
  font-size: 1.3rem;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .business-creative-area section a p, .business-creative-area section .nolink-inner p {
    font-size: 1.2rem;
  }
}
.business-creative-area section .nolink-inner {
  padding-bottom: 25px;
}
.business-creative-area section .nolink-inner::after {
  display: none;
}

.index-business-list {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.index-business-list span.en {
  display: block;
  font-family: "Open Sans Condensed", sans-serif;
  color: #e05f8a;
  letter-spacing: 0;
  font-weight: normal;
}

.business-list {
  margin: 15px 0 0;
}
.business-list li {
  display: block;
  margin-bottom: 5px;
  list-style: disc;
  list-style-position: inside;
  text-indent: 1em;
  margin-left: -1em;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-size: 1.4rem;
  font-weight: bold;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　ページ下部共通
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.index-other-creative {
  padding: 20px 0;
  text-align: center;
  color: #fff;
  font-size: 1.8rem;
  background: #3d3c3c;
}

.other-creative {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  max-width: 980px;
  margin: 0 auto 80px;
  border-left: 1px solid #cdcccc;
  border-bottom: 1px solid #cdcccc;
}
.other-creative li {
  display: flex;
  align-self: stretch;
  align-content: center;
  width: 50%;
  border-right: 1px solid #cdcccc;
}
.other-creative.three li {
  width: 33.3333333333%;
}
.other-creative li a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 40px 60px 40px 25px;
  font-weight: bold;
  background-color: #fff;
  background-image: url(images/arrow-right.svg);
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: right 15px center;
}
.other-creative li a:hover {
  background-color: #f7f7f7;
  color: #3d3c3c;
}

/* 制作事例 */
.portfolio-area-wrap {
  overflow: hidden;
  padding-bottom: 60px;
  background: #fff;
  border-top: 1px solid #cdcccc;
  border-bottom: 1px solid #cdcccc;
  box-shadow: 0px 8px 10px #fafafa;
}

.portfolio-area {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.portfolio-area img {
  display: block;
  margin: 0 auto;
}
.portfolio-area .ttl {
  margin: 15px 0;
}
.portfolio-area a {
  display: block;
  padding: 25px 15px 15px;
  color: #3d3c3c;
  border: 1px solid transparent;
  border-radius: 8px;
}
.portfolio-area a:hover {
  border: 1px solid #f1b4c8;
}

.portfolio-area-wrap .portfolio-area a {
  border: 1px solid #fff;
}
.portfolio-area-wrap .portfolio-area a:hover {
  border: 1px solid #f1b4c8;
}

#last-block {
  margin-bottom: 80px;
}

.page-nav-area {
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .page-nav-area {
    margin-bottom: 0;
  }
}

#more-button {
  position: relative;
  display: inline-block;
  width: auto;
  height: 46px;
  margin: 0 auto;
  padding: 0 85px;
  background: #fff;
  border: 1px solid #a8204e;
  border-radius: 23px;
  color: #a8204e;
  font-size: 1.6rem;
  line-height: 46px;
  transition: 0.3s;
  font-family: "Open Sans Condensed", sans-serif;
  font-size: 1.8rem;
}
#more-button::after {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  background: url(images/arrow-down.svg) no-repeat center center;
  background-size: 24px;
  content: "";
}
#more-button:hover {
  background: #f7f7f7;
  cursor: pointer;
}

.scroller-status {
  display: none;
}

.infinite-scroll-request {
  animation: scroll-request 1.1s infinite linear;
  border: 2px solid #a8204e;
  border-left: 4px solid #fff;
  border-radius: 50%;
  height: 24px;
  margin: 30px auto auto;
  width: 24px;
}

@keyframes scroll-request {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.infinite-scroll-last,
.infinite-scroll-error {
  width: 50%;
  margin: 0 auto;
  padding: 10px;
  text-align: center;
  background: #cdcccc;
  border-radius: 8px;
  font-size: 1.4rem;
}

.foot-contact {
  display: block;
  width: 100%;
  max-width: 550px;
  margin: 0 auto 60px;
  text-align: center;
}
.foot-contact img {
  display: block;
}
.foot-contact a img {
  transition: 0.4s;
}
.foot-contact a:hover img {
  opacity: 0.8;
}
@media screen and (max-width: 600px) {
  .foot-contact {
    margin-bottom: 0;
  }
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　WEb & EC & カラーミーショップ Shopify BASE
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.plan-ref-link {
  display: block;
  margin-bottom: 0;
  text-align: center;
}
.plan-ref-link a {
  position: relative;
  display: inline-block;
  padding: 10px 15px 10px 40px;
  text-decoration: none;
  border: 1px solid #81511c;
  border-radius: 6px;
  font-size: 13px;
  font-weight: bold;
  text-align: left;
}
.plan-ref-link a::before {
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  width: 15px;
  height: 20px;
  background: url(images/icon-doc.svg) no-repeat;
  background-size: 15px;
  content: "";
}
.plan-ref-link a:hover {
  color: #81511c;
  background-color: #f7f7f7;
}

.plan-desc-area-1col {
  max-width: 42em;
  margin: 0 auto 80px;
  padding: 0 2em 80px;
  border-bottom: 1px solid #cdcccc;
}
.plan-desc-area-1col p:last-child {
  display: inline-block;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}
.plan-desc-area-1col.no-border {
  padding-bottom: 0;
  border-bottom: 0;
}

.ec-partner-banner {
  display: block;
  margin: 0 auto 30px;
  text-align: center;
}

.ec-plan-2col {
  padding: 80px 25px;
  text-align: center;
  border-right: 1px solid #cdcccc;
}
.ec-plan-2col:last-child {
  border-right: 0;
}
.ec-plan-2col p {
  max-width: 40em;
}

.plan-desc-unit {
  margin-bottom: 80px;
}

.color-plan-lead {
  margin-bottom: 60px;
  text-align: center;
}

.color-plan-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 60px;
}

.color-plan-unit {
  width: 49%;
  margin-bottom: 30px;
  padding: 35px 25px 0;
  border: 1px solid #cdcccc;
}
@media screen and (max-width: 600px) {
  .color-plan-unit {
    width: 100%;
  }
}

.color-plan-index {
  display: block;
  text-align: center;
}
.color-plan-index .ttl {
  display: block;
  margin-bottom: 20px;
  font-size: 24px;
  color: #e05f8a;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

.color-customize-list {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px;
}
.color-customize-list li {
  width: 49%;
}
@media screen and (max-width: 600px) {
  .color-customize-list li {
    width: 100%;
  }
}
.color-customize-list a {
  color: #81511c;
  text-decoration: none;
}

.base-adv-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 80px;
}
.base-adv-wrap .unit {
  width: 49%;
  margin-bottom: 30px;
  padding: 30px;
  border: 1px solid #cdcccc;
}
.base-adv-wrap .unit p {
  margin-bottom: 0;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width: 600px) {
  .base-adv-wrap .unit {
    width: 100%;
  }
}
.base-adv-wrap .index {
  position: relative;
  margin-bottom: 15px;
  padding-left: 40px;
  font-size: clamp(16px, 1rem + (1vw - 3.2px) * 0.625, 20px);
  font-weight: bold;
}
.base-adv-wrap .index::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url(images/icon/icon-ec-check.svg);
  background-size: 32px;
  content: "";
}

.base-plan-unit {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 32%;
  margin-bottom: 30px;
}
@media screen and (max-width: 600px) {
  .base-plan-unit {
    width: 100%;
  }
}
.base-plan-unit .index {
  position: relative;
  margin-bottom: 10px;
  padding: 0 0 0 52px;
  font-size: 20px;
  line-height: 30px;
  font-weight: bold;
}
.base-plan-unit .index::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 42px;
  height: 30px;
  background: url(images/icon/icon-ec-plan.svg) no-repeat;
  background-size: 42px;
  content: "";
}
.base-plan-unit .contents-area {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: 100%;
  border: 1px solid #cdcccc;
}
.base-plan-unit .lead {
  display: block;
  width: 100%;
  margin-bottom: 0;
  padding: 20px;
  background: #cdcccc;
  font-weight: bold;
  font-size: clamp(15px, 0.9375rem + (1vw - 3.2px) * 0.4688, 18px);
  line-height: 1.4;
  text-align: center;
}
.base-plan-unit .inside-contents {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  height: 100%;
  padding: 30px 20px 0;
}
.base-plan-unit .inside-contents p {
  text-align: justify;
  text-justify: inter-ideograph;
}
.base-plan-unit .s-index {
  position: relative;
  display: block;
  padding: 25px 0;
  text-align: center;
  font-weight: bold;
}
.base-plan-unit .s-index::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #cdcccc;
  content: "";
}
.base-plan-unit .circle {
  margin-left: 0;
}
.base-plan-unit .price-area {
  margin-top: auto;
  padding: 30px 0;
  border-top: 1px solid #cdcccc;
}
.base-plan-unit .price {
  margin-bottom: 10px;
  font-size: 30px;
  text-align: center !important;
  letter-spacing: 0;
  line-height: 1;
  color: #e05f8a;
}
.base-plan-unit .price span {
  font-size: 60%;
}
.base-plan-unit .estimate {
  margin-bottom: 0;
  text-align: center !important;
  line-height: 1;
}
.base-plan-unit .link {
  display: block;
  margin-bottom: 30px;
  text-align: center;
}
.base-plan-unit .link a {
  position: relative;
  display: inline-block;
  padding-left: 26px;
  text-decoration: none;
  line-height: 20px;
  font-size: 16px;
  font-weight: bold;
}
.base-plan-unit .link a::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(images/arrow-down-cir.svg);
  background-size: 20px;
  content: "";
}

.base-plan {
  margin: 0 auto 100px;
}
.base-plan a {
  color: #81511c;
  text-decoration: underline;
  transition: 0.4s;
}
.base-plan a:hover {
  text-decoration: none;
  color: #cdcccc;
}
.base-plan tbody {
  display: block;
  width: 100%;
}
.base-plan tr {
  padding: 20px 0;
  border-bottom: 1px solid #cdcccc;
}
.base-plan th {
  padding: 20px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: bold;
}
.base-plan th span {
  font-size: 13px;
  font-weight: normal;
}
.base-plan td {
  padding: 20px;
  font-size: 35px;
  line-height: 1.4;
  text-align: center;
}
.base-plan.option td {
  font-size: 13px;
  text-align: left;
}

.base-campaine {
  display: block;
  max-width: 540px;
  margin: 30px auto 100px;
}
.base-campaine .lead {
  display: block;
  margin: 0 auto 10px;
  text-align: center;
  color: #e05f8a;
  font-weight: bold;
  font-size: clamp(16px, 1rem + (1vw - 3.2px) * 1.875, 28px);
  line-height: 1;
}
.base-campaine img {
  display: block;
  max-width: 540px;
  margin: 0 auto 15px;
}
@media screen and (max-width: 600px) {
  .base-campaine img {
    max-width: 100%;
  }
}

.studio-demo {
  margin-bottom: 100px;
  text-align: center;
}

.support-conc-txt {
  margin-bottom: 80px;
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .support-conc-txt {
    -moz-text-align-last: left;
         text-align-last: left;
  }
}

.color-ex-footer {
  margin: 60px auto;
  text-align: center;
}
.color-ex-footer img {
  margin-bottom: 30px;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　ブランド
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.product-area {
  display: flex;
  flex-wrap: wrap;
  flex-flow: wrap;
  align-items: center;
}
.product-area img {
  display: block;
  margin: 0 auto;
  padding: 0 15px;
}

.index_productname {
  margin: 30px 0 15px 0;
  font-weight: bold;
  color: #81511c;
  font-size: 2.4rem;
}

.media-area {
  padding: 60px 0 0 0;
}

.index_mediattl {
  margin: 0 0 15px 0;
  font-size: 1.8rem;
  font-weight: bold;
  color: #81511c;
}

.brand-rel {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 80px;
  border-left: 1px solid #cdcccc;
  border-bottom: 1px solid #cdcccc;
}
.brand-rel li {
  width: 33.3333333333%;
  border-right: 1px solid #cdcccc;
}
.brand-rel li a {
  display: block;
  padding: 40px 60px 40px 25px;
  font-weight: bold;
  background-color: #fff;
  background-image: url(images/arrow-link.svg);
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: right 15px center;
}
.brand-rel li a:hover {
  background-color: #f7f7f7;
  color: #3d3c3c;
}
.brand-rel.mamorunto li {
  width: 50%;
}

#instagram {
  display: flex;
  flex-wrap: wrap;
}
#instagram.mamorunto {
  margin-bottom: 6rem;
}

.ig-unit img {
  display: block;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　OEM
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.oem-site-img img {
  display: block;
  margin: 0 auto;
}

.oem-list-area {
  padding: 80px 0;
}

.oem-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.oem-list .unit {
  margin-bottom: 30px;
  border: 1px solid #cdcccc;
}
.oem-list .unit .ttl {
  margin: 25px;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0;
}
.oem-list .unit .ttl span.em {
  display: block;
  font-size: 1.3rem;
  color: #e05f8a;
}
.oem-list .unit .ttl span.desc {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0;
}
.oem-list .unit p {
  margin: 25px;
  font-size: 1.4rem;
}
.oem-list .unit p.linkBtn {
  margin-left: 0;
  margin-right: 0;
}

.oem-other-inquiry {
  text-align: center;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　制作事例
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.works-cat-list {
  text-align: center;
  border-bottom: 1px solid #cdcccc;
}
.works-cat-list .inner {
  display: inline-block;
}
.works-cat-list .wrap {
  display: none;
}
.works-cat-list ul {
  position: relative;
  -js-display: flex;
  display: flex;
  justify-content: center;
}
.works-cat-list ul li a {
  display: block;
  padding: 20px;
}

.triger-cat-list {
  display: block;
  width: auto;
  margin-left: -45px;
  padding: 20px 0 20px 90px;
  background: url(images/icon/icon-search.svg) no-repeat center center;
  background-size: 30px;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: bold;
  letter-spacing: 0;
  color: #cdcccc;
  line-height: 30px;
}
.triger-cat-list:hover {
  cursor: pointer;
  background: #f7f7f7 url(images/icon/icon-search.svg) no-repeat center center;
  background-size: 30px;
}
.triger-cat-list.active {
  margin-bottom: 10px;
  padding: 10px 0 10px 90px;
  border-bottom: 1px solid #cdcccc;
  background: #f7f7f7 url(images/icon/icon-search.svg) no-repeat center center;
  background-size: 30px;
}

.works-unit-area {
  margin: 60px 0 30px;
}
.works-unit-area section {
  margin-bottom: 30px;
}
.works-unit-area .work-cat {
  display: block;
  margin: 2rem 0 0.5rem;
  font-size: 1.1rem;
  letter-spacing: 0;
  color: #e05f8a;
  line-height: 1;
  font-weight: bold;
}
.works-unit-area .work-cat span {
  display: inline-block;
  margin-right: 1em;
}
.works-unit-area .ttl {
  margin-bottom: 2.5rem;
}
.works-unit-area a {
  position: relative;
  display: block;
  padding: 20px;
  color: #3d3c3c;
  border: 1px solid #fff;
  border-radius: 8px;
}
.works-unit-area a:hover {
  border: 1px solid #f1b4c8;
}
.works-unit-area a img {
  display: block;
  margin: 0 auto;
}
.works-unit-area a .en {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  margin: 10px 0;
  font-family: "Open Sans Condensed", sans-serif;
  font-weight: bold;
  text-align: center;
  color: #81511c;
  font-size: 1.3rem;
  letter-spacing: 0;
}

.slider-wrap {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.slider-for {
  margin: 60px 0 30px;
}

.slick-slide img {
  margin: 0 auto;
}

.slider-nav div {
  padding: 0px 5px;
}

.work-desc-area {
  margin-top: 80px;
  padding: 60px 0;
  background: #f7f7f7;
}

.project-table {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
.project-table tr {
  border-bottom: 1px solid #cdcccc;
}
.project-table th, .project-table td {
  line-height: 1.6;
  padding: 15px;
}
.project-table th {
  width: 30%;
  vertical-align: top;
}
.project-table td {
  width: 70%;
}

.project-table-link {
  margin: 0;
  font-size: 1.2rem;
}
.project-table-link a {
  display: block;
}
.project-table-link a:hover {
  text-decoration: none;
}

.project-share {
  display: block;
  margin-top: 60px;
}

.relProject-area {
  width: 100%;
  max-width: 700px;
  margin: 60px auto 0;
  padding: 15px;
  background: #fff;
}

.project-rel-ttl {
  margin-bottom: 25px;
  padding-bottom: 10px;
  border-bottom: 1px solid #cdcccc;
}

.relProject-list {
  display: flex;
  flex-wrap: wrap;
}
.relProject-list li {
  width: 33.3333333333%;
  font-size: 1.2rem;
}
.relProject-list li a {
  display: block;
  padding: 10px;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　ブログ & カラーミー　カスタマイズ例
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.single-header {
  padding: 0 2%;
}

.blog-wrap {
  position: relative;
}

.cat-desc {
  max-width: 700px;
  margin: 60px auto 0;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .cat-desc {
    margin: 30px auto;
    text-align: left;
  }
}

.blog-unit-area {
  margin: 60px 0 30px;
}
@media screen and (max-width: 600px) {
  .blog-unit-area {
    margin: 30px 0;
  }
}
.blog-unit-area .unit {
  margin-bottom: 30px;
  overflow: hidden;
  font-size: 1.4rem;
}
@media screen and (max-width: 959px) {
  .blog-unit-area .unit {
    font-size: 1.2rem;
  }
}
.blog-unit-area .date {
  display: block;
  margin: 10px 0 0 0;
  font-size: 1rem;
  letter-spacing: 0;
  font-weight: bold;
}
.blog-unit-area .ttl {
  margin: 5px 0 0 0;
}
.blog-unit-area a {
  display: block;
  color: #3d3c3c;
  border: 1px solid #fff;
  border-radius: 8px;
}
.blog-unit-area a .date {
  color: #cdcccc;
}
.blog-unit-area a:hover {
  color: #f1b4c8;
}
.blog-unit-area a img {
  display: block;
  margin: 0 auto;
}

.sidebar {
  margin: 60px auto;
}
.single-contents .sidebar {
  margin-top: 0;
}
.sidebar .inside {
  position: sticky;
  top: 0;
  right: 0;
  display: block;
}

.index-sidebar {
  position: relative;
  margin: 0 auto 20px;
  text-align: center;
  letter-spacing: 0;
  font-family: "Open Sans Condensed", sans-serif;
}
.index-sidebar span {
  display: inline-block;
  padding: 0 20px;
  font-size: 2.4rem;
  background: #fff;
}
.index-sidebar span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #cdcccc;
  content: "";
  z-index: -1;
}

.blog-cat {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.blog-cat li a {
  display: block;
  margin: 0 5px 15px;
  padding: 10px 15px;
  text-align: center;
  font-size: 1.4rem;
  border: 1px solid #3d3c3c;
  border-radius: 6px;
}

.colorex-list {
  margin-bottom: 30px;
}
.colorex-list li {
  position: relative;
}
.colorex-list li::before {
  position: absolute;
  top: 0.08em;
  left: 0;
  width: 20px;
  height: 20px;
  background: url(images/color-ex/icon-list.svg) no-repeat;
  background-size: 20px;
  content: "";
}
.colorex-list li a {
  display: block;
  margin: 0 0 15px;
  padding-left: 26px;
  font-size: 1.4rem;
  border-radius: 6px;
  text-decoration: none;
  line-height: 1.5;
  font-weight: bold;
}

.colorex-blog-list {
  margin-bottom: 30px;
}
.colorex-blog-list li {
  position: relative;
}
.colorex-blog-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 20px;
  background: url(images/color-ex/icon-blog.svg) no-repeat;
  background-size: 15px;
  content: "";
}
.colorex-blog-list li a {
  display: block;
  margin: 0 0 15px;
  padding-left: 26px;
  font-size: 1.4rem;
  border-radius: 6px;
  text-decoration: none;
  line-height: 1.5;
  font-weight: bold;
}

.single-info-area {
  display: flex;
  flex-wrap: wrap;
  margin: 10px 0px 60px 0px;
  font-size: 1.2rem;
  letter-spacing: 0;
}
.single-info-area .date {
  margin: 0 10px 0 0;
}
.single-info-area .category {
  margin: 0 10px;
}
@media screen and (max-width: 600px) {
  .single-info-area .category {
    display: block;
    margin-top: 10px;
  }
}
.single-info-area .category a {
  color: #81511c;
}

.colorex-temp-icon {
  display: block;
  margin: 20px 0 40px;
  padding: 15px;
  background: #f9dfe8;
  font-size: 15px;
}
.colorex-temp-icon .label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
.colorex-temp-icon .icon {
  display: inline-block;
  margin: 5px 1em 0 0;
  padding: 5px 8px;
  background: #fff;
}

.colorex-estimate {
  display: block;
  padding-top: 20px;
  border-top: 1px solid #cdcccc;
}
.colorex-estimate p {
  margin-bottom: 0 !important;
  line-height: 1;
}
.colorex-estimate .note {
  font-size: 12px;
}

.colorex-cta {
  display: block;
  margin: 60px auto 0;
  text-align: center;
}
.colorex-cta img {
  margin: 0 auto 25px !important;
}
.colorex-cta p a {
  text-decoration: none;
}
.colorex-cta p a:hover {
  color: #e05f8a;
}

.index-blog-cat {
  position: relative;
  margin: 0 auto 20px;
  text-align: center;
  font-family: "Open Sans Condensed", sans-serif;
  letter-spacing: 0;
  font-size: 2.4rem;
}
.index-blog-cat span {
  display: inline-block;
  padding: 0 15px;
  background: #fff;
}
.index-blog-cat span::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #cdcccc;
  content: "";
  z-index: -1;
}

.cat-list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.cat-list li {
  display: inline-block;
  margin: 0 5px 10px;
  flex: 1 0 auto;
}
.cat-list li a {
  display: block;
  width: 100%;
  padding: 10px 10px;
  border: 1px solid #3d3c3c;
  border-radius: 6px;
  letter-spacing: 0;
  font-size: 1.1rem;
  text-align: center;
}
.cat-list li a:hover {
  border: 1px solid #cdcccc;
}

.single-author {
  max-width: 42em;
  margin: 0 auto 50px;
  padding: 20px 20px 5px;
  border: 1px solid #cdcccc;
  border-radius: 8px;
}
.single-author .ttl {
  margin-bottom: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  color: #e05f8a;
  text-align: center;
}
.single-author p {
  margin-bottom: 15px;
  line-height: 1.6;
  font-size: 1.3rem;
}

.addtoany_shortcode {
  margin-bottom: 30px;
  text-align: center;
}

.addtoany_list a {
  padding: 0 7px !important;
}

/* Easy Table of Contents */
#ez-toc-container {
  margin: 40px auto;
  padding: 15px;
  box-shadow: none;
}

#ez-toc-container p.ez-toc-title {
  display: block;
  margin-bottom: 20px;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

#ez-toc-container li,
#ez-toc-container ul li {
  margin-bottom: 10px;
  list-style: disc;
  text-indent: 1em;
  margin-left: -1em;
}

#ez-toc-container ul li ul {
  margin-top: 10px;
  margin-left: 40px;
}
#ez-toc-container ul li ul ul a {
  font-weight: normal !important;
}

#ez-toc-container a:hover {
  color: #f1b4c8;
  text-decoration: none;
}

.ez-toc-list li:first-line {
  font-weight: bold;
}

.rel-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rel-list .unit {
  display: flex;
  align-items: stretch;
  width: 48%;
  margin: 0 1% 20px;
}
.rel-list .unit a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.rel-list .unit a .img {
  display: block;
  width: 36%;
  height: auto;
  margin: 0 4% 0 0;
}
.rel-list .unit a:hover img {
  opacity: 0.7;
}
.rel-list .unit a .ttl {
  width: 58%;
  font-size: 1.2rem;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .rel-list .unit a .ttl {
    font-size: 1rem;
  }
}
@media screen and (max-width: 600px) {
  .rel-list .unit {
    width: 100%;
  }
}

.articleContents {
  margin: 0 auto 60px;
}
.articleContents p {
  margin: 0 auto;
  margin-bottom: 1.857em;
  font-size: 16px;
  line-height: 2;
}
.articleContents a {
  color: #81511c;
  text-decoration: underline;
}
.articleContents a:hover {
  text-decoration: none;
}
.articleContents .linkBtn a {
  text-decoration: none;
}
.articleContents h2 {
  margin-top: 60px;
  margin-bottom: 30px;
  padding: 15px;
  background: #f9dfe8;
  border-radius: 10px 10px 0 0;
  font-size: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  clear: both;
}
.articleContents h3 {
  margin-bottom: 30px;
  padding: 10px 15px 10px 0;
  font-size: 2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  border-bottom: 2px solid #f1b4c8;
  clear: both;
}
.articleContents h4 {
  margin-bottom: 20px;
  font-size: 2rem;
  color: #e05f8a;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  clear: both;
}
.articleContents img {
  display: block;
  margin-bottom: 25px;
}
.articleContents img.alignleft {
  display: inline;
  float: left;
  margin-right: 25px;
}
.articleContents img.alignright {
  display: inline;
  float: right;
  margin-left: 25px;
}
.articleContents img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.articleContents ul, .articleContents ol {
  margin-bottom: 40px;
  margin-left: 0.5em;
  font-size: 16px;
}
.articleContents ul ul, .articleContents ul ol, .articleContents ol ul, .articleContents ol ol {
  margin-top: 15px;
  margin-bottom: 0;
}
.articleContents ul li {
  margin-bottom: 15px;
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  list-style: disc;
  list-style-position: inside;
}
.articleContents ol li {
  margin-bottom: 15px;
  margin-left: 1em;
  text-indent: -1em;
  line-height: 1.5;
  list-style: decimal;
  list-style-position: inside;
}
.articleContents table {
  width: 100%;
  margin-bottom: 40px;
  line-height: 1.4;
  font-size: 1.3rem;
}
.articleContents table th {
  padding: 10px;
  border: 1px solid #cdcccc;
}
.articleContents table th {
  background: #f7f7f7 #cdcccc;
}
.articleContents table td {
  padding: 10px;
  border: 1px solid #cdcccc;
  text-align: center;
}
.articleContents dl {
  margin-bottom: 40px;
  line-height: 1.8;
}
.articleContents dl dt {
  margin-bottom: 15px;
  padding-bottom: 3px;
  border-bottom: 1px solid #cdcccc;
  font-weight: bold;
}
.articleContents dl dd {
  margin-bottom: 25px;
}
.articleContents code {
  display: inline-block;
  padding: 0 5px;
  background: #cdcccc;
  border-radius: 4px;
}
.articleContents cite {
  font-style: italic;
}
.articleContents address {
  margin-bottom: 40px;
  padding: 20px;
  border: 1px solid #cdcccc;
  line-height: 1.4;
}
.articleContents pre {
  margin-bottom: 40px;
  padding: 20px;
  border: 1px solid #cdcccc;
  line-height: 1.2;
  overflow: auto;
  overflow-Y: hidden;
  font-size: 1.4rem;
}
.articleContents .wp-block-embed-wordpress,
.articleContents .wp-block-embed__wrapper {
  margin: 0 auto 1.857em;
  max-width: 600px;
}
.articleContents .wp-block-embed-wordpress iframe,
.articleContents .wp-block-embed__wrapper iframe {
  width: 100%;
  margin: 0 auto;
}
.articleContents .wp-block-embed-wordpress p.wp-embed-heading,
.articleContents .wp-block-embed__wrapper p.wp-embed-heading {
  font-size: 1.6rem !important;
}
.articleContents .wp-block-embed-wordpress .wp-embed-excerpt p,
.articleContents .wp-block-embed__wrapper .wp-embed-excerpt p {
  font-size: 1.2rem;
}
.articleContents .wp-block-embed-youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.articleContents .wp-block-embed-youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.articleContents .instagram-media {
  max-width: 100%;
  min-width: 1px !important;
  margin: 0 auto 1.857em !important;
}
.articleContents .wp-block-embed-instagram {
  margin-bottom: 1.857em;
}
.articleContents .wp-block-embed-instagram iframe {
  max-width: 100%;
  min-width: 1px !important;
  margin: 0 auto;
}
.articleContents .twitter-tweet {
  margin: 0 auto 1.857em;
}

.wp-block-buttons > .wp-block-button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}
.wp-block-buttons > .wp-block-button a {
  text-decoration: none;
}
.wp-block-buttons > .wp-block-button a:hover {
  color: #f1b4c8 !important;
  border-radius: 0 !important;
  letter-spacing: 0.2em;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　問い合わせ
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=url],
textarea {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid #c7c7c9;
  font-size: 1.6rem;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=url]:focus,
textarea:focus {
  border: 1px solid #f1b4c8;
}

label + input[type=text] {
  margin-top: 10px;
}

.wpcf7-select {
  position: relative;
  width: 100%;
  padding: 10px;
  border: 1px solid #cdcccc;
}

.wpcf7-select::after {
  position: absolute;
  top: 50%;
  right: 10px;
  background: url(images/arrow-down.svg) no-repeat center center;
  background-size: 20px;
  content: "";
  z-index: 1000;
}

.buttonArea {
  text-align: center;
}

/*
input[type="submit"] {
	display: inline-block;
	min-width: 250px;
	padding: 15px;
	font-size: 1.6rem;
  border-radius: 6px;
  border: #aa7942 1px solid;
  background: #fff;
  color: #aa7942;
  font-weight: bold;
  text-decoration: none;
  text-align: center;

  &:hover {
	  background: #b18e67;
  }
}
*/
.wpcf7-list-item {
  display: block;
  width: 100%;
  margin-bottom: 15px !important;
}

span.wpcf7-not-valid-tip {
  display: block;
  margin-top: 5px;
}

div.wpcf7-validation-errors {
  display: block;
  padding: 15px !important;
  border: none;
  background: #f7e700;
  text-align: center !important;
}

div.wpcf7-mail-sent-ok {
  display: block;
  padding: 15px !important;
  border: none;
  background: #89c997;
  color: #fff !important;
  text-align: center !important;
}

.form-container {
  width: 94%;
  max-width: 800px;
  margin: 0 auto 60px;
}

.formArea {
  display: none;
}

.contactTab {
  width: 100%;
  margin: 40px auto 30px;
  border-bottom: 3px solid #cdcccc;
}
.contactTab li {
  width: 50%;
  margin-bottom: -3px;
  text-align: center;
}
.contactTab li a {
  display: block;
  padding: 15px;
  text-decoration: none;
  color: #81511c;
}
.contactTab li a:hover {
  color: #cdcccc;
}

.activeTab {
  position: relative;
  border-bottom: 3px solid #f1b4c8;
}
.activeTab::before {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  margin-left: -9px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 9px 9px 0 9px;
  border-color: #fff transparent transparent transparent;
  z-index: 0;
}
.activeTab::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  margin-left: -10px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 10px 10px 0 10px;
  border-color: #f1b4c8 transparent transparent transparent;
  z-index: -1;
}
.activeTab a {
  color: #3d3c3c !important;
  font-weight: bold;
}

.form-table {
  display: block;
  width: 100%;
  margin: 0 auto 30px;
}
.form-table tbody {
  display: block;
  width: 100%;
}
.form-table tr {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
.form-table th, .form-table td {
  padding: 10px;
  vertical-align: top;
}
.form-table th {
  width: 300px;
  padding-top: 20px;
}
.form-table td {
  width: 500px;
}
.form-table .require {
  display: inline-block;
  margin-left: 0.5em;
  color: #e05f8a;
  font-weight: bold;
  font-size: 1.4rem;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　フッター
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.breadcrumbArea {
  border-top: 1px solid #cdcccc;
}

.breadcrumb {
  width: 94%;
  max-width: 980px;
  margin: 0 auto;
  padding: 20px 0 20px 40px;
  font-size: 1.1rem;
  background: url(images/footer-pin.svg) no-repeat left center;
  background-size: 30px;
  line-height: 1.6;
}
@media screen and (max-width: 600px) {
  .breadcrumb {
    font-size: 1rem;
    letter-spacing: 0;
  }
}
.breadcrumb span {
  display: inline-block;
}

.pagefoot-contact {
  display: none;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .pagefoot-contact {
    display: block;
  }
}
.pagefoot-contact a {
  display: block;
  text-align: center;
  letter-spacing: 0.15em;
  font-size: 2.4rem;
  background: #fcedf2;
  border-top: 1px solid #f9dfe8;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}
.pagefoot-contact a:hover {
  background: #f7f7f7;
  color: #3d3c3c;
  border-top: 1px solid #cdcccc;
}
.pagefoot-contact a span.inner {
  display: inline-block;
  max-width: 980px;
  margin: 0 auto;
  padding: 45px 40px 45px 50px;
  text-align: center;
  font-weight: bold;
  background: url(images/footer-letter.svg) no-repeat left center, url(images/arrow-right.svg) no-repeat right center;
  background-size: 40px;
}

.pagefoot-link {
  display: block;
  width: 100%;
  border-top: 1px solid #cdcccc;
  border-bottom: 1px solid #cdcccc;
}
.pagefoot-link ul {
  -js-display: flex;
  display: flex;
  max-width: 980px;
  margin: 0 auto;
  border-left: 1px solid #cdcccc;
}
.pagefoot-link ul li {
  width: 33.3333333333%;
  border-right: 1px solid #cdcccc;
}
.pagefoot-link ul li a {
  display: block;
  padding: 40px 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
  background-color: #fff;
  background-image: url(images/arrow-right.svg);
  background-size: 30px;
  background-repeat: no-repeat;
  background-position: right 15px center;
}
.pagefoot-link ul li a:hover {
  background-color: #f7f7f7;
  color: #3d3c3c;
}
.pagefoot-link ul li a span {
  display: block;
  font-family: "Open Sans Condensed", sans-serif;
  color: #e05f8a;
}

.footer-menu {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: 20px;
}
.footer-menu a {
  color: #3d3c3c;
  font-size: 13px;
}

.copyright {
  display: block;
  width: 100%;
  padding: 20px 0;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0;
}

/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　タブレット表示
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
@media screen and (max-width: 959px) {
  .contents .works-unit-area {
    z-index: 1000;
  }
  /* ヘッダー */
  #mainNav {
    display: none;
  }
  #spNav {
    display: inline;
  }
  #animatedModal div {
    width: 96%;
    max-width: 400px;
    margin: 0 auto;
  }
  .animatedModal-on {
    opacity: 0.93 !important;
  }
  #spnav {
    position: absolute;
    display: block;
    top: 5px;
    right: 5px;
    width: 60px;
    height: 60px;
    background: url(images/btn-menu.svg) no-repeat center center;
    background-size: 36px;
    content: "";
    text-indent: -100%;
    white-space: nowrap;
    overflow: hidden;
    font-size: 0.6rem;
  }
  .close-animatedModal {
    margin: 25px 0;
    text-align: center;
    z-index: 9999;
  }
  .close-animatedModal span {
    display: inline-block;
    cursor: pointer;
    width: 50px;
    padding-top: 52px;
    background: url(images/btn-close.svg) no-repeat center center;
    background-size: 34px;
    font-size: 1.1rem;
    color: #e05f8a;
    font-weight: bold;
    overflow: hidden;
    text-align: center;
  }
  #spNavi {
    display: block;
    margin: 0 auto 40px;
  }
  #spNavi li {
    margin-bottom: 10px;
    border-bottom: 1px solid #cdcccc;
  }
  #spNavi li a {
    position: relative;
    display: block;
    padding: 15px 40px 15px 15px;
    color: #3d3c3c;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
  }
  #spNavi li a::after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 20px;
    height: 20px;
    margin-top: -15px;
    background: url(images/arrow-right.svg) no-repeat center center;
    background-size: 30px;
    content: "";
  }
  .child {
    width: 100%;
    padding-top: 10px;
    border-top: 1px solid #cdcccc;
  }
  .child li {
    margin-left: 15px;
  }
  .child li:last-child {
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
  }
  /* トップページ */
  .top-hero-area {
    height: calc(100vh - 70px);
  }
  .top-hero-area .inner {
    max-height: calc(100vh - 70px);
  }
  .top-hero-area img {
    margin-bottom: 15px;
    max-height: 35vh;
  }
  .top-hero-area p.catch {
    font-size: 7.5vmin;
  }
  /* 下層ページ */
  .page-ttl_jp {
    width: 100%;
    padding: 0 3% 30px;
  }
  .pageContentsArea {
    margin-bottom: 60px;
    padding: 0 3%;
  }
  .pageContentsArea:before {
    display: none;
  }
  .pg-mainVis {
    padding: 0 4%;
  }
  .pg-mainVis p {
    font-size: 3vw;
  }
  .pagelead_area p.alignL {
    text-align: left;
  }
  .page-link {
    margin-bottom: 60px;
    padding-bottom: 20px;
    border-bottom: 1px solid #cdcccc;
  }
  .page-link li a {
    padding: 5px 15px 45px;
    font-size: 1.2rem;
    font-weight: bold;
  }
  /* ページ送り */
  .sp-nav {
    display: block;
    width: 96%;
    margin: 40px auto;
    overflow: hidden;
  }
  .sp-nav li {
    width: 60px;
    text-align: center;
  }
  .sp-nav .prev {
    float: left;
  }
  .sp-nav .next {
    float: right;
  }
  .sp-nav li a,
  .sp-nav li a:visited {
    display: block;
    padding: 5px 15px 10px;
    border: 1px solid #cdcccc;
    background: #fff;
    font-size: 3rem;
    text-decoration: none;
    color: #3d3c3c;
  }
  .wp-pagenavi {
    display: none;
  }
  /* OEM */
  .portfolio-area {
    margin-bottom: 20px;
  }
  .portfolio-area .ttl {
    font-size: 1.2rem;
  }
  /* 制作事例 */
  .works-cat-list ul {
    display: flex;
    flex-wrap: wrap;
  }
  .works-cat-list ul li {
    width: 50%;
    text-align: center;
  }
  .works-unit-area {
    margin-bottom: 20px;
  }
  .works-unit-area section {
    margin-bottom: 10px;
  }
  .works-unit-area .ttl {
    font-size: 1.2rem;
  }
  /* 問い合わせ */
  .form-table {
    max-width: 600px;
  }
  .form-table th, .form-table td {
    display: list-item;
    list-style: none;
    width: 100%;
  }
  /* フッター */
  .pagefoot-contact span.inner {
    padding-top: 25px;
    padding-bottom: 25px;
    font-size: 1.8rem;
  }
}
/*　＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　スマホ表示
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
@media screen and (max-width: 600px) {
  body {
    position: relative;
  }
  p {
    margin-bottom: 30px;
  }
  ul.circle {
    margin-left: 0;
  }
  .logo {
    min-height: 40px;
    background-size: 40px;
  }
  .logo a {
    padding-left: 50px;
    font-size: 2.4rem;
  }
  /*　トップページ　*/
  .top-news-list li .info {
    width: 100%;
    padding: 10px 10px 0;
  }
  .top-news-list li .info .cat {
    margin-bottom: 5px;
  }
  .top-news-list li .ttl {
    width: 100%;
    padding: 10px;
  }
  .top-portfolio {
    margin-top: 0;
  }
  /* 下層ページ */
  .pageContentsArea {
    margin-bottom: 20px;
  }
  .page-ttl {
    margin: 20px auto 40px;
  }
  .page-ttl.visual {
    margin-bottom: 0;
  }
  .page-ttl span {
    font-size: 3.4rem;
  }
  .page-ttl.mb {
    margin-bottom: 0;
    border-bottom: 0;
  }
  .page-ttl_jp {
    width: 100%;
    margin: 20px auto 40px;
    padding: 0 3% 20px;
    font-size: 2rem;
    text-align: left;
  }
  .page-ttl_jp span.inner {
    font-size: 1.8rem;
    text-align: center;
  }
  .page-ttl_jp.single-ttl {
    margin-bottom: 0;
  }
  /* 見出し */
  .index_pageCenter {
    margin: 40px auto;
  }
  .index_pageCenter span {
    font-size: 3.4rem;
  }
  .index-line {
    margin-bottom: 20px;
  }
  .index_icon {
    margin-bottom: 30px;
    padding-top: 65px;
    font-size: 2rem;
    background-size: 50px;
  }
  .index_icon span.pc-mr {
    margin-right: 0;
  }
  .pg-mainVis {
    min-height: 240px;
  }
  .pg-mainVis.wp {
    background: url(images/wp/bg-sp.jpg) no-repeat center center;
  }
  .pg-mainVis.ec {
    background: url(images/ec/bg-sp.jpg) no-repeat center center;
  }
  .pg-mainVis.color {
    background: url(images/color/bg-sp.jpg) no-repeat center center;
  }
  .pg-mainVis.support {
    background: url(images/support/bg-sp.jpg) no-repeat center center;
  }
  .pg-mainVis.oem {
    background: url(images/oem/bg-sp.jpg) no-repeat center center;
  }
  .pg-mainVis p {
    font-size: 6vw;
  }
  .br:after {
    content: "\a";
    white-space: pre;
  }
  .page-link {
    display: flex;
    flex-wrap: wrap;
  }
  .page-link li {
    width: 50%;
  }
  .page-link li a {
    padding: 10px 5px 35px;
    background-size: 35px;
    font-size: 1.4rem;
    text-align: center;
  }
  .pagelead_area {
    text-align: left;
  }
  /*　ページ下部共通　*/
  #last-block {
    margin-bottom: 40px;
  }
  .infinite-scroll-last,
  .infinite-scroll-error {
    width: 80%;
  }
  .other-creative {
    margin-bottom: 0;
    border-bottom: 0;
  }
  .other-creative li {
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid #cdcccc;
  }
  .other-creative li:last-child {
    border-bottom: 0;
  }
  .other-creative li a {
    padding: 20px 30px 20px 15px;
    font-size: 1.3rem;
    background-size: 30px;
  }
  .other-creative::after {
    width: 100%;
    height: 20px;
    background: #3d3c3c;
    content: "";
  }
  .estimate-area {
    width: 100%;
  }
  /* カラーミー */
  .plan-desc-area-1col {
    margin-bottom: 60px;
    padding: 0 0 60px;
  }
  .ec-plan-2col {
    padding: 60px 20px 40px;
    text-align: left;
    border-right: 0;
    border-bottom: 1px solid #cdcccc;
  }
  .ec-plan-2col p {
    max-width: 375px;
  }
  /* ブランド */
  .product-area img {
    margin-top: 30px;
  }
  .index_productname {
    font-size: 1.8rem;
  }
  .brand-rel li {
    width: 100%;
    border-bottom: 1px solid #cdcccc;
  }
  .brand-rel li:last-child {
    border-bottom: 0;
  }
  .brand-rel li a {
    padding: 20px 15px;
  }
  /* OEM */
  .oem-list-area {
    padding: 40px 0 40px;
  }
  .oem-other-inquiry {
    text-align: left;
  }
  /* 制作事例 */
  .works-cat-list ul {
    margin-bottom: 0;
  }
  .works-cat-list ul li {
    width: 100%;
    font-size: 1.4rem;
    border-bottom: 1px solid #cdcccc;
  }
  .works-cat-list ul li:last-child {
    border-bottom: 0;
  }
  .works-unit-area {
    margin-bottom: 0;
  }
  .works-unit-area a {
    padding: 10px;
  }
  .project-table th, .project-table td {
    display: list-item;
    list-style: none;
    width: 100%;
  }
  .project-table th {
    padding-bottom: 0;
    font-weight: bold;
    line-height: 1.2;
  }
  /* ブログ　*/
  .single-info-area {
    margin-bottom: 30px;
  }
  .cat-list {
    display: flex;
    flex-wrap: wrap;
  }
  .cat-list li {
    -js-display: flex;
    display: flex;
    width: 48%;
    margin: 0 1% 10px;
    text-align: center;
  }
  .cat-list li a {
    -js-display: flex;
    display: flex;
    flex-flow: wrap;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .articleContents .alignleft, .articleContents img.alignleft,
  .articleContents .alignright, .articleContents img.alignright,
  .articleContents .aligncenter, .articleContents img.aligncenter {
    clear: both;
    float: none;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
  }
  /* フッター */
  .pagefoot-contact {
    position: fixed;
    z-index: 200;
  }
  .pagefoot-contact a {
    padding: 0 3%;
    font-size: 1.6rem;
    border-top: 0;
  }
  .pagefoot-contact a span.inner {
    padding: 15px 30px 15px 40px;
    background-size: 30px;
  }
  .pagefoot-link {
    border-top: 1px solid #cdcccc;
  }
  .pagefoot-link ul {
    display: block;
    border-left: 0;
  }
  .pagefoot-link ul li {
    width: 100%;
    border-bottom: 1px solid #cdcccc;
  }
  .pagefoot-link ul li:last-child {
    border-bottom: 0;
  }
  .pagefoot-link ul li a {
    padding: 15px 20px;
    font-size: 1.4rem;
  }
  .copyright {
    padding-bottom: 70px;
    font-size: 1rem;
  }
}/*# sourceMappingURL=style.css.map */