/*
Template:ystandard
Theme Name:hasegawa
*/
body{
width:100%;
height:100%;
margin:0 auto;
padding:0;
font-size:16px;line-height:1.8em;
background:#fff;
}

a{text-decoration:none;}

ol, ul {
    margin: 0;
    padding:0;
}
li{list-style:none;}

h1, h2, h3, h4, h5, h6 {
    margin: 0em;
    padding: 0;
    line-height: 1.5;
    letter-spacing: .05em;
}

h1+h2, h2+h3, h3+h4, h4+h5, h5+h6 {
    margin-top: 0;
}

.entry-content h1+h2, .entry-content h2+h3, .entry-content h3+h4, .entry-content h4+h5, .entry-content h5+h6 {
    margin-top: 0em;
}

td, th {
    border-right:none;
    border-bottom:none;
}

tr {
    border-left:none;
}

amp-img, img {
    vertical-align: bottom;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
    margin: 0em;}

.footer-poweredby{display:none;}

.site-header {
	background: transparent;
}

body.no-title.is-front-page .site-header {
	background: transparent;
}

.site-branding {
    padding: 0.75em 2em 0.75em 0;
}

.site-branding .custom-logo {
    margin-left: 0.5em;
}

.site-header button {
    margin-top: 0.25em;
}


.global-nav {
color:#ffffff;
}


.ponly{display:none;}
.monly{display:block;}

.header-media {
    margin-top:-68px;
}


.grey{background:#eaebeb;}
.beige{background:#ebd1b2;}



body.no-title.is-front-page .site-header.is-scroll {
background-color: rgba(126, 71,189, 0.5);
}

.site-header {
  transition: background-color 0.3s ease; 
}

body.no-title .site-header {background-color: rgba(126, 71,189, 0.5);}
body.single .site-header {background-color: rgba(126, 71,189, 0.5);}
body.error404 .site-header {background-color: rgba(126, 71,189, 0.5);}
body.archive .site-header {background-color: rgba(126, 71,189, 0.5);}
body.blog .site-header {background-color: rgba(126, 71,189, 0.5);}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-right: 0em;
    padding-left: 0em;
    max-width: none;
}

.secinner{margin:0 auto;width:100%;max-width:960px;}

.entry-content>* {
	margin-top:0;
padding-left: 1em;
    padding-right: 1em;}

.ys-post__no-image {background-color:none;
    color:none;background-image:url("http://test-hasegawa.mathgraphics.space/wp-content/uploads/2025/04/noimage.svg");}

.ys-posts.is-card .ys-posts__text>* {
	margin-top: 0;}


/* Section Common Styles */
section {
    padding: 32px 0;
}

.stwrap{width:100%;}

.section-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 40px;
    position: relative;
    padding-left: 20px;
    color: #7e47bd;
}

.section-title::before {
  content: '';
    width: 2px;
    height: 132%;
    background-color: #7e47bd;
    position: absolute;
    left: 0;
    top: -32px;
}


.section-title.re {
    flex-direction: column;
    align-items: flex-end;
    padding-right: 20px;
    padding-left: 0;
}



.section-title.re::before {
    content: '';
    width: 2px;
    height: 138%;
    background-color: #7e47bd;
    position: absolute;
    right: 0;
    left: auto;
    top: -32px;
}


.section-title h2 {
    font-size: 2.5em;
    font-weight: 600;
    color: #7e47bd;
    font-family: "Poppins", sans-serif;
	line-height: 1;
}

.section-title h3 {
    padding-top: 0.25em;
	    font-size: 1.1em;
}

.section-title p {
    font-size: 16px;
}

.section-title.purple h2 {
    color: #7e47bd;
}

.section-title.purple p {
    color: #7e47bd;
}

.section-title.purple::before {
    background-color: #7e47bd;
}



.more-bt a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 40px auto 0;
    max-width: 240px;
    color: #7e47bd;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	padding: 8px 40px;
    border: 1px solid #7e47bd;
}

