/*
Theme Name: fuwafuwayasan
Description: fuwafuwayasanのオリジナルテーマです。
Version: 20240717
Author: Hashimoto Mei
*/

/***************************************************************/
/*color*/
/***************************************************************/
:root{
	
	--color-main: #ffcccc;
	
	--color-bg: #fef4f4;
	--color-font: #331414;
	
	--color-header-bg: #fff;
	--color-header-font: #331414;
	--color-header-spmenu-bg: #ef908c;
	
	--color-footer-bg: #fff;
	--color-footer-font: #331414;
	
	--color-page-title-bg: #ffcccc;
	--color-page-title-font: #331414;
}

/***************************************************************/
/*reset*/
/***************************************************************/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,
blockquote,pre,abbr,address,cite,code,del,dfn,em,img,
ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,
ol,ul,li,fieldset,form,label,legend,table,caption,
tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,nav,section,
summary,time,mark,audio,video {
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	border: 0;
	outline: 0;
	background: transparent;
	text-decoration: none;

	box-sizing: border-box;
}
 
body {
  line-height: 1;
}
 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display: block;
}
 
nav ul {
  list-style: none;
}
 
blockquote,
q {
  quotes: none;
}
 
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
 
a {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}
 
ins {
  text-decoration: none;
  color: #000;
  background-color: #ff9;
}
 
mark {
  font-weight: bold;
  font-style: italic;
  color: #000;
  background-color: #ff9;
}
 
del {
  text-decoration: line-through;
}
 
abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}
 
table {
  border-spacing: 0;
  border-collapse: collapse;
}
 
hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}


/***************************************************************/
/*サイト全体の基準となるCSSを記述*/
/***************************************************************/
html {
  font-size: 62.5%;
}
 
