@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/******************************/
/** 基本 **/
/******************************/
.mt10 {
  margin-top:10px !important;
}
.mt20 {
  margin-top:20px !important;
}
.mt30 {
  margin-top:30px !important;
}
.mt40 {
  margin-top:40px !important;
}
.mt60 {
  margin-top:60px !important;
}
.mb10 {
  margin-bottom:10px !important;
}
.mb20 {
  margin-bottom:20px !important;
}
.mb30 {
  margin-bottom:30px !important;
}
.mb40 {
  margin-bottom:40px !important;
}
.mb60 {
  margin-bottom:60px !important;
}
.pt10 {
  padding-top:10px !important;
}
.pt20 {
  padding-top:20px !important;
}
.pt30 {
  padding-top:30px !important;
}
.pt40 {
  padding-top:40px !important;
}
.pb60 {
  padding-top:60px !important;
}
.pb10 {
  padding-bottom:10px !important;
}
.pb20 {
  padding-bottom:20px !important;
}
.pb30 {
  padding-bottom:30px !important;
}
.pb40 {
  padding-bottom:40px !important;
}
.pb60 {
  padding-bottom:60px !important;
}
.pb80 {
  padding-bottom:80px !important;
}
.pb100 {
  padding-bottom:100px !important;
}
.br15 img {
  border-radius:15px;
}
.br30 img{
  border-radius:30px;
}
.br60 img{
  border-radius:60px;
}
.br300 img{
  border-radius:50% !important;
}
.br15r img {
  border-radius:15px 0 0 15px;
}
.br30r img{
  border-radius:30px 0 0 30px;
}
.br60r img{
  border-radius:60px 0 0 60px;
}
.br15l img {
  border-radius:0 15px 15px 0;
}
.br30l img{
  border-radius:0 30px 30px 0;
}
.br60l img{
  border-radius:0 60px 60px 0;
}


/******************************/
/** 全体 **/
/******************************/
body {
  color:#383838;
}
.home .l-content {
  margin:0 auto !important;
  padding-top:0 !important;
}
#before_footer_widget {
  margin:0;
}
.w-frontBottom {
	margin-top:0 !important;
}
h1, h2, h3, h4, h5, .zkgn, .subttl, .coloumn3-bowl p.ttl, .p-mainVisual__slideTitle{
  font-family: 'Noto Serif JP', serif !important;
  font-weight:500 !important;
  line-height:1.7;
}
h1 {
    font-size:40px !important;
}
h2.ttl {
  font-size:34px !important;
}
.subttl {
  font-size:24px !important;
}
.subttl2 {
  font-size:20px;
}
.subttl2 span {
	background: linear-gradient(45deg, rgb(251, 195, 12), rgb(255, 215, 81));
	border-radius:8px;
	font-size:16px;
	color:#fff;
	padding:5px 10px;
}
p {
  line-height:2;
  color:#222;
  font-size:15px;
}
.font-a {
    color:#383838;
}
.font-b {
    color:#FBC30C;
}
.font-c {
    color:#F0EB53;
}
.mincho {
  font-family: 'Noto Serif TC', serif;
  font-weight: 100;
}
.is-style-btn_normal a {
	font-weight:normal !important;
}
@media (min-width:749px){
    .sp{
        display: none;
    }
}
@media (max-width:749px){
    .pc{
        display: none;
    }
	.home .l-content {
	  margin:0 auto !important;
	}
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
.sp_left {
  text-align:left !important;
}
  .sp_center {
    text-align:center !important;
  }
    h1 {
        font-size:24px !important;
    }
  h2.ttl {
      font-size:26px !important;  
  }
  .subttl {
    font-size:18px !important;
  }
  .subttl2 {
    font-size:18px !important;
  }
.br15r img {
  border-radius:0 0 15px 15px;
}
.br30r img{
  border-radius:0 0 30px 30px;
}
.br60r img{
  border-radius:0 0 60px 60px;
}
.br15l img {
  border-radius:0 0 15px 15px;
}
.br30l img{
  border-radius:0 0 30px 30px;
}
.br60l img{
  border-radius:0 0 60px 60px;
}
}
/******************************/
/** ヘッダー **/
/******************************/
/*
header .l-header__menuBtn {
	visibility: hidden;
}
*/
div.p-blogParts.post_content {
    margin:0 !important;
}
/*===アイコンメニュー===*/
.sp_gnav p {
	letter-spacing:1px;
	font-size:10px;
}
.sp_gnav img:hover {
transform:scale(1.2,1.2);
}
/******************************/
/** フッター **/
/******************************/
#footer {
	background:#fdfdfd;