.more-bt.saunab a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 40px auto 0px;
    max-width: 240px;
    color: #7e47bd;
    transition: 0.3s ease-in-out;
    font-weight: 500;
	padding: 8px 40px;
    border: 1px solid #7e47bd;
}


.more-bt a:before {
      content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -2em;
    transform: translateY(calc(-50% - 2px)) rotate(35deg);
    width: 12px;
    height: 1px;
    background-color: #7e47bd;
    transition: 0.3s;

}
.more-bt a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
    width: 60px;
    height: 1px;
    background-color: #7e47bd;
    transition: 0.3s;
}
.more-bt a:hover:before, .more-bt a:hover:after {
    right: -2.5em;
}
.more-bt a:hover {
    color: #7e47bd;
}

/*news*/
.news-section{padding-bottom:80px;}
.has-background .archive__page-title {
    padding: 0 24px;
}
.sidebar {
    padding: 0 24px;
}

.archive__header {
    padding: 0 24px;
}
.arc-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 40px;
    position: relative;
    padding-left: 20px;
    color: #7e47bd;
}

.arc-title::before {
  content: '';
    width: 2px;
    height: 128%;
    background-color: #7e47bd;
    position: absolute;
    left: 0;
    top: -24px;
}

.arc-title h2 {
    font-size: 2.5em;
    font-weight: 600;
    color: #7e47bd;
    font-family: "Poppins", sans-serif;
	line-height: 1;
}

.arc-title h3 {
    padding-top: 0.25em;
	    font-size: 1.1em;
}


/*topics*/
.topics-section{padding-bottom:80px;}

/* ABOUTセクションの背景画像 */
.about-section {
    position: relative;
    overflow: hidden;
	padding-bottom:80px;
}

.about-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
}

.about-content{color:#ffffff;}

/* WORKSセクションの背景画像 */

.works-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity:1;
}

.works-section {
	  position: relative;
    overflow: hidden;
    background-color: #333;
    background-size: cover;
    background-position: center;
    color: var(--light-color);
	padding-bottom:80px;
}

.works-flex{
  display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75em;
}

.work-item {
    position: relative;
	width:48%;
    /*overflow: hidden;
    height: 180px;
    cursor: pointer;
    border-radius: 5px;*/
}

.work-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
	border:1px solid #ffffff;
}

.work-item:hover img {
    /*transform: scale(1.05);*/
}

.work-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.6);
    color: var(--light-color);
    padding: 10px;
    text-align: center;
}

.work-overlay p {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 2px;
}

.work-overlay span {
    font-size: 10px;
    display: block;
}

.works-section .more-link a {
    border-color: var(--light-color);
    color: var(--light-color);
}

.works-section .more-link a:hover {
    background-color: var(--light-color);
    color: var(--dark-color);
}

/* Product Section */
.product-section {
    background-color: #f9eadc;
}

.product-content h3 {
    text-align: center;
    font-size: 24px;
    margin-bottom: 40px;
}

.product-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column-reverse;
}

.product-text {
    flex: 1;
	margin-top: 2em;
}

.product-logo {
   max-width: 300px;
    margin: 0 auto 20px;
}

.product-logo img {
    width: 100%;
}

.product-text p {
    margin-bottom: 30px;
    line-height: 1.8;
}

.product-image {
    flex: 1;
    text-align: center;
}

.product-image img {
    max-height: 320px;
}


/* おうちサウナのロゴテキスト */
.sauna-logo {
    color: #ff6b35;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
    font-family: 'Noto Sans JP', sans-serif;
    position: relative;
    display: inline-block;
}

.sauna-logo::after {
    content: '';
    display: block;
    font-size: 14px;
    color: #333;
    letter-spacing: 2px;
    margin-top: 5px;
}

/* ロゴ部分のスタイル調整 */
.logo h1 {
    font-size: 18px;
    font-weight: bold;
    color: var(--primary-color);
    margin: 0;
}