body {
	font-family: "BIZ UDGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-size: 1.8rem;
	color: var(--color-font);
	background-color: var(--color-bg);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
main{
	flex:1;
	padding-top: 70px;
	
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: var(--color-font);
}
 
img {
  width: 100%;
  vertical-align: top;
}

.container {
	max-width: 1280px;
	margin-inline: auto;
	padding: 0 3%;
}

.two-column{
	max-width: 1280px;
	margin-inline: auto;
	padding: 40px 3%;
	display: flex;
	gap: 2em;
}

.two-column .main-container{
	flex: 1;
}
.two-column .sub-container{
	width: 350px;
}

@media screen and (max-width: 768px){ 
	.two-column{
		flex-direction: column;
	}
	.two-column .sub-container{
		width: 100%;
	}

}

.page-title{
	font-size: 3.2rem;
	text-align: center;
	padding: 40px 0;
	background-color: var(--color-page-title-bg);
	color: var(--color-page-title-font);
	margin-bottom: 40px;
}

p.text{
	margin: 20px 0;
}

.textalign-center{
	text-align: center;
}
.pc-only{
	display: block;
}
.sp-only{
	display: none;
}

@media(max-width: 767px) {
	.pc-only{
		display: none;
	}
	.sp-only{
		display: block;
	}
}

/***************************************************************/
/*header*/
/***************************************************************/
.header {
	position: fixed;
	top:0;
	left:0;
	z-index: 100;
	width: 100%;
 	background-color:var(--color-header-bg);
 	color:var(--color-header-font);
}
 
.header-inner {
	position: relative;
	height: 70px;
	display: flex;
	align-items: center;
	padding: 0 20px;
}
 
.site-title {
  line-height: 1px;
  width: 200px;
}
 
.site-title a {
  display: block;
  text-decoration: none;
}
 
.site-title a :hover{
	opacity: 0.6;
}

 


@media screen and (min-width: 768px){ /*pc*/
	.navbutton{
		display: none;
	}
	
  .header-nav-wrap {
	position: absolute;
	z-index: 102;
	top: 50%;
	right: 10px;
	  transform: translateY(-50%);
  }
	nav.header-nav ul{
		display: flex;
		gap: 20px;
	}
 
	nav.header-nav li a {
	color: var(--color-header-font);
	text-decoration: none;
	}

	nav.header-nav li a:hover{
	text-decoration: underline;
	}
}
@media screen and (max-width: 768px){ /*sp*/
	.navbutton {
		position: absolute;
		z-index: 102;
		top: 50%;
		right: 10px;
		display: block;
		cursor: pointer;
		transform: translateY(-50%);
		border: 0;
		color: #f00;
		background-color: transparent;
  }
 
  .navbutton:focus {
    outline: 0;
  }
 
  .navbutton::after {
    font-family: "Material Symbols Outlined";
    font-size: 3.2rem;
    content: "\e5d2";
 	color:var(--color-header-font);
  }
 
  .menu-active .navbutton::after {
    content: "\e5cd";
	color: #fff;
  }
	
  .header-nav-wrap {
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;
    display: none;
    overflow-y: auto;
    width: 100%;
    height: 100vh;
	overflow-y: auto;
    background-color: var(--color-header-spmenu-bg);
  }
	nav.header-nav {
    padding:100px 0;
  }
 
  nav.header-nav li a {
	display: block;
    padding: 20px;
    text-align: center;
    color: #fff;
	text-decoration: none;
	  border-bottom: 2px dotted #fff;
  }
 
  nav.header-nav li a:hover{
	text-decoration: underline;
  }
 
}



/***************************************************************/
/*footer*/
/***************************************************************/
.footer-wrap{
 	background-color:var(--color-footer-bg);
 	color:var(--color-footer-font);
	text-align: center;
	padding-top: 40px;
}
.footer-wrap .site-title{
	margin: 0 auto 20px;
}
.footer-nav ul{
}
.footer-nav ul li{
	list-style-type: none;
}

.footer-nav li a{
	color:var(--color-footer-font);
	text-decoration: none;
}
.footer-nav li a:hover{
	text-decoration: underline;
}
.copyright {
  padding: 20px;
}
 
.copyright p {
  font-size: 1.6rem;
	color:var(--color-footer-font);
}

@media(max-width: 767px) {
	.footer .footer-flex-box {
		flex-direction: column;
	}
}
/***************************************************************/
/*パンくずリスト*/
/***************************************************************/
.breadcrumb {
	background-color: var(--color-page-title-bg);
	color: var(--color-page-title-font);
	margin-top: 60px;
}
.breadcrumb ul:has(li){
	padding: 20px 0;
  }
.breadcrumb li{
    display: inline;
  }
.breadcrumb li a{
    color: inherit;
    text-decoration: underline;
  }
.breadcrumb li + li:before{
    content: ">";
    margin:.5em;
  }

/***********************************************************/
/*editor*/
/***********************************************************/
	
.editor-content p code,
.editor-content p img,
.editor-content p iframe,
.editor-content p object,
.editor-content figure img,
.editor-content figure iframe,
.editor-content figure video,
.editor-content figure audio,
.editor-content pre code {
  margin-bottom: 0;
}
 
.editor-content th,
.editor-content td {
  border-color: #ddd;
}
 
.editor-content p,
.editor-content ul,
.editor-content ol,
.editor-content table,
.editor-content dl,
.editor-content blockquote,
.editor-content pre,
.editor-content code,
.editor-content img,
.editor-content picture img,
.editor-content figure,
.editor-content iframe,
.editor-content object,
.editor-content hr,
.editor-content video,
.editor-content audio {
  margin: 0 0 20px;
  letter-spacing: 1px;
}
 
.editor-content b,
.editor-content strong {
  font-weight: bold;
}
 
.editor-content a {
  text-decoration: underline;
}
 
.editor-content ul {
	margin-left: 2em;
  list-style: disc;
}
 
.editor-content ol {
	margin-left: 2em;
  list-style: decimal;
}
 
.editor-content table {
  width: 100%;
}
.editor-content table thead {
  border: none;
}
.editor-content table th,
.editor-content table td {
  box-sizing: border-box;
  padding: .625em;
  text-align: left;
  vertical-align: middle;
  border: 1px solid #aaa;
}
.editor-content img,
.editor-content iframe,
.editor-content object,
.editor-content video,
.editor-content audio {
  line-height: 1;
}
.editor-content figure {
  max-width: 100%;
}
 
.editor-content iframe,
.editor-content object {
  width: 100%;
}
 
.editor-content blockquote {
  line-height: 1.5;
  position: relative;
  padding: 3.125em 1.875em .625em;
  color: #555;
  background-color: #f1f4f4;
}
 
.editor-content blockquote::before {
  font-family: "Material Symbols Outlined";
  font-size: 1.875em;
  font-weight: 900;
  position: absolute;
  top: .3125em;
  left: .9375em;
  content: "\e244";
  color: #ccc;
}
 
.editor-content blockquote p,
.editor-content blockquote cite {
  margin-bottom: 1em;
}
 
.editor-content blockquote p cite {
  margin-bottom: 0;
}
.editor-content blockquote cite {
  font-size: .6125em;
  display: block;
  text-align: right;
}

.editor-content .wp-block-columns{
	margin-bottom: 2em;
}
 
.editor-content h2,
.editor-content h3,
.editor-content h4,
.editor-content h5 {
  margin-bottom: 20px;
}
 
.editor-content h2 {
  	font-size: 2.8rem;
	padding-left: 10px;
	border-left: solid 3px var(--color-main);
}
 
.editor-content h3 {
	font-size: 2.4rem;
}
 
.editor-content h4 {
  font-size: 2.0rem;
}
 
.editor-content h5 {
  font-size: 1.8rem;
}
.editor-flex-box{
	margin-bottom: 40px;
}

.editor-group{
	margin-bottom: 80px;
}
.editor-content details{
	margin-bottom: 20px;
	border: 1px solid #aaa;
}
.editor-content details:focus {
	border: 3px solid #333;
}


.editor-content summary {
	display: block;
	list-style: none;
	padding: 10px;
	position: relative;
	background-color: #ddd;
}
.editor-content details summary:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-bottom: solid 2px #333;
	border-right: solid 2px #333;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
}
	