/*	border-top:solid thin #F0C43B;*/
}
#footer a {
	text-decoration:none;
}
#footer h2 {
	font-size:1em;
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
.home .l-footer, .page .l-footer {
	padding-bottom:4em !important;
}
#footer h2 {
		font-size:16px !important;
}
}
/***************************
 * デフォルトのナビゲーションを非表示
 * *************************/
.p-spMenu__nav{
	display:none;
}
.c-widget__title.-spmenu{
		display:none;
}
/***************************
 * デフォルトのナビゲーションをカスタム
 * *************************/
		/* 元々の背景透過の調整 */
	.p-spMenu__inner::before {
		opacity:1 !important;		
	}
		/* ブログパーツでデザインした部分 */	
/*
#sp-nav {
		width:96%;
}
*/
#sp-nav li {
	position:relative;	
    color: #444;
    list-style: none;
	font-size:0.9em;
	letter-spacing:0.2em;
	font-weight:500;
	border-bottom: solid thin #dcdcdc;
    margin: 0 auto;
    padding: 1.5em 1em 1.5em 0;
	}
	#sp-nav .contact-btn {
		margin-top:3em;
	}
#sp-nav li a::after{
  font-family: 'FontAwesome';
  content: "\f054";
  font-size: 0.7em;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -12px;
}
#sp-nav li a{
	text-decoration:none;
}
		/* アイコン部分 */
	#sp-nav .spnav-icon {
    border: solid 1px #383838;
    border-radius: 50px;
    width: 40px;
    height: 40px;
    display: flex!important;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 2px 0 0 3px;	
	}
	#sp-nav .icon-2coloumn {
		width:100px;
		margin:0 auto;
	}
	#sp-nav .spnav-icon:before {
		color:#383838;
}
/***************************
 * ナビゲーションをフェードに変更　ここから
 * *************************/
	/* 元々あるハンバーガーアイコンを非表示に */
.c-iconBtn__icon {
  display: none;
}

/* ハンバーガーの3本線をCSSで作成 */
.l-header__menuBtn {
  position: relative;
}

.c-iconBtn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 25px;
  height: 2px;
  background-color: #383838;
  transition: background-color 0.3s;
}

.c-iconBtn::before,
.c-iconBtn::after {
  content: "";
  display: block;
  width: 25px;
  height: 2px;
  background-color: inherit;
  position: absolute;
  transition: transform 0.125s;
}

.c-iconBtn::before {
  top: -7px;
}

.c-iconBtn::after {
  top: 7px;
}

/* ハンバーガーがクリックされた時の動き */
[data-spmenu="opened"] .c-iconBtn {
  width: 100%;
  height: 100%;
  background-color: transparent;
}

[data-spmenu="opened"] .c-iconBtn::before,
[data-spmenu="opened"] .c-iconBtn::after {
  top: auto;
  background-color: #383838;
  transition: transform 0.3s;
}

[data-spmenu="opened"] .c-iconBtn::before {
  transform: rotate(45deg);
}

[data-spmenu="opened"] .c-iconBtn::after {
  transform: rotate(135deg);
}

/* スマホ開閉メニューのデザインを調整 */
.p-spMenu__inner {
  width: 100vw;
  height: 100%;
  --color_menu_bg: rgba(255, 255, 255, 1); /* 開閉メニューの背景色 */
  color: #fff; /* メニューテキストの色 */
  transition: all 0.45s ease-out;
  z-index: 1;
}

.p-spMenu__inner::before {
  background-color: var(--color_menu_bg);
}

.p-spMenu__overlay {
  background-color: transparent;
}

/* クリック時のスマホ開閉メニューの動きをドロワーからフェードに変更 */
.-right .p-spMenu__inner {
  transform: translateX(0);
  opacity: 0;
  transition: opacity 0.45s;
}

[data-spmenu="opened"] .p-spMenu__inner {
  transform: translateX(0);
  opacity: 1;
}
/***************************
 * ナビゲーションをフェードに変更　ここまで
 * *************************/
