@charset "UTF-8";
/* ====フォント==== */
body, p, table, td {
  margin: 0 !important;
  padding: 0 !important;
  color: #222222 !important;
  font-size: 16px !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  line-height: 1.8 !important;
  letter-spacing: 0.05em;
}

header a,
header a:link,
header a:visited {
  color: #222222 !important;
}

main a,
main a:link,
main a:visited {
  color: #222222 !important;
}

footer,
footer p,
footer table,
footer td {
  color: #FFF !important;
}

footer a,
footer a:link,
footer a:visited {
  color: #FFF !important;
  text-decoration: none !important;
}

footer a:hover {
  color: #E66E1E !important;
}

/*=========見出し========= */
/*--- メインエリア見出し ---*/

main h1,
main h2,
main h3 {
  font-weight: bold;
}

main h1 {
  margin: 0 0 20px;
  text-align: center;
  letter-spacing: 4px;
  font-size: 32px;
  font-family: 'Noto Sans JP', sans-serif;
  color: #222222;
}

main h2 {
  margin: 0 0 20px;
  color: #222222;
  font-size: 30px;  
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: .5px;
}

main h3 {
  margin: 15px 0 15px;
  padding: 0 0 0 20px;
  background: url(https://u.jimcdn.com/cms/o/s40335d3aca700a1c/userlayout/img/header-ping.png?t=1710028507) no-repeat left 8px;
  background-size: 15px;
  font-size: 20px;
  color: #222222;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: .5px;
}

/*--- フッターエリア見出し ---*/

footer h1,
footer h2,
footer h3 {
  color: #FFF;
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-family: 'Noto Sans JP', sans-serif;
}

footer h1 {
  font-size: 36px;
  text-align: center;
  letter-spacing: 0.2em;
}
footer h2 {
  text-align: center;
}

/* =======ボタン======= */
/*--- ボタン共通 ---*/
.j-calltoaction-link {
  text-align: inherit !important;
}

.button {
  display: block !important;
}

/*--- ボタン1 ---*/
a.j-calltoaction-link.j-calltoaction-link-style-1 {
  display: inline-block;
  padding: 10px 60px;
  border: 1px solid #FFF;
  border-radius: 0;
  background-color: rgba(32,32,32,0.4);
  color: #FFF !important;
}

a.j-calltoaction-link.j-calltoaction-link-style-1:hover {
  color: #e66e1e !important;
}

/*--- ボタン2 ---*/
/*== 外の線が伸びる */
a.j-calltoaction-link.j-calltoaction-link-style-2{
  position:relative; 
  color:#333 !important;
  font-size: 18px;
  background-color: #fff;
  border:1px solid #333;
  padding: 10px 20px;	
  display:inline-block;
  text-decoration: none !important;
  outline: none;
  border-radius: 0 !important;
  transition:all 0.3s ease-in-out;
}

/*hoverした際の背景の形状*/
a.j-calltoaction-link.j-calltoaction-link-style-2:hover{
  background:#f2f2f2;
  color: #2e3851 !important;
  border-color:transparent;
}

/*線の設定*/
a.j-calltoaction-link.j-calltoaction-link-style-2::before,
a.j-calltoaction-link.j-calltoaction-link-style-2::after {
  content:''; 
  position:absolute;
  border:solid #333;
  width:10px;
  height:10px;
  transition:all 0.3s ease-in-out;
}

/*線の位置と形状*/
a.j-calltoaction-link.j-calltoaction-link-style-2::before{
  top:-6px;
  left:-6px;
  border-width:1px 0 0 1px;
}

/*線の位置と形状*/
a.j-calltoaction-link.j-calltoaction-link-style-2::after{
  bottom:-6px;
  right:-6px;
  border-width:0 1px 1px 0;
}

/*hoverした際の線の形状*/
a.j-calltoaction-link.j-calltoaction-link-style-2:hover::before,
a.j-calltoaction-link.j-calltoaction-link-style-2:hover::after{
  width:calc(100% + 11px);
  height:calc(100% + 11px);
  border-color:#666;
}

/*--- ボタン3 ---*/
a.j-calltoaction-link.j-calltoaction-link-style-3 {
  display: block;
  font-weight: 700;
  font-size: 16px;
  font-family: 'Noto Serif JP', sans-serif;
  background: transparent;
  border: none;
}
a.j-calltoaction-link.j-calltoaction-link-style-3:hover {
  color: #e66e1e !important;
}

/* ======画像===== */
a img:hover {
  opacity: .75;
}

/* ====水平線のコントロール==== */
.hr {
  border-color: #CACCD7 !important;
  border-bottom-style: dashed !important;
}

/* =======全体レイアウト====== */
/*--- コンテナレイアウト ---*/
#container {
  background: #FFFFFF;
}
/*トップページのコンテナレイアウトのみ*/
.cc-indexpage #container {
  overflow: hidden;
}

