@charset "utf-8";

/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

.ta_right-s_center { text-align: center;}
.ta_left-s_center { text-align: center;}
.ta_center-s_left { text-align: left;}

.hidden_s { display: none !important;}


/* ------------------------
	フッター
------------------------ */
 
.cta_box { background-position: 65% center; border-radius: 1.5em;}
.cta_box .box_inner { font-size: min(3.1vw,1em); margin: 0 6%;}
.cta_box:before { width: 43%; right: -15%; top: -5%;}
.cta_box:after { width: 43%; left: -15%; bottom: -5%;}

.footer .bg01 { padding: 50px 0;}
.footer .cont1000 { width: 83.3333%; max-width: 1140px; font-size: min(4vw,1em);}
.footer .bg01 .logo img { width: 70px;}

.footer .copy img { width: auto; height: 2em;}

@media only screen and (max-width: 640px) {
  .footer .bg01 { padding-bottom: 30px;}
}


/*------------------------------------------------------

	トップページ

------------------------------------------------------*/

.top_mainimage .text01 { left: 7%; top: -0.5%; width: 86%;}

.slider_wrap dl { flex-wrap: wrap; align-items: center;}
.slider_wrap dd:last-child { width: 100%; flex: 0 0 100%;}

.heading_large { font-size: min(7.1vw,2em);}

.top_sec01 { flex-wrap: wrap; justify-content: center; gap: 30px 6%; font-size: min(4.2vw,1em);}
.top_sec01 .box_inner { order: 1; width: 100%; flex: 0 0 100%;}
.top_sec01 .img01 { order: 2; width: 40%;}
.top_sec01 .img02 { order: 3; width: 35%;}

.top_sec03 .text01.fo12 { font-size: min(5vw,1.2em) !important;}
.top_sec03 .sec01 .img01 { padding-right: 15%;}
.top_sec03 .sec02 .img01 { padding-left: 15%;}
.top_sec03 .sec01 .bg01 { top: 60%;}
.top_sec03 .sec02 .bg01 { top: 75%;}

.top_sec04 .box01 { flex-flow: column; gap: 45px;}
.top_sec04 .cont1100 { font-size: min(3.8vw,1em);}
.top_sec04 section:first-child { padding: 0 0 45px; background-image: radial-gradient(circle, #694e2e 1.5px, transparent 1.5px); background-position: left bottom; background-repeat: repeat-x; background-size: 9px 3px;}
.top_sec04 section:last-child { padding: 0;}

.top_sec05 .sec02 .box01 figure { width: 25%;}

@media only screen and (max-width: 640px) {
  .top_mainimage .text01 { display: none;}
  
  .top_sec02 .list01 { font-size: 1em;}
  .top_sec02 .list01 li { width: 100%; max-width: 22em;}

  .top_sec05 .sec02 .box01 figure { width: 27%; align-self: flex-start;}
}


/*------------------------------------------------------

	下層ページ

------------------------------------------------------*/

.pagettl { font-size: min(8vw,2.2em); margin-top: 1em; margin: auto -10px;}
.blog_pagettl { font-size: min(8vw,2.2em);}

.link_pad { padding-top: 50px; margin-top: -50px;}

@media only screen and (max-width: 640px) {
  .pagettl.mb100-60 { background-size: auto 45%, auto 55%; padding: 1em; margin-bottom: 30px !important;}
}


/* ------------------------
	contact
------------------------ */

@media only screen and (max-width: 700px) {
	.contact_sec dl { display: block;}
	.contact_sec dt, .contact_sec dd {
		display: block;
		border-bottom: none;
		padding: 0px;
	}
	.contact_sec dt {
		width: 100%;
		margin-bottom: 10px;
	}
	.contact_sec dt span {
		display: inline-block;
		vertical-align: middle;
		padding: 3px 5px;
		float: none;
		margin-left: 10px;
	}
  .contact_sec .btn_area input { min-width: 260px;}
}


/* ------------------------
	投稿
------------------------ */

.blog_header h1 { font-size: 2em; padding-bottom: 0.5em; line-height: 1.4;}

/* 本文 */
.blog_content h2 { font-size: min(6.8vw,1.7em);}

.blog_content blockquote { padding: 2.7em 2em 2.5em;}
.blog_content blockquote.is-style-plain { padding: 2em 1.5em;}

.wp-block-button.is-style-outline .wp-block-button__link { min-width: 280px; max-width: 360px; padding: 1.5em 1em;}

.blog_related h2 { font-size: 1.8em;}

@media only screen and (max-width: 640px) {
  .blog_header .date_wrap .ta_right { width: 100%;}
  
  .blog_content table { font-size: 0.9em;}
  
  .share_list a { background-position: calc(100% - 0.8em) center;}
  
  .archive_list > li { width: calc(96% / 2);}
  
  :where(.wp-block-columns.is-layout-flex) { gap: 1.3em;}
  
  .point_box { padding: 2em 1.5em;}
}

@media only screen and (max-width: 480px) {
	.archive_art { flex-flow: column;}
	.archive_art figure { width: auto;}
}

img.aligncenter, img.alignright, img.alignleft { display: block; margin: 0px auto 20px; float: none;}


/* ブロックエディタ用 */
.faq_dl { margin-bottom: 30px;}
.faq_dl dt { font-size: 1.1em; padding: 1.3em 3.5em 1.3em 4.7rem;}
.faq_dl dt:before { width: 2.8rem; height: 2.8rem; left: 1rem; top: 0.85em;}
.faq_dl dt:after { right: 1em;}
.faq_dl dd { padding: 1.8em 1em 2em 4.7rem;}
.faq_dl dd:before { width: 2.8rem; height: 2.8rem; left: 1rem; top: 1.5em;}

.step_wrap .img01 { position: static; width: 100%; text-align: center;}