/******************************/
/** ホーム（トップページ） **/
/******************************/
#mv-message h1 {
	text-shadow:none !important;
}
.p-mainVisual__slideTitle {
	max-width:800px;
	margin:0 auto;
	background:rgba(255, 255, 255, 0.7);
	padding:1em;
	text-align:center;
	font-size:34px;
}
@media screen and (max-width: 782px) {
  /* 782px以下に適用されるCSS（スマホ用） */
.p-mainVisual__slideTitle {
	background:rgba(255, 255, 255, 0.7);
	padding:0.5em;
	text-align:center !important;
	}
	.p-mainVisual__slideTitle span {
	background:none;
	padding:none;
	font-size:26px !important;
	text-align:center !important;
	line-height:2em;
	}
	.p-mainVisual__scroll {
	display:none !important;
}
}
/*===MV直下の4カラム===*/
.colomn4 p {
	line-height:1.4 !important;
}

/*===NEWS お知らせ===*/
#news h2 {
  font-size:2em;
}
.p-postList.-type-simple {
  border:none;
}
.-type-simple .p-postList__link {
  border:none;
  padding:1.4em 1em;
}
#line-fix {
  width: 1px;
    height: 350px;
    background-color: black;
}
.icon-posted:before {
  content:none !important;
}
.p-postList__times {
  font-size:12px;
  color:#383838 !important;
}
.p-postList__meta .icon-folder {
  padding:5px 10px;
  background-color:#f4f4f4;
  border-radius:30px;
}
.p-postList__meta .icon-folder:before {
  content:none !important;
}
.p-postList__item a:hover {
  color:#1E2B58;
  background-color:rgba(204,206,215,.1) !important;
}
.u-thin {
  opacity:1.0 !important;
}
.is-style-bb>.c-tabList .c-tabList__button {
  font-size:14px;
    font-weight:500 !important;
    color:#1E2B58 !important;
}
.is-style-bb>.c-tabList .c-tabList__button:after {
    background-color:#1E2B58 !important;
}
.home .swell-block-fullWide.has-bg-img {
  border-radius:0;
}
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
.home .company-txt-img img {
    width: 80%;
    margin: 0 auto;
}
  .-type-simple .p-postList__link {
  border-bottom:1px solid var(--color_border);
}
}

/******************************/
/** 固定ページ **/
/******************************/

.section-ttl {
  margin-top:-25px !important;
}
.page .l-content, .page .post_content  {
  margin:0 auto 2em;
  padding-top:0 !important;
}
.page .c-pageTitle__inner {
  padding:0 !important;
}

h3.y-line {
	position: relative !important;
    display: inline-block !important;
    padding: 16px 20px !important;
    border-bottom: 2px solid #383838 !important;
}
h3.y-line:before, h3.y-line:after{
	content:"" !important;
	display:block !important;
	width:6px !important;
	height:6px !important;
	background:#383838 !important;
	position:absolute !important;
	bottom:-4px !important;
}
h3.y-line:before{left:-4px !important;}
h3.y-line:after{right:-4px !important;}

/*h3.y-line span {
    border-bottom: solid 4px !important;
	border-image: linear-gradient(to right, #FBC30C, #F6EAC2) 1 !important;
    padding: 0 0 0.2em 0 !important;
	line-height:2 !important;
}
*/

@media screen and (max-width:480px) {
/*　画面サイズが480px以下の場合ここの記述が適用される　*/
  .swell-block-fullWide.has-bg-img {
  border-radius:0;
}
#career .wp-block-media-text__media img{
    width:80%;
    margin:0 auto;
}
}
@media screen and (max-width: 749px) {
  /* 749px以下に適用されるCSS（スマホ用） */
.service-contents .wp-block-media-text__media img {
    width: 96%;
    border-radius:15px 0 0 15px !important;
    margin-left: 20px;
}

}
/******************************/
/** アーカイブページ（固定ページ） **/
/******************************/
/******************************/
/** サービスページ **/
/******************************/
.service-box ul li {
    position: relative;
    padding: 0px 0px 0px 1em;
    list-style: none;
}
.service-box li::before {
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%) rotate(90deg);
    width: 0.3em;
    height: 0.3em;
    background-color: #383838;
    content: "";
}
.service-box .post_content ol, .service-box .post_content ul {
	padding-left:initial;
}
.section-ttl span{
    background: rgba(255,255,255,0.7);
    padding: 0.2em 0.5em;
    border-radius: 5px;
}
.service-btn {
	border:solid 2px #222;
	padding:1em;
	border-radius:30px;
}
.bt-solid {
	border-top:solid thin #CCCED7 !important;
	padding-top:2em !important;
}
.service-down-btn .__icon.-right {
	color:#FBC30C;
	font-size:1.2em;
}
.is-style-btn_line a:hover {
	opacity:0.7;
	background:none;
	color:#383838 !important;
	border-color:#383838 !important;
}
.service-box .swell-block-fullWide__inner.l-article {
	background-color :#fdfdfd;
	border-radius:15px;
	padding:4em;
	margin:0 auto;
	-webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}