/* ======ヘッダーエリアレイアウト======= */

/*ヘッダーエリアレイアウト共通*/
header {
  background: #FFFFFF;
}

/*--- タグラインレイアウト ---*/
header #tag-line {
  background: #FFFFFF;
  text-align: right;
  padding: 10px 10px 0;
}
header #tag-line p {
  color: #2e3851 !important;
  font-size: 12px !important;
  margin-right: 5px !important;
}

@media screen and (min-width: 769px) {
  header #tag-line {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  #tag-line {
    height: 40px;
  }
}

/*--- グローバルヘッダーレイアウト ---*/
/*グローバルヘッダーレイアウト共通*/
header #global-header {
  position: relative;
  z-index: 100;
  display: flex;
  margin: 0 auto;
  padding: 10px 20px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 768px) {
  #global-header {
    padding: 0 !important;
    justify-content: flex-start;
  }
}

/*ロゴレイアウト*/
header #global-header-logo {
  margin: 10px 20px;
  max-width: 320px;
}

header #global-header-logo img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  #global-header-logo {
    margin: 0 auto !important;
    padding: 20px 20px;
  }
}

@media screen and (max-width: 768px) {
  #global-header-right {
    padding: 0;
    height: 0;
  }
}

/*--- メインビジュアルレイアウト ---*/
#main-visual {
  display:none
}

/*メインビジュアルレイアウト共通*/
/*---メインビジュアル画像（トップページ）---*/
.cc-indexpage header #main-visual {
  display: block;
  width:100%;
  height: 49vw;
  background: url(https://u.jimcdn.com/cms/o/s40335d3aca700a1c/userlayout/img/main-visual2.jpg?t=1710028538) no-repeat center;
  background-size: cover;
  position: relative;
}

/*---メインビジュアルレイアウト（スマートフォン表示）---*/
@media screen and (max-width: 480px) {
  header #main-visual {
    min-height: 320px;
  }
}

/* =====コンテンツエリアレイアウト====== */
/*---- コンテンツエリア全体レイアウト ---*/
/*コンテンツエリアレイアウト共通*/
#content {
  margin: 0 auto;
  position: relative;
  z-index: 10;
  display: flex;
  box-sizing: border-box;
  max-width: 1200px;
  width: 100%;
  justify-content: space-between;
}

/*コンテンツエリアレイアウト（トップページのみ）*/
.cc-indexpage #content {
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  #content {
    padding: 0;
    flex-wrap: wrap;
    margin: 0;
  }
  /*--モバイル版の余白（TOPページ）--*/
  .cc-indexpage #content .cc-m-spacer {
    height: 100px !important;
  }
}

/*--- メインエリアレイアウト ---*/
/*メインエリアレイアウト（共通）*/
main {
  margin: 0 auto;
  padding: 30px 20px 40px;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  min-height: 500px;
}

/*メインエリアレイアウト（トップページのみ）*/
.cc-indexpage main {
  margin: 0 auto;
  padding: 0 0;
  max-width: 100%;
  width: 100%;
  background: transparent;
  box-sizing: border-box;
  min-height: 500px;
}

/* =====フッターエリアレイアウト====== */
/*--- フッターエリアレイアウト共通 ----*/
footer {
  background: url(https://u.jimcdn.com/cms/o/s40335d3aca700a1c/userlayout/img/sidearea2.jpg?t=1710028543) no-repeat center;
  background-size: cover;
  }

footer #footer-inner {
  background-color: rgba(0, 0, 0, .4);
}

/*--- フッターエリアレイアウト（ナビゲーション） ---*/
footer nav#footer-nav {
  padding: 10px 0 20px;
}

@media screen and (max-width: 768px) {
  footer nav#footer-nav {
    display: none;
  }
}

/*--- フッターエリアレイアウト（グローバルフッター） ---*/
footer #global-footer {
  padding: 0 80px;
  min-height: 100px;
}

@media screen and (max-width: 768px) {
  footer #global-footer {
    padding: 50px 40px;
  }
}
/*---フッターエリアSNSアイコン---*/
.footer-sns {
  display: flex;
  justify-content: space-evenly;
  list-style: none;
  padding:0 !important;
  overflow: visible !important;
}
.footer-sns li:hover {
  transform: scale(1.2);
  transition-duration: 0.5s;
}

