/* tamapla-seita common.css @charset "utf-8";
--------------------------------------------------*/
@view-transition {
  navigation: auto;
}
/* フェードのみ */
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 0.6s; /* フェード時間 */
  animation-timing-function: ease-in-out;
}
/* フェード+ズーム */
@keyframes zoom-fade-in {
  from { opacity: 0; transform: scale(0.90); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes zoom-fade-out {
  from { opacity: 1; transform: scale(1); }
  to   { opacity: 0; transform: scale(1.10); }
}

::view-transition-new(root) {
  animation: zoom-fade-in 0.5s ease;
}

::view-transition-old(root) {
  animation: zoom-fade-out 0.4s ease;
}

/* タグ・フォント リセット
--------------------------------------------------*/
*,*::before,*::after { box-sizing: border-box; }
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,
fieldset,input,p,blockquote { margin: 0; padding: 0; }
fieldset,img { border: 0; }
table { border-collapse:collapse; border-spacing:0; }
address,caption,em,th,var,strong { font-style: normal;
font-weight: normal; }
ol,ul { list-style: none; }

body { font:13px/1.231 "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif; }
h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; line-height: 1.4; }
hr { height: 1px;border: none; border-top: 1px solid #ccc; }
hr.contactHr {height: 1px; border: none;border-top: 1px dotted #999; }
table { font-size:100%; }
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  appearance: none;
  background: none;
  cursor: pointer;
}
/* webアイコン 「X」Twitter ----------------- */
.icon-x:before {
    content: '\1D54F';
    font-size: 107%;
}
/* pc表示初期設定
---------------------------------------------*/
.pc_block { display: block; }
.pc_inline { display: inline; }
.pc_none { display: none; }
.sp_block { display: none; }
.sp_inline { display: none; }
.sps_block { display: none; }
.sp_noBr { display: block; }

/* アンカー
--------------------------------------------------*/
a       { color: #336699; }
a:hover { color: #6f9ece; }
a img   { border: none; }

/* フォントサイズ・太字・下線・インデント
--------------------------------------------------*/
.font9  { font-size:  70%; }
.font10 { font-size:  77%; }
.font11 { font-size:  85%; }
.font12 { font-size:  93%; }
.font13 { font-size: 100%; }
.font14 { font-size: 107%; }
.font15 { font-size: 115%; }
.font16 { font-size: 123%; }
.font17 { font-size: 130%; }
.font18 { font-size: 139%; }
.font19 { font-size: 146%; }
.font20 { font-size: 154%; }
.font21 { font-size: 162%; }
.font22 { font-size: 169%; }
.font23 { font-size: 177%; }
.font24 { font-size: 185%; }
.font25 { font-size: 189%; }
.font26 { font-size: 197%; }
.fontBold { font-weight: bold; }
.fontnormal { font-weight: normal; }
.underline { text-decoration: underline; }
.throughline { text-decoration: line-through; }
.marker { background:#ffff99; }
.indent1 { padding-left: 1em; text-indent: -1em; }
.indent2 { padding-left: 2.7em; text-indent: -2.7em; }

/* フォント カラー
--------------------------------------------------*/
.black { color: #000000; }
.white { color: #ffffff; }
.lpink { color: #ff99ff; }
.lglay { color: #333333; }
.pink  { color: #ff0099; }
.red   { color: #ff0000; }
.blue  { color: #0033cc; }
.green { color: #009966; }
.purple { color: #9966ff; }
.orange { color: #ff9933; }
.lgreen { color: #66cc99; }
.skyblue { color: #2dbce0; }

/* 横幅
--------------------------------------------------*/
.w50 { width: 50px; }
.w80 { width: 80px; }
.w85 { width: 85px; }
.w100 { width: 100px; } 

/* テキスト 位置
--------------------------------------------------*/
.textCenter { text-align: center; }
.textLeft   { text-align: left; }
.textRight  { text-align: right; }
.pageNone { margin:0px 0 300px 0; font-size: 123%; text-align: center; }
#pc_ptauSimulation { text-align: center; }
/* イメージ　フロート・ポジション
--------------------------------------------------*/
.alignleft { float: left;margin: 0 10px 0 0;display: inline; }
.alignright { float: right;margin: 0 0 0 10px;display: inline; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.allclear { clear: both; }
.stretch { float: right;margin: -60px 0px 0px 20px;}
.photoCaption { display: block; }
.respWidth { width: 100%; height: auto; }
.respWidth320px { max-width: 320px; width: 100%; height: auto; }
.respWidth640px { max-width: 640px; width: 100%; height: auto; }
.respWidth800px { max-width: 800px; width: 100%; height: auto; }
.respWidth1080px { max-width: 1080px; width: 100%; height: auto; }
.noimg { display: none; }
.top5  { margin-top:5px; }
.top10 { margin-top:10px; }
.top15 { margin-top:15px; }
.top20 { margin-top:20px; }
.top25 { margin-top:25px; }
.top30 { margin-top:30px; }
.top40 { margin-top:40px; }
.top50 { margin-top:50px; }
.top60 { margin-top:60px; }
.top65 { margin-top:65px; }
.top100{ margin-top:100px;}
.top110{ margin-top:110px;}
.top120{ margin-top:120px;}
.under5 { margin-bottom:5px; }
.under10 { margin-bottom:10px; }
.under15 { margin-bottom:15px; }
.under20 { margin-bottom:20px; }
.under30 { margin-bottom:30px; }
.right5 { margin-right:5px; }
.right10{ margin-right:10px; }
.left5  { margin-left: 5px; }
.left10 { margin-left:10px; }
.ipo1 { position: relative; top: 3px; }
/* WordPress ギャラリー
---------------------------------------------*/
#main div.postContent dl img { width: 95%;margin-bottom: 5px; }
/* ページナビゲーション
---------------------------------------------*/
.wp-pagenavi { clear: both;margin:1.2em 0; }
.wp-pagenavi span,.wp-pagenavi a {
    display: inline-block;
border-radius: 5px;
}
.wp-pagenavi a, .wp-pagenavi a:link {
    padding: 7px 15px; 
    margin: 5px;
    font-size: 107%;
    text-decoration: none;
    border: 1px solid #0066cc;
    color: #0066cc;
    background-color: #FFFFFF;	
    }
.wp-pagenavi a:visited {
    padding: 7px 15px; 
    margin: 5px;
    text-decoration: none;
    border: 1px solid #0066cc;
    color: #0066cc;
    background-color: #FFFFFF;	
    }
.wp-pagenavi a:hover {	
    border: 1px solid #000000;
    color: #000000;
    background-color: #eddada;
    }
.wp-pagenavi a:active {
    padding: 7px 15px; 
    margin: 5px;
    text-decoration: none;
    border: 1px solid #0066cc;
    color: #0066cc;
    background-color: #FFFFFF;	
    }
.wp-pagenavi span.pages {
    padding: 7px 4px; 
    margin: 5px;
    font-size: 107%;
    color: #000000;
    border: 1px solid #000000;
    background-color: #FFFFFF;
    }
.wp-pagenavi span.current {
    padding: 7px 6px; 
    margin: 5px;
    font-size: 107%;
    border: 1px solid #ff0000;
    color: #ff0000;
    background-color: #FFFFFF;
    }
.wp-pagenavi span.extend {
    padding: 7px 4px; 
    margin: 5px;	
    border: 1px solid #000000;
    color: #000000;
    background-color: #FFFFFF;
    }
/* スクロールボタン（javascript 下から）
--------------------------------------------------*/
#page-top-js {
    background-color: rgba(0,0,0,0.6);
}
#page-top-js:not(:target){
    filter: none;
    -ms-filter: none;
}
#page-top-js {
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: -60px;
  right: 10px;
  width: 60px;
  padding: 18px 0px;
  background: rgba(255, 153, 51, 0.9);
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .5s;
  border-radius: 5px;
}
#page-top-js:hover { 
  background: rgba(255, 176, 98, 0.8);
}
#page-top-js i {
    font-size: 130%;
}
#page-top-js span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
/* スクロールボタン（noscript）
--------------------------------------------------*/
#page-top{
  display: block;
  position: fixed;
  z-index: 9999;
  bottom: 0px;
  right: 10px;
  width: 80px;
  padding: 20px 10px;
  background: rgba(0,0,0,.7);
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: .5s;
}
#page-top:hover{ 
  background: rgba(0,0,0,.8);
}
/*------------------------------------------------
  GLightbox css custom animation
--------------------------------------------------*/
.gfadeIn {
  -webkit-animation: gfadeIn 0.5s ease;
  animation: gfadeIn 0.5s ease !important;
}
.gfadeOut {
  -webkit-animation: gfadeOut 0.5s ease;
  animation: gfadeOut 0.8s ease !important;
}
.gzoomIn {
  -webkit-animation: gzoomIn 0.5s ease;
  animation: gzoomIn 0.5s ease !important;
}

.gzoomOut {
  -webkit-animation: gzoomOut 0.8s ease;
  animation: gzoomOut 0.8s ease !important;
}
/*------------------------------------------------
  Modal Nav (global nav 1080px)
--------------------------------------------------*/
html {
    overflow-y: scroll; /* 常にスクロールバー領域を表示 */
}

body.is-nav-opened {
    position: fixed;
    inset: 0;
    width: 100%;
    overflow: hidden; /* 念のため */
}
/* ナビアイコン ここから ---------------*/
.globalMenu {
    position: absolute;
    top: 35px;
    right: 10px;
    z-index: 10;
}
.globalMenuIcon {
    position: relative;
    display: block;
    width: 24px;
    height: 18px;
    cursor: pointer;
}
.globalMenuIcon span {
      display: inline-block;
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #f9bfa3;
      transition: 0.5s;
}
.globalMenuIcon span:nth-of-type(1) {
    top: 0;
}
.globalMenuIcon span:nth-of-type(2) {
    top: 8px;
}
.globalMenuIcon span:nth-of-type(3) {
    bottom: 0;
}
.is-active .globalMenuIcon span:nth-of-type(1) {
    transform: translateY(8px) rotate(-45deg);
}
.is-active .globalMenuIcon span:nth-of-type(2) {
    opacity: 0;
}
.is-active .globalMenuIcon span:nth-of-type(3) {
    transform: translateY(-8px) rotate(45deg);
}
/* メニューアイコン pc非表示 sp表示 */
.globalMenu {
    display: none;
}
@media screen and (max-width: 780px) {
.globalMenu {
  display: block;
  position: fixed;
  }
}
/* ナビアイコン ここまで ---------------*/
/* global nav --------------------------*/
/* 初期状態：非表示だが display は維持する */
#globalNav {
    opacity: 0;
    pointer-events: none;
    transform: translateY(30px); /* 初期位置 */
    background-color: rgba(255,255,255,0.0);
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    height: 100%;
    z-index: 2;
    overflow: hidden;
    transition: opacity 500ms ease, transform 500ms ease, background-color 500ms ease;
}

/* 閉じている状態（is-nav-close） */
.is-nav-close #globalNav {
    opacity: 0;
    pointer-events: none;
    transform: translateY(30px);
    background-color: rgba(255,255,255,0.0);
}

/* 開いた状態（is-nav-opened） */
.is-nav-opened #globalNav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    background-color: rgba(255,255,255,0.95);
}

#globalNavArea {
    max-width: 1080px;
    width: 100%;
    margin: 80px auto 0 auto;
    padding: 20px;
    height: calc(100vh - 56px - 20px); /* ← PCでスクロール可能にする */
    overflow-y: auto;                  /* ← ここがないとPCでスクロールしない */
    -webkit-overflow-scrolling: touch; /* ← スマホの慣性スクロール */
    scrollbar-width: none;
}

#globalNavArea h3 {
    margin-bottom: 10px;
    font-size: 130%;
    color: #568ec6;
}
#globalNavArea ul li {
    font-size: 123%;
    line-height: 1.8;
}
#globalNavArea ul li a {
    color: #333;
    text-decoration: none;
    background-color: #fff8f0;
    transition: all 0.3s;
}
#globalNavArea ul li a:hover {
    color: #ce786f;
}
/* グローバルナビ Group Banner
   Group1とGroup2の2ブロック------------*/
.navGroup1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: clamp(11px,1.3vw, 13px);
}
.navGroup2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    font-size: 107%;
}
/* Group1はTypeAとTypeB
   TypeAはスマホ2列 TypeBはスマホ1列----*/
.navGroup1 .groupTypeA,
.navGroup1 .groupTypeB {
    display: flex;
    width: 100%;
}
.navGroup1 .groupTypeA .g_nav,
.navGroup1 .groupTypeB .g_nav {
    width: calc( 100% / 2);
}

.navBox2 a, .navBanner2 a {
    display: block;
    width: 360px;
    padding: 20px 0;
    color: #333;
    text-decoration: none;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 5px;
    transition: all 0.5s;
}
.navBox2 a:hover, .navBanner2 a:hover {
    background-color: #eee;
}
.gnCompany {
    text-align: center;
}
.gnSns a {
    text-decoration: none;
}
.gnSns i {
  font-size: 177%;
  color: #555;
}
.gnSns i.iconx-logo_X {
  font-size: 139%;
  color: #555;
}
/* クローズボタン ----------------------*/
.gnClose button {
    display: block;
    width: 120px;
    margin: 30px auto 50px auto;
    padding: 10px 3px;
    font-size: 85%;
    background-color: #fff8f0;
    border: 1px solid #f9d4b3;
    border-radius: 5px;
}
/* マルチデバイス ######################*/
@media screen and (max-width: 780px) {
html {
  overflow-y: auto; /* スクロールバー リセット */
  scrollbar-gutter: stable;
}
body.is-nav-opened {
  overflow: hidden;
  }
body.is-nav-opened #wrapper {
/*  overflow: auto; */
  }
/* global menu start--------------------*/
#globalNav, .is-nav-close #globalNav {
  top: 30px;
  }
.is-nav-opened #globalNav {
  height: auto;
  top: 0;
  }