.ttl2 {
	border-left:solid 4px #383838;
	border-left: solid 4px #383838 !important;
    padding: 0.5em 1em !important;
}

@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
.service-box p {
	text-align:left !important;
}
p.subttl2 {
	text-align:center !important;
}
.service-box .swell-block-fullWide__inner.l-article {
	width:96%;
	padding:3em 2em;
}
}	
/******************************/
/** 会社情報ページ **/
/******************************/
/*.wp-block-table {
	--table-border:none !important;
}*/
@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
.company-table tr {
	padding-bottom:20px !important;
}
.company-table.sp_block_ th {
	padding:0 !important;
}
.company-table td {
	padding:0 0 0 1em !important;
}
}
/******************************/
/** よくあるご質問 **/
/******************************/
.coloumn3-bowl p.ttl, .sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {
  font-family: 'Zen Kaku Gothic New', sans-serif !important;
}

.sp-easy-accordion>.sp-ea-single>.ea-header a {
  font-weight:500 !important;
  font-size:16px !important;
}
.sp-easy-accordion .sp-ea-single .ea-header a {
  font-size:16px;
}
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a {
  padding: 5px 15px 5px 0;
}
.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {
  background:#fdfdfd;
}
.ea-card .ea-header{
    border:none !important;
}
.sp-easy-accordion>.sp-ea-single>.sp-collapse>.ea-body {
  font-size:15px;
}
.sp-easy-accordion>.sp-ea-single>.ea-header a:before {
    font-family:icomoon!important;
    content: "\051";
    font-size: 26px;
    margin-right: 5px;
}
.fa-plus:before {
    content: "\f078";   
}
.fa-minus:before {
    content: "\f077";   
}
/******************************/
/** ご相談・お問い合わせ **/
/******************************/

#contact-block .wp-block-columns .wp-block-column {
  border-radius:30px;
	margin:0 10px 0 !important;
}
.phone-number {
  font-size:50px;
  font-weight:bold;
  line-height:1.2;
  color:#6A9C89;
}
.phone-number a {
  text-decoration:none;
  color:#37A468;  
}
.icon-phone:before {
  font-size:40px;
}
.phone-number a:hover {
  opacity:0.7;
}
.rlg_01 { 
background:repeating-linear-gradient( 45deg, #EAEBED, #EAEBED 10px, #fdfdfd 0, #fdfdfd 20px);
}

@media screen and (max-width: 480px) {
  /* 480px以下に適用されるCSS（スマホ用） */
  .phone-number {
  font-size:42px !important;
  }
  .icon-phone:before {
  font-size:32px;
}
}
/******************************/
/** 追尾ボタン　お電話でのお問い合わせ **/
/******************************/
@media (max-width: 959px) {
#tel_mail {
  width: 100%;
  position: fixed;
  bottom: 0px;
  display: flex;
  z-index:9999;
  left: 0;
  right: 0;
}
#tel_mail .tel, #tel_mail .mail {
  display: flex;
  flex-direction: column;
  width: 50%;
  padding: 1rem 0;
  color: #1E2B58; 
  font-weight: 500;
  font-size: 1.1rem;
	line-height:1.2;
  text-align:center;
  text-decoration:none !important;
}
#tel_mail .tel span, #tel_mail .mail span {
	font-size:0.7em;
	margin-bottom:0.5em;
}		
#tel_mail .tel {
  background: #FBC30C;
	border-right:solid thin;
}
#tel_mail .mail {
	background-color:#F0EB53;
	