.editor-content details[open] summary::before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
}

.editor-content summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
  display: none;
}

.editor-content .details-inner{
	margin: 0!important;
	padding: 10px;
}
/***********************************************************/
/*illust-list*/
/***********************************************************/

.illust-list{
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}
.illust-list a{
	text-decoration: none;
	color: var(--color-font);
}
.illust-list article{
	width: calc( (100% - 2 * 20px) / 3);
}
.illust-list-img{
	width: 100%;
	aspect-ratio: 1/1;
}
.illust-list-img img{
	background-color: #fff;
	object-fit:cover;
	border-radius: 20px;
	height: 100%;
}
.illust-list-title{
	font-size: 2.0rem;
	font-weight: bold;
}
.illust-list-date{
	color: #888888;
	font-size: 1.4rem;
}

@media(max-width: 767px) {
	
	.illust-list article{
		width: calc( (100% - 1 * 20px) / 2);
	}
}

/***********************************************************/
/*pagination*/
/***********************************************************/

.pagination {
	text-align: center;
	margin-top: 40px;
	margin-bottom: 40px;
}
.pagination .page-numbers {
	display: inline-block;
	padding: 5px 5px;
	text-decoration: none;
	color: #3B4043;
 	border: 1px solid #333;
	border-radius: 5px;
	background-color: #F7F6F5;
	font-size: 1.6rem;
}

.pagination .page-numbers:hover {
	color: #FFFFFF;
	border-color: #333;
	background-color: #333;
}

.pagination .page-numbers.current {
	color: #FFFFFF;
	border-color: #333;
	background-color: #333;
}

.pagination .page-numbers.dots {
	padding: 5px;
	border: none;
	background-color: transparent;
}


/***********************************************************/
/*front-page*/
/***********************************************************/
.front-page h2,
.front-page h3,
.front-page h4,
.front-page h5,
.front-page h6{
	font-size: 3.2rem;
	margin: 40px 0 20px;
}

.front-page .illust-list article{
	width: calc( (100% - 3 * 20px) / 4);
}

@media(max-width: 767px) {
	.front-page .illust-list article{
		width: calc( (100% - 1 * 20px) / 2);
	}
}





/***************************************************************/
/*article(single.php)*/
/***************************************************************/

.single-header{
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--color-main);
}
.single-title{
	font-size: 3.2rem;
}
.single-date{
	font-size: 1.6rem;
}
 
@media(max-width: 480px) {
  .article-head h1 {
    font-size: 2.0rem;
  }
}
/***************************************************************/
/*sidebar*/
/***************************************************************/
.sidebar {
	padding: 20px;
	border: 2px solid var(--color-main);
	background-color: #fff;
	border-radius: 20px;
}
.sidebar h2,
.sidebar h3,
.sidebar h4,
.sidebar h5,
.sidebar h6{
	margin: 20px 0;
	border-bottom: 2px solid var(--color-main);
}
.sidebar ul li{
	list-style-type: disc;
	margin-left: 20px;
}



/****************************************************************/
/*contact form 7*/
/****************************************************************/

.cf7__list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 60px;
}

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
  margin-top: 20px;
}

.cf7__list dt {
  width: 30%;
  padding-top: 15px;
}

.cf7__list dd {
  width: 70%;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 6px 14px;
  color: #fff;
  font-size: 12px;
  vertical-align: 1px;
}

.cf7__required {
  background: #BE1D1D;
}

.cf7__optional {
  background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  width: 100%;
  padding: 20px 0;
  background: #F4F4F4;
  font-size: 1.6rem;
}

/* ドロップダウンメニュー */
.cf7__select {
  position: relative;
}

.cf7__select:before {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid #000;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  pointer-events: none;
  content: '';
}

.cf7__select select {
  width: 100%;
  padding: 19px 20px;
  background: #F4F4F4;
  color: #a5a5a5;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5;
}

/* 送信ボタン */
.cf7__button {
  padding-left: 72px;
  text-align: center;
}

input[type="submit"] {
  width: 260px;
  height: 60px;
	border-radius: 50vmax;
  background: #ef908c;
  color: #fff;
  transition: opacity .6s;
	border: none;
	font-size: 1.6rem;
}

input[type="submit"]:hover {
  opacity: .6;
}

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle;
}

@media screen and (max-width: 767px) {

  .cf7__list dt {
    width: 100%;
    padding-top: 0;
  }

  .cf7__list dd {
    width: 100%;
  }

  .cf7__list dd:nth-of-type(n + 2) {
    margin-top: 0;
  }

  .cf7__list dd .wpcf7-checkbox,
  .cf7__list dd .wpcf7-radio {
    padding: 15px 0 0;
  }

  /* 送信ボタン */
  input[type="submit"] {
    width: 180px;
    height: 56px;
  }

}



