:root {
	--font_14:0.875rem;
	--font_16:1rem;
	--font_30:1.875rem;
	--font_36:2.25rem;
	--font_48:3rem;
	--40:2.5rem;
	--30:1.875rem;
	--margin_30:1.875rem;
	--margin-54:3.375rem;
	--margin-60:3.75rem;
	--margin-100:6.25rem;
	--margin-120:7.5rem;
}
html {font-family: "Roboto",Noto Sans JP, Noto Serif JP, Hiragino Sans,"Meiryo","Hiragino Kaku Gothic ProN",sans-serif; background-color:#FFF}
body {font-family: "Roboto",Noto Sans JP, Noto Serif JP, Hiragino Sans,"Meiryo","Hiragino Kaku Gothic ProN",sans-serif; overflow-x: hidden; background-color:#FFF; font-weight:400;font-style: normal; color:#333; font-size:14px}
a,a:hover,a:focus,i,input,button,input:focus,.transition {text-decoration: none;outline: none;transition-delay: 0s;transition-duration: 0.4s;transition-property: all;transition-timing-function: ease;box-shadow: none;}

iframe {border: 0;outline: none;}
::-moz-selection {background: var(--red);text-shadow: none;color:var(--white)}
::selection {background:var(--red);text-shadow: none;color:var(--white)}
img {max-width: 100%;border: none;outline: none;height: auto;}
input,textarea {border-radius: 0;resize: none;}
ul {padding: 0;margin: 0;}
@font-face {
font-family: 'DM Serif Display', serif;
font-family: 'Roboto', sans-serif;}
input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {background-color: transparent;background-image: none;color:#000;}
/* 1.2 Typography */
h1,h2,h3,h4,h5,h6 {font-family: 'Noto Serif JP, ', serif;}
figure{ margin: 0 }
svg,img { max-width: 100%; height: auto; }
.ds-boder_text{ position: relative; display: inline-block; }
.ds-boder_text span{ position: relative; z-index: 1 }
.ds-boder_text:after{ content: ""; position: absolute; bottom: 0; left: 0; background-color:#A6F3E7; height: 0.9375rem; width:100%;}
.margin-60{ margin-bottom: var(--margin-60);  }
.padding-0{ padding-top: 0 }
.ds-view-button{font-weight: 600; font-size: 1rem; color: #000}
.ds-view-button i{ display: inline-block; vertical-align: middle; color: #00B7CC; font-size: 1.625rem; }
.ds-view-button:hover{color: #00B7CC; }
.text-left{ text-align: left; }
.ds-arrow {background: #00B7CC;height:0.125rem;width:3.125rem;position: relative;cursor: pointer; display: inline-block; vertical-align: middle;transition-delay: 0s;transition-duration: 0.4s;transition-property: all;transition-timing-function: ease; margin-left:0.5rem}
.ds-arrow:before, .ds-arrow:after {content: "";background: #00B7CC;position: absolute;height:0.125rem;width:0.8125rem;}
.ds-arrow:before {right: -0.25rem;bottom: -0.25rem;transform: rotate(-45deg);}
.ds-arrow:after {right: -0.25rem;top: -0.25rem;transform: rotate(45deg);}
.ds-button-arrow:hover .ds-arrow{ margin-left:0.9375rem }

.ds-back-to-home{ display: inline-block; padding:0.625rem 1.25rem; border-radius: 100%; border: 1px solid #000; font-size: 1.875rem; color: #000 }
.ds-back-to-home:hover{ color: #000 }
/*-----------------------------------------------------------------
  1. >>> Headr Style
----------------------------------------------------------------*/
.ds-header{ padding-top:3.75rem; padding-bottom:var(--40);}
.ds-logo{font-family: 'Inter', sans-serif; color:#000; font-size:1rem; font-weight: 600; text-transform: uppercase;}
.ds-logo:hover{color:#000;}

/*-----------------------------------------------------------------
  2. >>> menu Style
----------------------------------------------------------------*/
.top_text{
  margin: 0.5rem 0 0rem 1rem;
  text-align: center;
  color: hsl(342, 40%, 50%);
	font-feature-settings: "palt";
	letter-spacing:0.05em;
}
.top_text h3{
  margin: 0;
}
@media (max-width: 767px) {
  .top_text{
    margin: 0.5rem 0 -0.5rem 1rem;
    text-align: center;
    font-size: 0.7rem;
  }
  .top_text h3{
    background-color: #d57491;
    color: #eee;
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .br-sp {
    display: none;
  }
}

.shatai {
  transform: skewX(-13deg);
}
.heading-31 {
    position: relative;
    padding: .3em 0 .2em 1em;
    border-bottom: 3px solid #d57491;
    color: #333333;
}

.heading-31::before {
    position: absolute;
    top: 0;
    left: .3em;
    transform: rotate(55deg);
    height: 11px;
    width: 12px;
    background: #d57491;
    content: '';
}

.heading-31::after {
    position: absolute;
    transform: rotate(15deg);
    top: .6em;
    left: 0;
    height: 8px;
    width: 8px;
    background: #d57491;
    content: '';
}

.top_read {
  border: 1px solid #a5c9c1;
  box-shadow: 5px 5px rgb(165, 201, 193,0.3);
  color:#333; /* 文字色（黒）*/
  margin: 2rem 0 3rem 0;
  padding: 0.8rem;
  font-size: 1rem;
}
.top_read_sideBorder {
    border-bottom: 2px solid #d57491;
    color: #333333;
}

.menu_header {
  background: rgba(255, 255, 255);
  top: 0;
  height: 100px;
  padding-bottom: 8.5rem;
  position: fixed;
  width: 100%;
  z-index: 999;
}
@media (max-width: 767px) {
.menu_header {
  padding-bottom: 11.5rem;
}
}
/* Bootstrapのクラスと競合しないよう調整 */
.menu_nav_menu {
  background-color: #d57491;
  padding: 0 10px 0 0;
}

/* メニュー項目の装飾 */
.menu_nav_menu_item {
  margin-left: 30px;
  list-style-type: '│ ';
}

/* リンク色調整 */
.menu_header a.nav-link {
  color: #eee;
}

.menu_header a.nav-link:hover {
  color: #fff;
}


.hamburger-icon {
  width: 30px;
  height: 22px;
  position: relative;
  display: inline-block;
}

.hamburger-icon span {
  background: #000;
  height: 3px;
  width: 100%;
  position: absolute;
  left: 0;
  transition: 0.3s;
}
.hamburger-icon span:nth-child(1) { top: 0; }
.hamburger-icon span:nth-child(2) { top: 9px; }
.hamburger-icon span:nth-child(3) { top: 18px; }

/* ハンバーガーボタンの余計な枠や影を消す */
.navbar-toggler {
  border: none;
  background: transparent;
  box-shadow: none;
}

.navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}

/*-----------------------------------------------------------------
  2. >>> Banner Style
----------------------------------------------------------------*/
.ds-banner-section{ text-align: left; margin-bottom: var(--margin-120);  }
.ds-heading,.ds-heading-inner{ font-size: var(--font_36); line-height:6rem; margin-bottom:3.1875rem;}
.ds-heading span{ border-bottom:8px solid #f8c9d7;}


.ds-banner-section figure{ margin-bottom: var(--margin-54) }
.ds-banner-section p{font-size:var(--font_16);line-height:var(--30); margin-bottom: var(--30); }
.ds-button{ display: inline-block; text-transform: uppercase; color: #FFF; background-color: #45CD86; border-radius:var(--font_30); padding:1.125rem 3.625rem; font-weight: 700; letter-spacing: 1px }
.ds-button:hover{ color: #FFF; background-color:#3bb173  }
.ds-content-width p{ width:570px }

.ds-project-list{ display: grid;grid-template-columns: auto auto; margin:0 -0.75rem}
.ds-project-list-loop{ padding: 0 0.75rem; }
.ds-project-list-loop:nth-child(even){ margin-top:- var(--margin-120) }
.ds-project-list-loop:nth-child(odd){ margin-top: var(--margin-120) }
.ds-project-list-loop-inner{ background-color:#FFF; box-shadow: 0px 0px 1px #cecaca;transition-delay: 0s;transition-duration: 0.8s;transition-property: all;transition-timing-function: ease;transform: translateY(0); }
.ds-project-list-loop-inner section{padding:1.875rem   }
.ds-project-list-loop a{ color: #000 }
.ds-project-list-loop:hover .ds-project-list-loop-inner{
  /*box-shadow: 0px 0px 20px #cecaca;*/transform: translateY(-1.25rem);
}
/*-----------------------------------------------------------------
  3. >>> About Style
----------------------------------------------------------------*/
.ds-proj-hedding{ font-size:1.625rem; margin-bottom:0.5rem;font-family: 'Inter', sans-serif; font-weight: 600 }
.ds-tools{ font-weight:400; font-size: 1.125rem; display: block; }
.ds-about-section{ margin-top:8.8125rem }
.ads-bout-section .ds-heading-inner,.ds-back-home{ margin-bottom: var(--margin-54) }


.ds-left-right-section .ds-hedding{font-size:3rem; position:relative; margin-bottom:0.875rem;font-family: 'Noto Serif JP', serif;}
.ds-left-right-section {margin-bottom: var(--margin-120);}
.ds-left-right-section  figure{ margin-bottom: var(--margin-60); }
.ds-left-right-section .ds-tools{ font-weight: 700 }
.ds-left-right-section  p{ font-size: 1.375rem; line-height:var(--font_36); margin-bottom: 2.5rem }
/*-----------------------------------------------------------------
  4. >>> Project Style
----------------------------------------------------------------*/
.ds-case-studies-list{margin-bottom: var(--margin_30);}
.ds-case-studies-list figure{ margin-bottom: var(--margin-60); }
.ds-hedding{ font-size: var(--font_36); margin-top: 6rem;margin-bottom: var(--font_14); }
.ds-tools{ font-weight: 700 }
.ds-case-studies-list h2 {
  padding-top: 1rem;
  padding-bottom: 2rem;
  line-height: 2em;
	font-size: 1.4rem;
  font-feature-settings: "palt";
	letter-spacing:0.05em;
}

.ds-case-studies-list span {
  background: linear-gradient(transparent 60%, #f8c9d7 2rem);
  /* border-bottom:8px solid #f8c9d7;
  padding-bottom: 0rem; */
}
.ds-case-studies-list h3 {
	/* padding-top: 0.5rem; */
	/* padding-bottom: 0.5rem; */
	padding: .2em .7em;
	margin: 2rem 0;
  border-left: 5px solid #d57491;
  color: #333333;
	font-feature-settings: "palt";
	letter-spacing:0.05em;
}
.ds-case-studies-list h4 {
    position: relative;
    padding: .5em .7em .4em;
    border-bottom: 2px solid #d57491;
    color: #333333;
}
.ds-case-studies-list h4::before,
.ds-case-studies-list h4::after {
    position: absolute;
    left: 30px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.ds-case-studies-list h4::before {
    background-color: #d57491;
}

.ds-case-studies-list h4::after {
    bottom: -11px;
    background-color: #fff;
}
.ds-case-studies-list p{ font-size: var(--font_16); line-height:var(--font_36); margin-bottom: 2.5rem; text-indent: 1em;}
.ds-view-button{font-weight: 600; font-size: 1rem; color: #000}
.ds-view-button i{ display: inline-block; vertical-align: middle; color: #00B7CC; font-size: 1.625rem; }
.ds-view-button:hover{color: #00B7CC; }
.ds-case-studies-details{ padding-bottom: 5.25rem; }
.ds-case-studies-details .ds-case-studies-list{ margin-bottom: 2.75rem; }
.ds-case-studies-details .ds-tools{ margin-bottom: var(--margin-60); display: block; }
.prj2 td:first-child {
  width:5rem;
}

.midashi {
	font-family: 'Roboto';
	font-size: large;
}
/*-----------------------------------------------------------------
  5. >>> Footer Style
----------------------------------------------------------------*/
.ds-footer{ background-color: #D57491; padding:1.25rem 0; }
.ds-padding-0-about.ds-footer{ padding-top: 0 }
.ds-lets_section h4{ color: #000;font-family: 'Inter', sans-serif; font-weight: 700; font-size:4.375rem; margin-bottom: 1.0625rem  }
.ds-lets_section span{ color: #000; font-size:1.125rem;  }

.ds-footer a{ color: #eee; }
.ds-footer a:hover{ color: #fff; }
.ds-footer li{
    list-style-type: '＋ ';
    line-height: 2em;
}

.ds-email_social{ display: flex; justify-content: space-between; align-items: center; padding:6.375rem 0; padding-bottom: 2.5rem }
.ds-email{ color: #000; font-size: var(--font_30); font-weight: 600; display: inline-block; }
.ds-email:hover{color: #000;}
.ds-social{list-style: none; padding: 0; margin: 0; display: flex;}
.ds-social li{ margin-right:4rem; }
.ds-social li:last-child{ margin-right: 0 }
.ds-social a{ color: #797979; font-size: 2.5625rem; }
.ds-social a:hover{ color: #000 }
.ds-copyright{ display: block; text-align: center; color: #fff; font-size:0.825rem }
.ds-copyright a{color: #797979;}
.ds-copyright a:hover{color: #797979; text-decoration: underline;}
/*-------------------------------------------------------------------------------
 XS Style @media (max-width: 767px) 
-------------------------------------------------------------------------------*/
@media (max-width: 767px) {
.row{ margin-left:0; margin-right:0  }
.container{ padding-left:1.25rem; padding-right: 1.25rem;  }
.ds-header{ padding:3.75rem 0  }
/* .ds-heading{font-size: 2.375rem;line-height: 4rem;} */
.ds-heading{line-height: 4rem;}
.ds-heading-inner{font-size: 3.375rem;line-height: 6rem;}
.ds-about-section .ds-heading-inner{ margin-bottom:3.75rem }
.ds-about-section{ margin-top: 5.8125rem }
.ds-case-studies-details .ds-tools{ margin-bottom: 1.875rem }
.ds-heading span br{ display: none; }
.ds-banner-section{ margin-bottom: var(--margin_30) }
.ds-content-width p{width: 100%}
.ds-lets_section h4{font-size: 3.375rem;}
.ds-project-list{ grid-template-columns: auto; }

.ds-project-list-loop:nth-child(even),.ds-project-list-loop:nth-child(odd){ margin: 0; margin-bottom:1.875rem  }

.ds-case-studies-details .ds-case-studies-list{ margin-bottom: -0.25rem }
.d-flex{ flex-wrap:wrap; }
.ds-left-right-section section{ margin-bottom:1.875rem  }
.ds-left-right-section{ margin-bottom:1.875rem  }
.ds-footer{ padding-top:1.875rem }
.ds-email_social{justify-content: center;flex-wrap: wrap; padding: 4.375rem 0}
.ds-copyright{ text-align: center; }
.ds-social{ margin-top: 1.25rem }
}

@media (min-width: 768px) and (max-width: 991px) {
}

@media (min-width: 992px) and (max-width: 1199px) {
}