/*  background-image: linear-gradient(120deg, rgba(247, 93, 139, 1), rgba(254, 220, 64, 1));*/
}
#tel_mail .icon-phone, #tel_mail .icon-mail {
font-style:normal;
}	
#tel_mail .icon-phone::before {
	font-size:inherit;
}	
}
#fix_bottom_menu .menu_list {
	padding: 0 !important;
	height:120px;
    background: #F0EB53 !important;
}
#fix_bottom_menu .menu-item, #fix_bottom_menu .menu-item a {
	height:120px !important;
}
#fix_bottom_menu .menu-item.menu-item-1165 {
	background: #F0EB53 !important;
}
#fix_bottom_menu .menu-item i {
	height:0;
}
#fix_bottom_menu .menu_list .icon-phone::before {
	font-size:18px;
	border:solid 2px;
	padding:6px;
	border-radius:300px;
	margin:10px 0;
}
#fix_bottom_menu .menu_list span {
	font-size:16px;
    line-height: 1.4;
	padding:5px 10px;
}
#fix_bottom_menu .menu_list span .nav-time {
	margin-top:30px;	
}
#fix_bottom_menu .menu_list .nav-time {
	font-size:12px;
}

/************電話によるお問い合わせボタン（PC）****************/
.inquiry-btn {
  position: fixed;
    transform: translateY(-50%);
    z-index: 20;
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.15);
    width: 76px;
    bottom: -30px;
    height: 240px;
    right: 0;
    cursor: pointer;
    border-radius: 30px 0 0 30px;
    background-color: #FBC30C;
}

.inquiry-btn .circle-height {
  position: relative;
    padding-top: 48%;
    height: 0;
}
.inquiry-btn .inquiry-btn-img {
    width: 32px;
    height: 32px;
    background-image: url(https://michi-terashi.com/wp-content/uploads/2023/11/contact-icon.png);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    display: inline-block;
    text-align: center;
    top: 26%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.inquiry-btn p {
  font-weight:500;
  position: absolute;
    top: 50%;
    right: 0;
  left:0;
    margin: 0 auto;
    text-align: center;
    font-size: 18px;
    z-index: 20;
}
.inquiry-btn p span{
    writing-mode: vertical-rl;
    color:#1E2B58;
}
.inquiry-btn p span i{
  font-size: 18px;
    margin: 5px;
    border: solid 2px;
    padding: 6px 3px;
    border-radius: 300px;
    color:#1E2B58;
}
.inquiry-btn a:hover {
  opacity:0.7;
}
@media screen and (max-width: 959px) {
  /* 59px以下に適用されるCSS（スマホ用） */

}

/******************************/
/** 投稿ページ **/
/******************************/
.c-postTitle__ttl {
    font-size:24px !important;
}

.p-snsCta__message {
  color:#fff;
}

.archive h2 {
  font-size:16px !important;
}
.post-template-default h2 {
  font-size:1.4em !important;
  
}
/******************************/
/** コンタクトフォームの装飾 **/
/******************************/
/*　フォーム全体　*/
#cf7-area {
width:100%;
margin: 0 auto;
/*font-family: 'Noto Serif TC', serif;　*/
font-size:15px !important;
color:#383838;
}

.cf7-item {
display: flex;
align-items: flex-start;
justify-content: flex-start;
margin: 0 0 1.75em;
}

.cf7-q {
width: 30%;
margin: 0 0 0 10px;
}

.cf7-a {
width: 60%;
}

/*　見出し　*/
.form-heading
{
width: 100%;
font-weight: normal;
padding: 1em .8em;
margin: 0 0 2em;
}

.form-heading p {
margin: 0;
}

/* 各項目共通 */
#cf7-area label{
font-weight:bold;
}

#cf7-area input[type="text"],#cf7-area input[type="email"],#cf7-area input[type="tel"],#cf7-area textarea {
width:100%;
}

#cf7-area input[type="text"]:focus,#cf7-area input[type="email"]:focus,#cf7-area input[type="tel"]:focus,#cf7-area textarea:focus {
border: 2px solid #FF1493;
outline: 0;
}

#cf7-area input[type="checkbox"], #cf7-area input[type="radio"]{
appearance: auto;
}

#cf7-area .wpcf7-list-item {
display: block;
}

#cf7-area textarea{
height:200px;
}

.cf7-accept-check{
text-align: center;
margin: 50px auto;
}

.cf7-submit {
width: 40%;
margin: 0 auto;
text-align: center;
}

#cf7-area input[type="submit"]
{
width: 100%;
background-color: #49DB8A;
color: #ffffff;
border-radius: 80px;
font-size: 15px;
padding: 12px 24px;
}

#cf7-area input[type="submit"]:hover
{
opacity:0.7;
color:#fff;
}

.cf7-btn{
width: 40%;
margin: 0 auto;
text-align: center;
}