/*--- フッターエリアレイアウト（ボトムエリア） ---*/
footer #footer-bottom {
  padding: 25px 30px;
}
/*--独自入力CSS--*/
/*=== LoadingのためのCSS ===*/
.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #6bc0e3;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

.loading-animation img {
  width:700px;
}

/*====ナビメニュー 左右から線が伸びて枠線になる=====*/
@media screen and (min-width: 769px) {
  #header-nav .mainNav1 li{
    position: relative;
    margin:0 10px;
  }
  #header-nav .mainNav1 li::before,
  #header-nav .mainNav1 li::after{
    content:"";
    position: absolute;
    width: 0;
    height:2px;
    background: #2e3851;
    transition: all 0.2s linear;
    transition-delay: 0.2s;
  }
  #header-nav .mainNav1 li::before{
    right: 0;
    top: 0;
  }
  #header-nav .mainNav1 li::after{
    left: 0;
    bottom: 0;
  }
  #header-nav .mainNav1 li span{
    display: block;
  }
  #header-nav .mainNav1 li span::before,
  #header-nav .mainNav1 li span::after{
    content:"";
    position: absolute;
    width:1px;
    height:0;
    background: #2e3851;
    transition: all 0.2s linear;
  }
  #header-nav .mainNav1 li span::before{
    left: 0;
    top: 0;
  }
  #header-nav .mainNav1 li span::after{
    right: 0;
    bottom: 0;
  }
  #header-nav .mainNav1 li.current::before,#header-nav .mainNav1 li.current::after,#header-nav .mainNav1 li:hover::before,#header-nav .mainNav1 li:hover::after{
    width: 100%;
  }
  #header-nav .mainNav1 li.current span::before,#header-nav .mainNav1 li.current span::after,#header-nav .mainNav1 li:hover span::before,#header-nav .mainNav1 li:hover span::after{
    height: 100%;
  }
}
/*----TOPページ----*/
/*--メインビジュアル見出し--*/
.cc-indexpage header #main-visual h1{
  position: absolute;
  bottom: 0;
  font-size: 4.5vw;
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #2e3851;
  background: rgba(255,255,255,0.8);
  width: -webkit-fill-available;
}
.cc-indexpage header #main-visual h1 span {
  color:#E66E1E;
}
@media screen and (max-width: 768px){
  .cc-indexpage header #main-visual h1{
    font-size: 7vw;
  }
}

/*----messageスペース----*/
/*---メッセージ文章位置---*/
#cc-m-14370732592 {
  max-width: 900px;
  margin: 0 auto;
}
/*---メッセージエリア文字サイズ・モバイル対応---*/
@media screen and (max-width: 768px){
  #cc-m-14370732492 p span {
    font-size: 5.5vw !important;
  }
  #cc-m-14370732592 p span {
    font-size: 16px !important;
  }
}

/*--MESSAGEなどのフォント指定---*/
#cc-m-14370732392 h1,#cc-m-14370732892 h1,#cc-m-14370734492 h1,#cc-m-14370735992 h1,#cc-m-14370736492 h1,
#cc-m-14370704692 p {
   font-size: 5vw !important;
   letter-spacing: .15em;
   font-family: 'Bodoni Moda', serif !important;
   font-weight:700;
   background: url(https://u.jimcdn.com/cms/o/s40335d3aca700a1c/userlayout/img/titlebackimg-1.jpg?t=1710028709);
   background-clip: text;
   -webkit-background-clip: text;
   color: transparent !important;
   text-align: left;
}
@media screen and (max-width: 768px){
  #cc-m-14370732392 h1,#cc-m-14370732892 h1,#cc-m-14370734492 h1,#cc-m-14370735992 h1,#cc-m-14370736492 h1,
  #cc-m-14370704692 p {
    font-size: 3.2em !important;
    letter-spacing: .05em;
  }
}
/*----プロフィール----*/
#cc-m-14370732892 {
  background: #E8F1F4;
  margin: 0 -100%;
  padding: 40px 100% 10px!important;
}
#cc-m-14370732992 {
  background: #E8F1F4;
  margin: 0 -100%;
  padding: 0 100% 40px !important;
}

/*--スライド写真枠--*/
#cc-m-gallery-14370733592 {
  border: 3px solid #2E3851;
}
#cc-m-14370734092 {
  display: none;
  margin-top: 30px;
  padding: 20px 0;
  width: 100%;
}
#cc-m-14370733392 {
  margin-top: 30px;
}
#cc-m-gallery-14370733592 > div > div.bx-viewport > ul > li > div > span {
  display: none;
}

