@charset "utf-8";
/*共通:ウィンドウサイズ大(1920px-1024px)*/
body{
  background-color:#ffffe0;
/*  background-color:#e5ffcc;*/
  position:relative;
}
header{
  display:flex;
  font-size:15px;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height:1.0;
  font-weight:bold;
  padding:10px;
  justify-content: space-between;
  align-items: center;
  background-color:rgba(255,255,240,0.9);
/*  background-color:#ffffe0;*/
/*  background-color:#e5ffcc;*/
  position:fixed;
  top:0;
  left:0;
  width:100%;
  flex-wrap:wrap;
}
.logo {
  text-align:left;
  margin-left:55px;
  margin-right:55px;
}
header nav{
  display: flex;
  justify-content: center;
  text-align:center;
}
.contact {
  text-align:right;
  margin-right:20px;
}
.icon{
  width:35px;
  opacity:1.0;
  filter: invert(72%) sepia(26%) saturate(6428%) hue-rotate(1deg) brightness(105%) contrast(102%);
  margin-right:5px;
}
header p{
  color:#ff8c00;
  text-align:center;
}
header span{
  font-family: "Cherry Bomb One", system-ui;
}
.entity{
  font-size:45px;
}
.tel{
  font-size:35px;
}
header ul{
  display:flex;
  text-align:center;
}
header li{
  width:150px;
  font-size:20px;
  font-family: "Kiwi Maru", serif;
}

/*mainタグ内*/
main{
  margin-top:100px;
  scroll-margin-top:100px;
}
h1{
  display:none;
}
.title{
  width: 100%;                  /* 横幅は画面いっぱい */
  background-image: url("../img/top_back1.jpg");
  background-size: cover;
  background-position: center;
  padding: 40px 0;           /* 上下左右に余白（調整可） */
}
.content1{
  margin:20px 0;
  text-align: center;
}
.corp {
  text-align: center;
  width:600px;
  margin:10px auto;
/*  margin-left: 1px;
  margin-right: 200px;*/
  padding-top:40px;
  padding-bottom:40px;
  font-size:45px;
  font-weight:bold;
  color:black;
  background-color:rgba(255, 255, 255, 0.5);
  box-shadow:0 0 30px rgba(255,255,255,1.0);
  border-radius: 200px;          /* ← 角を丸める指定 */
}
.mainMessage {
  bottom: 20px;
  right: 20px;
  font-size:20px;
  font-weight:bold;
  color:#2f4f4f;
  text-shadow:2px 3px 0 rgba(255,255,255,1.0);
}
h2{
  font-size:25px;
  margin:70px 20px 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  scroll-margin-top:100px;
}
h3{
  font-size:25px;
  margin:50px 10px 30px;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;　
}
main .content {
  margin:20px 0;
  text-align: center;
}
.about{
  line-height:1.5;
  margin:0 20px;
}
.work{
/*  text-align: left; */
  display: flex;
  flex-direction: column;
  align-items: center;     /* 上段中央寄せ */
  gap: 10px;               /* 段ごとの間隔 */
  margin: 20px 0 60px;
  line-height:1.3;
}
.point{
  height: 300px;
  width: 300px;
  padding: 20px;
  border-radius: 250px;          /* ← 角を丸める指定 */
/*  clip-path: polygon(55% 2%, 50% 0% ,45% 2%, 0 85%, 0 100%,100% 100%, 100% 85%);*/
/*  clip-path: circle(200px);*/
/*border-radius: 30px;*/
}
.top{
  display: flex;
  justify-content: center; /* 中央寄せ */
  width: 100%;
}
.bottom{
  display: flex;
  justify-content: space-between; /* 左右に配置 */
/*  justify-content: space-around;*/  /* space-between から変更 */
/*  width: 60%;*/   /* 三角形っぽくするためにやや狭めに */
  width: 800px;   /* 三角形っぽくするためにやや狭めに */
  margin: 0 auto; 
}
.msg{
  width:300px;
  text-aligh:center;
  margin:auto;
}
.item1{
  background-color:rgba(255, 160, 160, 0.5);
  box-shadow:0 0 10px rgba(255, 160, 160, 0.8);
}
.item2{
  background-color:rgba(160, 255, 160, 0.5);
  box-shadow:0 0 10px rgba(160, 255, 160, 0.8);
}
.item3{
  background-color:rgba(160, 160, 255, 0.5);
  box-shadow:0 0 10px rgba(160, 160, 255, 0.8);
}
table{
  width:80%;
  border-collapse: separate;   /* ← ここが大事！ */
  border-spacing: 0;
  border: 1px solid #ccc;
  border-radius: 25px;          /* ← 角を丸める指定 */
  overflow: hidden;            /* はみ出し防止 */
  margin: 0 auto;
/*  box-shadow:0 0 5px rgba(47,79,79,1.0);*/
}
td {
  border: 1px solid #2f4f4f;
  padding: 8px;
  text-align: left;
  line-height:1.8;
  background-color: #f9f9f9
}
.map{
  line-height:1.0;
}
td:first-child {
  font-weight: bold;
  text-align: right;
  background-color: #008080;
  color:#f9f9f9;
}
table tr:first-child td:first-child {
  border-top-left-radius:25px;
}
table tr:first-child td:last-child {
  border-top-right-radius:25px;
}
table tr:last-child td:first-child {
  border-bottom-left-radius:25px;
}
table tr:last-child td:last-child {
  border-bottom-right-radius:25px;
}
a{
/*  color:#2f4f4f;*/
  color:#008080;
}
a:hover{
/*  color:#6f8f8f;*/
  color:#ff8c00;
/*  background-color: rgb(0,0,0,0.5);*/
}