/* フッターロゴ部分 */
.footer-logo h2 {
    font-size: 18px;
    color: var(--light-color);
    margin-bottom: 5px;
}
/* 画像ホバーエフェクト強化 */
.news-item .news-img img,
.topic-item img,
.work-item img {
    transition: transform 0.5s ease, filter 0.3s ease;
}

.news-item:hover .news-img img,
.topic-item:hover img {
    transform: scale(1.05);
    filter: brightness(1.1);
}

.work-item:hover img {
    /*transform: scale(1.1);*/
    filter: brightness(0.8);
}

/* 画像の読み込み中のスタイル */
img {
    transition: opacity 0.3s ease;
}
.fbox{width:100%;margin:0 auto;text-align:center;}
.flogo{margin:0 auto 24px;}
.flogo img{width:100%;max-width:240px;}
span.adtel{margin-left:1em;}
.fad{padding:0 1em;}

/*ページ*/
/*会社概要*/


h2.copytitle{font-size: 1.5rem;
    margin-bottom: 1em;    margin-top: 2em; font-family: "Shippori Mincho", serif;
  font-weight: 600;}
h2.copytitle.con{font-size: 1.5rem;
    margin-top: 0em;}
.copytitlewrap{margin:4rem auto 2rem;}
.pcopytxt{ margin-bottom: 0em;text-align:justify;line-height:2;}
.ptxtc{margin-bottom:0.75em;}
.ptxtc2{margin-top:2em;margin-bottom:0.75em;}
.ptxtc2 h4{margin-bottom:0.5em; font-size: 1.5em;}
.ptxtc2 h4 span{font-size: 0.75em;}
.ptxtc3{margin:2em auto;}
.pconcepttxt{ margin-bottom: 0em;text-align:center;line-height:2;}
.pcopytxt p,.pconcepttxt p{margin:0;}
.pagehead .site-header {background-color: rgba(126, 71,189, 0.5);}

.pconcepttxt{ margin-bottom: 0em;text-align:justify;line-height:2;}


ul.pg_list{    text-indent: 0em;
    margin: 0.5em 0 0.5em 1.5em;}
ul.pg_list li{list-style-type:decimal;}

.preend{text-align:right;}


.titlebox{margin:0 auto;text-align:center;}

h3.secsub_t{color: #7e47bd;
    text-align: center;
    display: inline-block;
    position: relative;
    font-size: 1.5em;
    margin-bottom: 40px;}


h3.secsub_t:before {
   content: '';
    display: inline-block;
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 64px;
    height: 3px;
    background-color: #7e47bd;
    border-radius: 1em;
}

table.outline_t{border-top: none;
    max-width: 960px;
    margin: 0 auto;}
table.outline_t th{
    color: #7e47bd;
    text-align: justify;
background:#ede6f6;
font-weight:600;}
table.outline_t td{background:#ffffff;}

table.outline_t th, table.outline_t td {
    border: 1px solid #dfdfdf;
	padding:0.75em 1em;
}

.map-wrap {
  max-width: 960px; 
	    margin: 40px auto;
}

.pretxt{margin-top:40px;padding:0 1em;}
.pretxt h3 span{font-size:0.9em;font-weight:400;}
 
/* Google Mapを囲う要素 */
.map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
    margin-top: -56.25%;
	margin-bottom: 56.25%;
}
 
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.outline{padding:32px 1em;}



/* お問合せ */

.contactwrap{
    border-radius:0.75em;padding:2em 1em 0.5em;max-width:960px;
    text-align: center;
}

table.contactt{border-collapse: collapse;
    border-spacing: 0;
    max-width: 840px;
   margin: 0 auto;
border-top:none;}

.contactt th{
 text-align:left;
	font-size:1em;
 color:#444;
 padding: 8px;
 width:30%;
}

table.contactt th{text-align:center;margin-top: 1em;}
table.contactt th.confirst{margin-top: 0em;}


/*通常欄*/
.contactt td{
 font-size:1em;
}
.contactt td.koumoku{
 font-size:1em;
}

.contactt th p,.contactt td p{margin:0;}

.contactt th p span{
    font-weight: 500;
    font-size: 1.1em;
}