@media screen and (max-width: 768px){
  #cc-m-14370732892 {
    padding: 20px 100% 10px !important;
  }
  #cc-m-14370732992 {
    padding: 0 100% 20px !important;
  }
  #cc-m-14370733392{
    display: none;
  }
  #cc-m-14370734092{
    display: block;
  }
}

/*--------SNSスペース------------*/
/*--文章したの余白--*/
#cc-m-14370734792 {
  margin-bottom: 20px 
}

/*--マウスhover時--*/
#cc-m-14370735192 > p > span > a > span > strong:hover{
  color: #e66e1e;
}
#cc-m-14370735192 a:link {
  text-decoration: none !important;
}

#cc-m-14370735192{
  background: #2e3851;
}

/*--モバイル版--*/
/*--PCのfacebookタイトル上の余白を非表示--*/
@media screen and (max-width: 768px){
  #cc-m-14370735092{
    display: none;
  }
/*--facebookタイトルの幅--*/
  #cc-m-14370735192{
    margin: auto;
    width: 350px;
  }
/*--PC用のimg.btn非表示--*/
  #cc-m-14370734892,#cc-m-14370734992{
    display: none;
  }
}

/*--PC版--*/
/*--facebookのtitle幅--*/
@media screen and (min-width: 769px){
 #cc-m-14370735192{
   max-width: 350px !important;
   margin: auto;   
 } 
/*--モバイル用のimg.btn非表示--*/
 #cc-m-14370735592,#cc-m-14370735692{
  display: none;
 }
}

/*--facebookの記事をセンターに表示--*/
#cc-m-14370735292{
  text-align: center;
}

#cc-m-14370735292 > div.fb-page.fb_iframe_widget > span > iframe{
  border: 2px solid #2e3851 !important;
}

/*----活動ライブラリースライド----*/
.slide-container {
  width: 100%;
  margin: 40px -100%;
  display: flex;
  align-items: center;
  overflow: visible;
}
.slide-wrapper {
  display: flex;
  animation: slide-flow 60s infinite linear 1s both;
}
.slide{
  width: 350px;
  margin-right: 20px;
  object-fit:cover;
  border: 1px solid #ddd;
}
@keyframes slide-flow {
     0% {transform: translateX(0);}
 100% {transform: translateX(-100%);}
}
.slide-paused:hover .slide-wrapper {
  animation-play-state: paused;
}
.slide-paused:hover .slide-wrapper img:hover {
  cursor: grabbing;
  transform: scale(1.15);
  transition-duration: 0.5s;
}

/*----------実績ピックアップ--------------*/
#cc-m-14370737092 {
  margin: 0 -100%;
  padding: 40px 100% 170px !important;
  background: #E8F1F4;
}
#cc-m-14370737292{
  margin-top: -130px;
}

#cc-m-14370737292 img {
  border-radius: 4px;
}

#cc-m-14370737292 img:hover {
  transform: scale(1.15);
  transition-duration: 0.5s;
}
@media screen and (max-width: 768px) {
  #cc-m-14370737292 img {
    width: 100%;
  }
}
#cc-m-14370737292 .cc-imagewrapper {
  opacity:0;
  transform: translateY(20px);
  transition: 1.2s;
}

/*----プロフィールページ----*/
#cc-m-14370716792 {
  min-height: 350px;
  height: 24vw;
  background: url(https://u.jimcdn.com/cms/o/s40335d3aca700a1c/userlayout/img/ihara-img-5.jpg?t=1710028513) no-repeat center;
  background-size: cover;
  box-sizing: border-box;
  display: inline-block;
  box-shadow: 10px 10px 5px #BBBBBB;
  padding: 0;
  width: 100%;
}
#cc-m-header-14370716792{
  text-align: right;
  font-size: 5em !important;
  letter-spacing: .1em;
  font-family: 'Bodoni Moda', serif !important;
  color: #2e3851;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  #cc-m-header-14370716792{
    font-size: 3em !important;
  }
}

/*------年表*/
.timeline {
  margin:50px auto;
  padding:0;
}
.timeline li {
  position:relative;
  list-style:none;
  padding:0 0 20px 0;
}
.timeline dl {
  margin:0 0 20px 3em;
}
.border-line {
  position:absolute;
  left:0.2em;
  top:0;
  width:2px;
  height:0;
  background:#2e3851;
}
.timeline li::after {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:10px;
  height: 10px;
  background:#999999;
  border-radius:50%;
}