/*PCの設定(ウィンドウサイズ中）*/
@media screen and (max-width:1024px)
{
header li{
  width:130px;
}
}

/*PCの設定(ウィンドウサイズ小）*/
@media screen and (max-width: 900px)
{
.logo {
 margin-left:50px;
}
header nav{
  order:1;
  flex-basis:100%;
  margin:50px auto 0;
}
.contact {
  margin-right:50px;
}
header li{
  width:150px;
  margin:auto;
}
main{
  margin-top:150px;
  scroll-margin-top:150px;
}
.work{
  gap: 1px;               /* 段ごとの間隔 */
}
.point{
  height: 300px;
  width: 300px;
  padding:0;
}
.bottom{
  width: 650px;   /* 三角形っぽくするためにやや狭めに */
}
.msg{
  width:280px;
  text-aligh:center;
  margin:auto;
}
table{
  width:90%;
}
}
/*タブレット・スマホの設定*/
@media screen and (max-width: 700px)
{
.work{
  flex-direction: column;
}
.point{
  height: 200px;
  width: 400px;
  border-radius: 250px;          /* ← 角を丸める指定 */
  margin-top:20px;
  margin-bottom:20px;
}
.top{
  flex-direction: column;
  align-items:center;
}
.bottom{
  flex-direction: column;
  width: 0;
  align-items:center;
}
.msg{
  width:350px;
}
h3{
  margin:30px 0 20px;
}
}/*タブレット・スマホの設定*/
@media screen and (max-width: 600px)
{
header{
  padding:3px;
  flex-direction: column;
  align-items:center;
}
.logo{
  margin:0 0 10px;
}
.contact {
  text-align:center;
  margin-right:5px;
  margin:0;
}
.icon{
  width:28px;
  margin-right:3px;
}
header span{
  font-family: "Cherry Bomb One", system-ui;
}
.entity{
  font-size:35px;
}
.tel{
  font-size:25px;
}
header nav{
  margin:10px auto 0;
}
header ul{
  display:flex;
  text-align:center;
}
header li{
  width:90px;
  font-size:15px;
  font-family: "Kiwi Maru", serif;
}
/*mainタグ内*/
main{
  font-size:12px;
}
h1{
  display:none;
}
.title{
  width: 100%;                  /* 横幅は画面いっぱい */
  background-image: url("../img/top_back1.jpg");
  background-size: cover;
  background-position: center;
  padding: 40px 0;           /* 上下左右に余白（調整可） */
}
.content1{
  margin:20px 0;
  text-align: center;
}
.corp {
  text-align: center;
  width:280px;
  margin:10px auto;
  padding-top:10px;
  padding-bottom:10px;
  font-size:25px;
  font-weight:bold;
  color:black;
  background-color:rgba(255, 255, 255, 0.5);
  box-shadow:0 0 30px rgba(255,255,255,1.0);
  border-radius: 100px;          /* ← 角を丸める指定 */
}
.mainMessage {
  bottom: 20px;
  right: 20px;
  font-size:15px;
  font-weight:bold;
  color:#2f4f4f;
  text-shadow:1px 1px 0 rgba(255,255,255,1.0);
  margin:10px;
}
h2{
  font-size:20px;
  margin:30px 10px 10px;
  scroll-margin-top:160px;
}
h3{
  font-size:18px;
  margin:20px 5px 25px;
}
main .content {
  margin:20px 0;
  text-align: center;
}
.about{
  line-height:1.5;
  margin:0 20px;
}
.point{
  height: 180px;
  width: 280px;
  margin:10px 0;
  border-radius: 150px;          /* ← 角を丸める指定 */
}
.msg{
  width:250px;
}
.item1{
  box-shadow:0 0 5px rgba(255, 160, 160, 0.8);
}
.item2{
  box-shadow:0 0 5px rgba(160, 255, 160, 0.8);
}
.item3{
  box-shadow:0 0 5px rgba(160, 160, 255, 0.8);
}
table{
  width:90%;
  border-radius: 5px;          /* ← 角を丸める指定 */
}
.map{
  line-height:1.0;
}
table tr:first-child td:first-child {
  border-top-left-radius:5px;
}
table tr:first-child td:last-child {
  border-top-right-radius:5px;
}
table tr:last-child td:first-child {
  border-bottom-left-radius:5px;
}
table tr:last-child td:last-child {
  border-bottom-right-radius:5px;
}
#accessmap{
/* display:none;*/
width:100%;
height:100%;
max-width:450px;
}
footer{
 font-size:12px;
}
}