.contactt input,.contactt textarea{border:none;}

.spamtxt1{color:#222222;}

/*横の行とテーブル全体*/
.entry-content .contactt tr,.entry-content table{
 /*border:solid 1px #d7d7d7;*/
	border:none;
}

/*送信ボタンのデザイン変更*/
#formbtn{
     padding: 12px 16px;
 max-width:350px;
 background:#7e47bd;
	border:2px solid #7e47bd;
 color:#ffffff;
 font-size:16px;
 font-weight:bold;	 
 margin:24px auto 0;
	border-radius:3em;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#dfcbf5;
 color:#7e47bd;
 border:2px solid #dfcbf5;
}

input[type=email], input[type=search], input[type=text], input[type=url],  input[type=tel],select, textarea {
    display: block;
    width: 100%;
    -webkit-appearance: none;
}

table.contactt th{
background:none;
}

table.contactt th,table.contactt td {
 display:block;
 width:100%;
 border-top:none;
 -webkit-box-sizing:border-box;
 -moz-box-sizing:border-box;
 box-sizing:border-box;	
    padding: 0 0 4px;
	color:#222222;
}


div.wpcf7 .ajax-loader{display:none;}


span.caution{font-size:10px;display:block;
    margin-top: 4px;}

.wpcf7-spinner{
	width:0;
	margin:0;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0 4px 0 0;
}

.policywrap{padding:0 1em;text-align:justify;}

.policytxt{margin-bottom:2em;}

.policyul h4{color:#7e47bd;font-weight:600;}
.policyul li{margin-bottom:2em;}
.policyul li:last-child{margin-bottom:0em;}

.policyul li p{margin-block-start: 0.5em;}

.priadd{text-align:right;}

.priwrap{margin:0 auto;text-align:center;}
.priwrap a{color:#7e47bd;}
.priwrap a:hover{opacity:0.5;color:#666666;}


/*一覧ページ*/
.has-background .archive__item.is-card .archive__text{padding-left:0.75em;padding-right:0.75em;}
.archive__text>* {
	margin-top: 0em;
}

/*詳細ページ*/

.breadcrumbs{margin-left:1em;}
.singlewrap{padding:0 1em;}



/*施工事例*/
.worksbox{margin:0 auto 40px;}
.worksbox h3{color:#666666;font-size:1.5em;margin-bottom:0.5em;font-weight:100;padding:8px 0;}
.worksbox h3 span{font-size: 0.7em;
    display: block;
    margin-top: -0.1em;}
.worksbox .ys-posts__title{display:none;}

.panel-group{
   min-height: 100px;
    border: none;
}
.panel-group ul{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:baseline;gap:1em;}
.panel-group ul.page-numbers li{width:1em;margin:0 0.5em;}
.panel{
    display:none;
}

.panel ul li{width:30%;}

.panel ul li:nth-child(3n - 1) {
}

/*.panel ul li:nth-of-type(n+3) {
  margin-top:1em;
}*/


.panel.is-show{
    display:block;
}

.hovermaskwrap{
  position: relative;
  overflow: hidden;
}

.hovermask{
  opacity: 0;
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  transition:all 0.6s ease;
	font-size:1em;
	    margin-block-start: 0em;
    margin-block-end: 0em;
}

.hovermask a{
color:#ffffff;}

.hovermask:hover{
  opacity: 1;
}
.hovermask h3{display:block;border-bottom:1px solid #ffffff;margin-bottom:0.25em;padding-bottom:0.25em;font-weight:400;font-size:1em;}
.hovermask h3.webmask{border:none;}
.hovermask h4{font-weight:400;font-size:1em;}

.postarc_t{margin:0.5em 0 1em;color:#666666;}


/* アクティブな画像の枠線を変更 */
.subworksimg li.current img {
  border: 2px solid red;
  transition: border .5s;
}
/* レイアウトのためのスタイル */

#mainworksimg {
  width: 100%;
	height:100%;
}
#mainworksimg img {
  width: 100%;
height:100%;
}
#subworksimg {
  display: flex;
  margin-top: 1rem;
	width:100%;
	    flex-wrap: wrap;
    gap: 0.5em;
}
#subworksimg li {
  width: 24.2%;
}
#subworksimg li:nth-child(3n) {
  margin-right: 0;
}
#subworksimg li img {
  border: 2px solid transparent;
  transition: border .5s;
}
#subworksimg img {
  cursor: pointer;
  width: 100%;
}

