* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
  font-size: 100%;
}

body {
  color: #383e45;
  font-size: 0.9rem;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
}

li {
  list-style: none;
}

.section-title {
  display: inline-block;
  font-size: 2rem;
  text-align: center;
  margin-bottom: 20px;
  border-bottom: solid 1px #383e45;
  color: #000;
}
.content-title {
  font-size: 1.3rem;
  margin: 1px 0;
}

.send-title {
  font-size: 1.5rem;
  margin: 0 0 20px 0;
}

.wrapper {
  max-width: 1000px;
  margin: 0 auto 0 auto;
  padding: 0 3%;
  text-align: center;
}

.wrapper-send {
  max-width: 600px;
  margin: 0 auto 35px;
  padding: 0 3%;
  text-align: center;
}

.wrapper-button {
  max-width: 1000px;
  margin: 0 auto 50px;
  padding: 0 3%;
  text-align: center;
}

.button-003 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    margin:0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 5px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
    background-color: #2c579b;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
}

.button-003:hover {
    background-color: #1c478b;
}


.comment {
  margin: 0 30px 60px;
}

.comment_1 {
  color: red;
  margin: 0 40px 10px;
}

.box4{
  padding: 8px 19px;
  margin: 0.5em 0;
  color: #2c2c2f;
  background: #fffac2;
  border-top: solid 5px #f9a980;
  border-bottom: solid 5px #f9a980;
}
.box4 h3 {
  margin: 10px; 
  padding: 0;
}

.credit {
  color: #aaaaac;
  font-size: 0.6rem;
  text-align: center;
}

/*-------------------------------------------
ヘッダー
-------------------------------------------*/
.logo {
    width: 80%;
    margin-top: 10px;
}

/*-------------------------------------------
Mainvisual
-------------------------------------------*/
.mainvisual {
  margin-bottom: 40px;
}
.mainvisual img {
  width: 100%;
  max-width: 1920px;
  height: 600px;
  object-fit: cover;
}

/*-------------------------------------------
About
-------------------------------------------*/
.aboutcontent {
  display: flex;
  justify-content: center;
  align-items: center;
}

.abouttext {
  text-align: justify;
}

/*-------------------------------------------
send
-------------------------------------------*/
.sendcontent {
  display: flex;
  justify-content: center;
  align-items: center;
}

.sendtext {
  text-align: justify;
}

/*-------------------------------------------
button
-------------------------------------------*/
#button ul {
  display: flex;
  justify-content: space-between;
}
#button li {
  width: 32%;
}

/*-------------------------------------------
footer
-------------------------------------------*/
#footer {
  display: flex;
  justify-content: center;
  font-size: 1.5rem;
  padding: 10px 0;
  text-align: center;
  background-color: #174f9e;
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 768px) {

  .wrapper {
    max-width: 1000px;
    margin: 0 auto 0 auto;
    padding: 0 5%;
    text-align: center;
  }

  .section-title {
    display: inline-block;
    font-size: 1.6rem;
    text-align: center;
    margin-bottom: 20px;
    border-bottom: solid 1px #383e45;
    color:#000;
  }

  .content-title {
    font-size: 1.2rem;
    margin: 5px 0;
  }

  .button-003 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 275px;
    margin:0 auto;
    padding: .9em 2em;
    border: none;
    border-radius: 5px;
    box-shadow: 0 2px 3px rgb(0 0 0 / 25%), 0 2px 3px -2px rgb(0 0 0 / 15%);
    background-color: #2c579b;
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
}

.button-003:hover {
    background-color: #1c478b;
}


.comment {
  margin: 0 30px 60px;
}

/*-------------------------------------------
ヘッダー
-------------------------------------------*/
.logo {
  width: 95%;
  margin-top: 10px;
}

  /*-------------------------------------------
  Mainvisual
  -------------------------------------------*/
  .mainvisual {
    margin-bottom: 20px;
  }
  .mainvisual img {
    height: calc(80vh - 110px);
  }

  /*-------------------------------------------
  About
  -------------------------------------------*/
  #about .content {
    flex-direction: column;
  }
  #about img {
    margin-right: 0;
  }

  /*-------------------------------------------
  button
  -------------------------------------------*/
  
  
  #button ul {
    flex-direction: column;
  }
  #button li {
    width: 100%;
    margin-bottom: 30px;
  }
}

.button-group {
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: center;
}

.btn {
	width: 240px;
	height: 64px;
	border: none;
	border-radius: 12px;
	font-size: 20px;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1);
}

.btn-agree {
	background-color: #001361;
	color: white;
}

.btn-agree:hover {
	background-color: #001360;
	transform: translateY(-3px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.btn-disagree {
	background-color: #a5a5a5;
	color: white;
}

.btn-disagree:hover {
	background-color: #a5a5a4;
	transform: translateY(-3px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.footimg{
padding: 10px
}

.footimg img{
	display: block;
	margin: 0 auto;
	width: 20%;
}

.hedimg {
	padding-bottom: 15px;
	}
	
	.hedimg img{
		display: block;
		margin: 0 auto;
		width: 75%;
	}

.hover-fade {
	transition: opacity 0.3s ease;
}

.hover-fade:hover {
	opacity: 0.5;
}

.image-pc {
	display: block;
}

.image-mobile {
	display: none;
}


@media screen and (max-width: 767px) {

	.banner {
		line-height: 50px;
		background-color: #f80d55;
		color: #FFFFFF;
		font-size: 100%;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		height: 150%;
	}

	body a {
		text-decoration: none;
	}

	.container {
		margin: 0;
		padding: 0;
	}

	.container img {
		width: 100%;
	}

	.cap {
		font-size: 14px;
		font-weight: bold;
		color: #FFFFFF;
	}

	.footimg img{
		width: 60%;
	}

	h2 {
		padding-top: 25px;
		font-size: 120%;
		color: white;
	}

	.hedimg img{
		width: 100%;
	}

	.image-pc {
		display: none;
	}

	.image-mobile {
		display: block;
	}

	.title {
		margin: 10px 0px 20px 0px;
	}

	.title img {
		width: 85%;
	}

}

@media screen and (min-width: 768px) {

	body a {
		text-decoration: none;
	}

	.container {
		margin: 0;
		padding: 0;
	}

	.container img {
		width: 100%;
	}

	.title {
		margin: 10px 0px 20px 0px;
	}

	.title img {
		width: 85%;
	}

	.banner {
		background-color: #ff8826;
		color: #FFFFFF;
		font-size: 250%;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
	}

	.cap {
		font-size: 14px;
		font-weight: bold;
		color: #FFFFFF;
	}


	h2 {
		padding-top: 25px;
		font-size: 120%;
		color: white;
	}
}