#cc-matrix-3999643392 {
  background: aliceblue;
  padding: 10px;
}

/*--年表横の画像--*/
@media screen and (max-width: 768px) {
  #cc-m-14370717392,#cc-m-14370717292 {
    display: none;
  }
}
/*---実績---*/
#cc-m-14370718692:first-letter,#cc-m-14370719192:first-letter,#cc-m-14370720292:first-letter,
#cc-m-14370722492:first-letter,#cc-m-14370725892:first-letter,#cc-m-14370727792:first-letter {
  font-size: 180%;
  color: #e66e1e;
}

/*--カラム配置逆--*/
@media screen and (min-width: 769px) {
  #cc-m-14370719092 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #cc-matrix-3999643692 {
    padding: 0 0 0 20px;
  }
}
#cc-m-14370718392,#cc-m-14370719092,#cc-m-14370719792,#cc-m-14370721092,#cc-m-14370722392,
#cc-m-14370723392,#cc-m-14370724392,#cc-m-14370725792,#cc-m-14370726892,#cc-m-14370727692,#cc-m-14370728692{
  background: aliceblue;
  padding: 10px !important
}

/*-----応援するページ-----*/
/*--トップ画像--*/
#cc-m-14370710892 {
  min-height: 350px;
  height: 20vw;
  background: linear-gradient(rgba(0,0,0,0.2),rgba(0,0,0,0.2)), url(https://u.jimcdn.com/cms/o/s40335d3aca700a1c/userlayout/img/ihara-img-6.jpg?t=1710028518) no-repeat center;
  background-size: cover;
  box-sizing: border-box;
  display: inline-block;
  box-shadow: 10px 10px 5px #BBBBBB;
  padding: 0;
  width: 100%;
}

#cc-m-header-14370710892{
  text-align: left;
  font-size: 4em !important;
  letter-spacing: .1em;
  font-family: 'Bodoni Moda', serif !important;
  color: #FFFFFF;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  #cc-m-header-14370710892{
    font-size: 3em !important;
  }
}

/*---LINE・SNSエリアの色---*/
#cc-matrix-3999642192,#cc-matrix-3999642292{
  padding-top: 20px !important;
  background: #F2F2F2;
}
@media screen and (max-width: 768px){
  #cc-matrix-3999642192 img,#cc-matrix-3999642292 img,#cc-m-14370713992 {
    display: none;
  }
  #cc-matrix-3999642292 {
    margin: 50px 0;
  }
}

/*-----事務所案内ページ-----*/
/*---フォントh2--*/
#cc-matrix-2275618892 h2 {
  padding-left: 20px;
  margin: 0 !important;
}

/*-----事務所案内枠-----*/
/*--見出し前の黄色線--*/
#cc-m-14370705292,#cc-m-14370705992,#cc-m-14370706892,#cc-m-14528157792{
  position: relative;
}

#cc-m-header-14370705292:before,#cc-m-header-14370705992:before,#cc-m-header-14370706892:before,#cc-m-header-14528157792:before {
  width: 7px;
  content:'';
  display: block;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  background-color: #e66e1e;
}
/*--住所欄の空白--*/
#cc-matrix-3999640592,#cc-matrix-3999640792,#cc-matrix-3999640992,#cc-matrix-4027763092 {
  padding: 0 0 10px 10px;
}
/*--OGP用img非表示--*/
#cc-m-14370732192,#cc-m-14370716492,#cc-m-14370710692,#cc-m-14370704592 {
  display: none;
}

/*--TOPアイコン--*/
.cc-FloatingButtonBarContainer .cc-FloatingButtonBarContainer-button-scroll span {
  display: block;
  width: 75px;
  height: 75px;
  background: url(https://u.jimcdn.com/cms/o/s40335d3aca700a1c/userlayout/img/up-icon2.png?t=1710028721)no-repeat center top !important;
  background-size: 75px !important;
  border-radius: 50%;
  opacity: 1;
}
ul.cc-FloatingButtonBarContainer.cc-FloatingButtonBarContainer-right li a {
  background: transparent;
}
li.cc-FloatingButtonBarContainer-button-scroll.cc-FloatingButtonBarContainer-button-scroll-show a {
  border: none !important;
}

@media screen and (max-width: 999px) {
  .cc-FloatingButtonBarContainer .cc-FloatingButtonBarContainer-button-scroll span{
    width: 50px;
    height: 50px;
    background-size: 50px !important;
    border-radius: 0;
  }
  .cc-FloatingButtonBarContainer {
    right: -0.2rem !important;
  }
}