.footsns{
    margin-top: 1em;}
#menu-item-514 .fa-facebook{ font-size: 1.25rem;}
.fa-facebook{ font-size: 2rem;}

@media screen and (min-width:768px) {
	
.ponly{display:block;}
.monly{display:none;}
	
body.single .content__wrap {
    margin-right: auto;
    margin-left: auto;
    max-width: calc(var(--ystd-container-width) + var(--ystd-container-gutter)*2);
}
	
body.archive .content__wrap {
    margin-right: auto;
    margin-left: auto;
    max-width: calc(var(--ystd-container-width) + var(--ystd-container-gutter)*2);
}
	
body.blog .content__wrap {
    margin-right: auto;
    margin-left: auto;
    max-width: calc(var(--ystd-container-width) + var(--ystd-container-gutter)*2);
}
	
.site-branding .custom-logo {
    margin-left: 2em;
}	
	
.site-header button {
    margin-top: 0em;
}
	
.global-nav {
color:#ffffff;
background: transparent;
	margin-right: 2em;
}	
	
.entry-content>* {
	margin-top:0;
padding-left: 0em;
    padding-right: 0em;}	

/* Section Common Styles */
section {
    padding: 56px 0;
}

	.outline{padding:56px 0;}
	
.section-title {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 40px;
    position: relative;
    padding-left: 20px;
}

	.section-title::before {
  content: '';
    width: 2px;
    height: 138%;
    background-color: #7e47bd;
    position: absolute;
    left: 0;
    top: -56px;
}

	
.section-title.re::before {
  content: '';
    width: 2px;
    height: 138%;
    background-color: #7e47bd;
    position: absolute;
    right: 0;
	left:auto;
    top: -56px;
}	
	
.section-title.re{flex-direction:row-reverse;padding-right: 20px;padding-left:0;justify-content: space-between;}	
	
.section-title h2 {
    font-size: 3.75em;
	line-height: 1.5;
}	
	
.section-title h3 {
	font-size: 1.6em;
    padding-top: 1em;
}
	
.product-display {
    flex-direction: row;
}
	
.more-bt.saunab a {
    margin: 40px auto 0px 22%;
}
	
.product-text {
    flex: 1;
    padding-right: 40px;
	margin-top: 0em;
}
	
.work-item {
    position: relative;
	width:auto;	}
	
.product-image img {
    max-height: 540px;
}
	
.product-logo {
   max-width: 340px;
	margin-top:-6em;
	margin-bottom:32px;

}
	
	
/*NEWS,TOPICS*/
	.archive__header {
    padding: 0;
}
	
	.arc-title {
  flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin: 0 28px 40px;
    position: relative;
    padding-left: 20px;
}

	.arc-title::before {
 content: '';
    width: 2px;
    height: 127%;
    background-color: #7e47bd;
    position: absolute;
    left: 0;
    top: -47px;
}
	
.arc-title h2 {
    font-size: 3.75em;
	line-height: 1.5;
}	
	
.arc-title h3 {
	font-size: 1.6em;
    padding-top: 1em;
}
	

	/*詳細ページ*/

.singlewrap{padding:0;}
	

	
	
	
/*固定ページ*/
	.pretxt{text-align:justify;padding:0;}
	.pretxt h3{margin-bottom:1em;}
	.pcopytxt{text-align:center;}
	.pconcepttxt{text-align:center;}
	.pconcepttxt2{text-align:justify;}
	
	h2.copytitle{font-size: 2rem;}
	h2.copytitle2{font-size: 2rem;}
}
	




