@charset "utf-8";
/* CSS Document */
html { 
scroll-behavior: smooth;
font-size: 16px;
line-height: 1.6em;
}

/* pagetop */
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
	opacity: 0.5;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: translateY(20%) rotate(-45deg);
}

.pagetop:hover{
opacity: 1;
}

/* font 設定　*/

.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.shippori-mincho-regular,.txt_min {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.sorts-mill-goudy-regular,.txt_e {
  font-family: "Sorts Mill Goudy", serif;
  font-weight: 400;
  font-style: normal;
}

.sorts-mill-goudy-regular-italic {
  font-family: "Sorts Mill Goudy", serif;
  font-weight: 400;
  font-style: italic;
}

/* 初期設定　*/

body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
    -webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
}

input, button, textarea, select {
	-webkit-appearance: none;
	appearance: none;
}


/* スタイルSTART　*/
/* MENU　*/
header {
  text-align: center;
}

 
h1 img {
width: 110px;
height: auto;
}
#top-logo {
position: absolute;
left: 10px;
top: 20px;
}
#top-logo-sp {
  display:none;
}
.cb_header_wrapper {
width: 100%;
height: auto;
background-color: #000;
}

.cb_container {
display: block;
width: 1024px;
margin: 0 auto;
position: relative;
}

.cb_gmemu {
list-style: none;      /* リストマーカーを消す */
margin: 0;
display: flex;         /* flexで横並び！ */
justify-content: center;  /* 横方向中央揃え（お好みで） */
gap: 40px;             /* メニュー間の余白 */
color: #FFF;
padding: 15px 0;
margin-left: 100px;
}

.cb_gmemu .txt_e {
font-size: 18px;
}

.cb_gmemu .txt_min {
font-size: 14px;
}

.cb_gmemu li {
  text-align: center;
}
.cb_gmemu a:hover {
  text-decoration: none;
  color: white;
}
.cb_sp_menulogo {/* 250815　追加 */
display: none;
}


#cb_pc_logo {/* 250828追加 */
  width: 160px;
  margin-top: 5px;
  margin-left: -4vw;
  margin-right: 120px;
}
#contact_header .cb_gmemu { /*問い合わせページ用*/
  gap: 22px;
}


/* /Menu hover設定 */
.navtext {
  overflow: hidden; /* 1つ目の影を隠す */
  color: transparent; /* テキスト本体は透明にする */
  font-size: 60px;
  /*
   影の設定
   1つ目：Y方向の位置にマイナスに設定してテキスト本体の上に配置、ぼかしなし
   2つ目：位置はテキスト本体と同じ、ぼかしなし
  */
  text-shadow: 0 -1.5em 0 #FFF, 0 0 0 #FFF;
  transition: text-shadow 0.3s;
}

.navtext:hover {
  text-shadow: 0 0 0 #FFF, 0 1.5em 0 #FFF; /* 2つの影の位置を上方向に1.5emずつずらす */
}


/* 左右に横線 */
h2 {
 align-items: center; /* 横線を上下中央 */
 display: flex; /* 文字と横線を横並び */
 justify-content: center; /* 文字を中央寄せ */
 font-size: 4.8em;
font-family: "Sorts Mill Goudy", serif;
font-weight: 400;
font-style: normal;
padding: 1em 0;
}
h2::before,
h2::after {
  background-color: #000; /* 横線の色 */
  content: "";
  height: 1px; /* 横線の高さ */
  /*width: 60px; /* 横線の長さ */
}
h2::before {
  margin-right: 20px; /* 文字との余白 */
}
h2::after {
  margin-left: 20px; /* 文字との余白 */
}


/* main　*/
.cb_main_container {
width: 100%;
background-image: url("../images/cb_main_img.png");
background-repeat: no-repeat; /* 画像を繰り返し表示しない */
background-size: cover; /* 画像の比率を維持し、要素内に収まるように表示 */
background-position: center; /* 画像を中央に配置 */
height:960px;
}

.cb_main_container p {
text-align: center;
position: absolute;
top: 8em;
right: 0;
left: 0;
margin: 0 auto;
}

.cb_main_container img {
margin-top: 5em;
}

.cb_main_container_sp {
display: none;
}

/* ABOUT US　*/

#aboutus h2 {/* 250904　追加 */
padding: 3em 0 2em;
}

.cb_aboutus_container {
width: 100%;
background-color: #d3d3d3;
display: flex;
padding: 7em 0;
justify-content: space-between;
}

.cb_aboutus_container p{
font-size: 1.2em;
line-height: inherit;
margin-bottom: 2em;
}


.swiper1,.swiper2 {
max-height: 760px;
}


.swiper-wrapper {
width: auto;
}

.swiper-slide img {
  width: auto;
  height: 100%;
}

.swiper3 .swiper-wrapper .swiper-slide{
display: none;
}

.swiper4 .swiper-wrapper .swiper-slide{
display: none;
}

.cb_aboutus_container p {
padding: 0 3em;
line-height: 1.8em;
}

/* SERVICE　*/

.cb_service_container {
width: 100%;
background-color: #d3d3d3;
}