/*　必須ラベル　*/
.cf7-req{
font-size:.8em;
color: #FF3D00;
margin-left: 10px;
display:inline-block;
}

@media screen and (max-width:768px){
.cf7-item {
display: block;
}

#cf7-area label{
display: block;
margin-bottom: 10px;
}

.cf7-q {
width: 100%;
margin: 0;
}

.cf7-a {
width: 100%;
}

#cf7-area input[type="text"], #cf7-area input[type="email"], #cf7-area input[type="tel"], #cf7-area textarea{
margin-left: 0;
}

.cf7-submit{
width: 90%;
}
}

/******************************/
/** by for the rainbow **/
/******************************/

.policy {
	line-height:2.4 !important;
	text-shadow: #000 1px 0 10px !important;
	font-size:28px !important;
}
.rainbow-border-radius img{
	background:#fff;
	border-radius:50%;
	border: 5px solid transparent;
	background: linear-gradient(135deg,rgb(249,234,72) 0%,rgb(254,185,0) 20%,rgb(253,81,52) 40%,rgb(71,170,85) 60%,rgb(95,183,253) 80%,rgb(184,117,227) 100%) border-box border-box;
	-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
}
	.main-visual-box.sp-main-txt {
		display:none;
}
@media (min-width:1300px){
    .tb-width{
        display: none;
    }
}
@media (max-width:1299px){
    .pc-width{
        display: none;
    }
	#news.rainbow {
		margin:0 20px !important;
	}
}
@media (min-width: 640px) {
  .big-txt{
    font-size: calc(52px + ((1vw - 6.4px)*3.571)) !important;
  }
}
@media screen and (max-width: 600px) {
    .bnr-box-ttl {
		font-size:20px !important;
	}
    .bnr-box-day {
		font-size:18px !important;
	}
	.img-right-border-radius .swell-block-fullWide.-fixbg, .img-left-border-radius .swell-block-fullWide.-fixbg {
		border-radius:0 !important;
	}
	  .big-txt{
    font-size: 2em !important;
  }
	p, li {
		font-size:15px !important;
	}
	.spleft {
		text-align:left !important;
	}
	.qa-contents {
		padding:5px !important;
	}
		.contact-contents {
		padding:40px 20px !important;
	}
	.main-visual-box {
		width:100% !important;
	}
		.main-visual-box img {
		border-radius:0 !important;
	}
	.main-ttl-img {
    max-width: 40vw !important;
		margin:0 auto;
}
	.main-visual-box .wp-block-media-text__content {
		display:none;
	}
	.main-visual-box.sp-main-txt {
		margin:0 20px !important;
		display:block;
	}
.circle {
height:160px !important;
background-image:radial-gradient(circle at left 20px top 50%, #ffd12a calc(160px / 2 - 1px), transparent calc(160px / 2)) !important;
}
.circle2 {
height:160px !important;
background-image:radial-gradient(circle at right 20px top 50%, #B875E3 calc(160px / 2 - 1px), transparent calc(160px / 2)) !important;
}
.circle3 {
height:160px !important;
background-image:radial-gradient(circle at left 20px top 50%, #47AA55 calc(160px / 2 - 1px), transparent calc(160px / 2)) !important;
}
.circle4 {
height:160px !important;
background-image:radial-gradient(circle at right 20px top 50%, #5FB7FD calc(160px / 2 - 1px), transparent calc(160px / 2)) !important;
}

}

/******************************/
/** つづきを読む **/
/******************************/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	/* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
}
.cp_box1 label {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.cp_box2 label {
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	line-height: 2.5rem;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	left: 50%;
	width: 16rem;
	font-family: FontAwesome;
	content: '\f13a'' 続きをよむ';
	transform: translate(-50%, 0);
	letter-spacing: 0.05em;
	color: #ffffff;
	border-radius: 20px;
}
.cp_box1 label:after {
	background-color: #21367F;
}
.cp_box2 label:after {
	background-color: #47AA55;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 250px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
    padding: 0.5em;
	color:#21367F !important;
}
.cp_box1 .cp_container {
	overflow: hidden;
	height: 200px; /* 開く前に見えている部分の高さ */
}
.cp_box .cp_container p {
	color:#21367F !important;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	font-family: FontAwesome;
	content: '\f139'' 閉じる';
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}
@media (max-width: 640px) {
  .cp_box .cp_box_image {
    width:100% !important;
  }
}