@charset "utf-8";
/* CSS Document */
/*
Copyright(c)2010, Yahoo! inc. All right reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 3.3.0
build: 3167
�↓YUI3 CSS Reset ブラウザー固有のスタイルをリセットします↓*/
/*------------------------------

		reset

------------------------------*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
	all: unset;
	display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
	-moz-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
	cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
	list-style: none;
}

/* For images to not be able to exceed their container */
img {
	max-inline-size: 100%;
	max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
	border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
	-webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
	white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
	-webkit-appearance: revert;
	appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
	all: revert;
	box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
	color: unset;
}

/* fix the feature of 'hidden' attribute.
display:revert; revert to element instead of attribute */
:where([hidden]) {
	display: none;
}

/* revert for bug in Chromium browsers
- fix for the content editable attribute will work properly.
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	-webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
	-webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
	all: revert;
	box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
	display: none;
}
/*------------------------------

		end reset

------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,filedset,
legend,input,textarea,p,blockquote,th,td{
	margin: 0;
	padding: 0;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}

/*cleafix
----------------------------------------*/
.clearfix{/zoom: 1;}
.clearfix:after{content:"";display:block; clear: both;}
/*box-sizing
------------------------------------------*/
*, *:before, *:after{
	-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
			box-sizing: border-box;
}
/*
Copyright(c)2010, Yahoo! Inc. Allright reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/licencse.html
version: 3.3.0
build: 3167
↓YUI3 CSS Font　フォントサイズを相対指定する↓ */

body{
	*font-size: small;/*IE*/
	*font: x-small; /*IE互換モード用*/
}
*{
	--main_color: #ffcd4a;
	--main_thincolor: #fffaed;
	--accent_color: #3e6de7;
	--back_color: #EFF0F7;
	font-family: "Noto Sans JP";
	color: #132847;
}
<!--↓リンクに対する共通設定↓-->
*{
	margin: 0;
	padding: 0;
	line-height: 1.5;
	list-style: none;
}
img{
	border: none;
}
a, a:link,/*未訪問のリンクを指定*/
a:visited,/*訪問済みのリンクを指定*/
a:hover,/*マウスオーバーしたときのリンクを指定*/
a:active,/*クリック時のリンク部分を指定*/
a{
	text-decoration: none;
}
/***************************
			ここまで基本設定
****************************/
header{
	position: relative;
	z-index: 20;
}
header h1{
	width: fit-content;
	color: var(--main_color);
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 1px;
	font-size: 160%;
	text-align: center;
	position: absolute;
	top: 15px;
	left: 15px;
	padding: 10px 20px 15px 0px;
	background: #fff;
	border-radius: 0 0 20px 0;
	border: 2px solid;
	border-color: transparent var(--main_color) var(--main_color) transparent;
	z-index: 0;
}
header h1 a{
	color:var(--main_color);
}
header h1::before{
	content: '';
	height: 20px;
	width: 40px;
	position: absolute;
	top: -2px;
	right: -40px;
	border-radius: 50% 0 0 0 / 100% 0 0 0;
	background: transparent;
	box-shadow: -20px 0 0 #fff;
	border: 2px solid;
	border-color: var(--main_color) transparent transparent var(--main_color);
	z-index: -1;
}
header h1::after{
	content: '';
	height: 20px;
	width: 40px;
	position: absolute;
	bottom: -20px;
	left: -2px;
	border-radius: 50% 0 0 0 / 100% 0 0 0;
	background: transparent;
	box-shadow: -20px 0 0 #fff;
	border: 2px solid;
	border-color: var(--main_color) transparent transparent var(--main_color);
	z-index: -1;
}
footer{
	background: var(--back_color);
	overflow-x: hidden;
}
footer .title{
	display: block;
	width: fit-content;
	background: #fff;
	color: var(--main_color);
	font-size: 140%;
	letter-spacing: 2px;
	padding: 20px;
	margin: 0 0 60px 0;
	font-weight: bold;
	border-radius: 0 0 20px 0;
	position: relative;
	z-index: 0;
}
footer .title::before{
	content: '';
	height: 20px;
	width: 40px;
	position: absolute;
	top: 0;
	right: -40px;
	background: transparent;
	border-radius: 50% 0 0 0 / 100% 0 0 0;
	box-shadow: -20px 0 0 #fff;
}
footer .title::after{
	content: '';
	height: 20px;
	width: 40px;
	position: absolute;
	bottom: -20px;
	left: 0;
	background: transparent;
	border-radius: 50% 0 0 0 / 100% 0 0 0;
	box-shadow: -20px 0 0 #fff;
}
footer .address{
	text-align: center;
	line-height: 2;
	letter-spacing: 2px;
	margin-bottom: 60px;
	position: relative;
	z-index: 0;
}
footer .copy{
	font-size: 70%;
	text-align: center;
	background: #7e829a;
	color: #fff;
	padding: 3px 0;
}
/*====================================================================================

	ハンバーガーメニュー

=====================================================================================*/
#checkbox2 {
  display: none;
}

.toggle2 {
  position: fixed;
	bottom: 5px;
	right: 14px;
  width: 60px;
  height: 60px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  transition-duration: .5s;
	z-index: 9999;
}
.bars {
  width: 100%;
  height: 4px;
  background-color: var(--accent_color);
  border-radius: 6px;
}

#bar5 {
  transition-duration: .8s;
}

#bar4,#bar6 {
  width: 80%;
}

#checkbox2:checked + .toggle2 .bars {
  position: absolute;
  transition-duration: .5s;
}

#checkbox2:checked + .toggle2 #bar5 {
  transform: scaleX(0);
  transition-duration: .5s;
}

#checkbox2:checked + .toggle2 #bar4 {
  width: 100%;
  transform: rotate(45deg);
  transition-duration: .5s;
}

#checkbox2:checked + .toggle2 #bar6 {
  width: 100%;
  transform: rotate(-45deg);
  transition-duration: .5s;
}

#checkbox2:checked + .toggle2 {
  transition-duration: .5s;
  transform: rotate(180deg);
}

.hamburger-menu{
	position: fixed;
	bottom: calc((50% - 80px) * -1);
	right: calc((80% - 97px) * -1);
	background: #fff;
	border: 3px solid;
	border-color: var(--main_color) #fff #fff var(--main_color);
	height: 50%;
	width: 80%;
	padding: 30px 50px 50px 35px;
	border-radius: 20px 0 0 0;
	transition: 0.6s;
}
.hamburger-menu ul{
	height: 80%;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}
.hamburger-menu a{
	opacity: 0;
	display: none;
	letter-spacing: 3px;
	font-size: 116%;
}
#checkbox2:checked ~ .hamburger-menu{
	bottom: -2px;
	right: -2px;
}
#checkbox2:checked ~ .hamburger-menu a{
	opacity: 1;
	display: block;
	padding: 0 10px;
}