.cb_service_container_box1 {
width: 100%;
background-image: url("../images/cb_service_img1.png");
background-repeat: no-repeat; /* 画像を繰り返し表示しない */
background-size: cover; /* 画像の比率を維持し、要素内に収まるように表示 */
background-position: center; /* 画像を中央に配置 */
height:760px;
color: #FFF;
position: relative;
}

.cb_service_container_box1_txtarea {
width: 90%;
position: absolute;
right: 0px;
padding-top: 30%;
}

.cb_service_container_box1_txtarea .cb_service_title {
font-size: 2.6em;
padding-bottom: 0.8em;
text-align: right;
text-shadow: 1px 1px 10px #000;
}
.cb_service_container_box1_txtarea .cb_service_textinner {
float: right;
}
.cb_service_textinner {
text-shadow: 1px 1px 3px #000;
width: 380px;
}

.cb_service_container_box1_txtarea button {
display: block;
width: 200px;
text-align: center;
border: #FFFFFF 1px solid;
margin-top: 10em;
position: absolute;
right: 0px;
height: 60px;
}

/* buttonホバー時に背景画像を変更(上) */
/* 20250825修正:----------------------------
.cb_service_container_box1:has(.cb_service_container_box1_txtarea button:hover){
background-image: url("../images/cb_service_img1-2.png");
}

.cb_service_container_box1_txtarea:has(button:hover){
opacity: 0;
}
---------------------------- */


.cb_service_container_box2_txtarea {
width: 100%;
position: absolute;
left: 0px;
padding-top: 30%;
}

.cb_service_container_box2_txtarea .cb_service_title {
font-size: 2.8em;
padding-bottom: 0.8em;
text-shadow: 1px 1px 10px #000;
}

.cb_service_container_box2_txtarea button {
display: block;
width: 200px;
text-align: center;
border: #FFFFFF 1px solid;
margin-top: 3em;
position: absolute;
height: 60px;
}



.cb_service_container_box1_txtarea button:hover{
background-color: #FFFFFF;
color: #000000;
opacity: 0.7;
transform: scale(1.1,1.1);
-webkit-transition: all .3s;
  transition: all .3s;
}

.cb_service_container_box2_txtarea button:hover{
background-color: #FFFFFF;
color: #000000;
opacity: 0.7;
transform: scale(1.1,1.1);
-webkit-transition: all .3s;
  transition: all .3s;
}



.cb_service_container_box2 {
width: 100%;
background-image: url("../images/cb_service_img2.png");
background-repeat: no-repeat; /* 画像を繰り返し表示しない */
background-size: cover; /* 画像の比率を維持し、要素内に収まるように表示 */
background-position: center; /* 画像を中央に配置 */
height:760px;
color: #FFF;
position: relative;
}

/* buttonホバー時に背景画像を変更(下) */
/* 20250825修正:----------------------------
.cb_service_container_box2:has(.cb_service_container_box2_txtarea button:hover){
background-image: url("../images/cb_service_img2-2.png");
}

.cb_service_container_box2_txtarea:has(button:hover){
opacity: 0;
}
---------------------------- */


/* COMPANY　*/

.cb_company_container {
width: 100%;
background-image: url("../images/cb_company_img.png");
background-repeat: no-repeat; /* 画像を繰り返し表示しない */
background-size: cover; /* 画像の比率を維持し、要素内に収まるように表示 */
background-position: center; /* 画像を中央に配置 */
padding: 3em 0;
}

.cb_table_design01 {
  border-collapse: collapse;
  width: 100%;
}
.cb_table_design01 tr {
}

.cb_table_design01 th, .cb_table_design01 td {
  padding: 1em;
}
.cb_table_design01 th {
  font-weight: bold;
  text-align:left;
  width: 20%;
  min-width: 4em;
}

.cb_map {
margin: 2em 0;
padding-left: 1em;
}

/* NEWS　*/

.cb_news_container{
widows: 100%;
background-color: #000000;
color: #FFFFFF;
padding: 3em 0;
}

.cb_news_box {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.cb_news_box_item {
display: block;
width: 430px;
margin-bottom: 3em;
}

.cb_news_day {
font-size: 0.9em;
padding-bottom: 0.5em;
}

.cb_news_box a:hover{
color: #13DDE0;
text-decoration: underline;
}


/* contact　PAGE　*/
#contact_cb_sp_menulogo {
  display:none;
}
.cb_contact {
padding: 3em 0;
}

.cb_contact a {
font-weight: bold;
}

.cb_contact a:hover{
color: #13DDE0;
text-decoration: underline;
}
.cb_contact_box {
background-color: #f2f2f2;
padding: 3em;
}
.wpcf7-form-control-wrap input {
  padding: 1.8em;
  max-width: 616px;
  background-color: #fff;
  border-radius: 8px;
}
.wpcf7-form-control-wrap textarea {
  padding: 1em;
  max-width: 616px;
  background-color: #fff;
  border-radius: 8px;
}

/*問い合わせページヘッダー*/
#contact_header .nav {
  background-color: #fff;
}

#contact_header .nav p{
  color: #000;
  margin-top: 10px;
  font-family: "Shippori Mincho", serif;
}