.is-nav-opened #globalNavArea {
  height: 100%;
  margin: 40px auto 0 auto;
  padding: 40px 10px 50px 10px;
  overflow: auto;
/*  background-color: #f9ead7; */
  }
#globalNavArea h3 {
  margin-bottom: 5px;
  }

#globalNavArea .gnLogo img {
  display: block;
  width: 80%;
  height: auto;
  margin: 0 auto;
  }
#globalNavArea ul li {
  font-size: 115%;
  }
.globalMenu {
  top: 17px;
  right: 12px;
  }
/* Group Type --------------------------*/
.navGroup1 .groupTypeA {
  margin-bottom: 20px;
  }
.navGroup1 .groupTypeA,
.navGroup1 .groupTypeB {
  width: 100%;
  flex-wrap: wrap;
  }
.navGroup1 .groupTypeA .g_nav,
.navGroup1 .groupTypeB .g_nav {
  text-align: center;
  }
.navGroup1 .groupTypeB .g_nav {
  width: 100%;
  }
ul.gNav1 li a, ul.gNav2 li a, ul.gNav3 li a {
display: block;
  width: 96%;
  margin: 0 auto 8px auto;
  padding: 5px 0;
  text-align: center;
  border: 1px solid #f9d4b3;
  border-radius: 5px;
  }
.navBox2, .navBanner2 {
  width: 100%;
  }
.navBox2 a, .navBanner2 a {
/*  width: initial; */
  width: 70%;
  max-width: 320px;
  padding: 10px 0;
  height: auto;
  margin: 0 auto 20px auto;
  }
}
/* global menu end----------------------*/

/* clearfix
--------------------------------------------------*/
.clearfix:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
.clearfix {
	display: inline-table;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */
