@charset "UTF-8";

@import url("./css/reset.css");
@import url("./css/common.css");
@import url("./css/sp_menu.css");



/***********************************************************************************/
/***　　　　　ここから↓に記入してください。                                     ***/
/***********************************************************************************/

.h_inner {
	width: 240px;
	position: fixed;
	padding: 30px;
}

.header .flex {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.header_logo {
	margin-top: 34px;	
}

.nav_box {
	margin-top: 48px;
}

.nav li {
	margin-bottom: 20px;
	font-family: 'Montserrat', sans-serif;
}

.nav li img {
	padding-bottom: 8px;
}


.header a {
	color: #5D472E;
	transition: .3s;/*アニメーションすることを想定して追加しておきます*/
}

.nav li a {
	display: inline-block;
}

.nav li a::after {
  content: '';
  display: block;
  height: 1px;
  width: 100%;
  background: #B99A81;
  /*position: absote;*/
  bottom: 0;
  left: 10%;
  transform: scale(0, 1);
  transition: .3s;
}

.nav li a:hover {
  color: #B99A81;
}

.nav li a:hover::after {
  transform: scale(1, 1);
}

.inner {
	margin-left: 240px;
}

.mv {
	position: relative;
}

.mv_img {
	background-image: url(img/MV_img.jpg);
  background-repeat: no-repeat;
	background-size: cover;
  background-position: center;
	height: 480px;
}

.mv_img {
	margin-top: -544px;
	margin-bottom: 56px;
	max-width: 820px;
	margin-right: auto;
	position: relative;
	z-index: 2;
}

.mv_catch {
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translate(20%,-45%);
	z-index: 3;
}

.bg_color {
	background-color: #B99A81;
	width: 240px;
	height: 600px;
	margin-left: auto;
}

.contents section {
	margin-top: 80px;
}

.concept {
	padding-top: 64px;
}

h2 {
	font-family: 'Montserrat', sans-serif;
	font-size: 35px;
}

.sub_title{
	font-size: 14px;
	margin-bottom: 32px;
}

.concept .text {
	line-height: 2.2em;
	letter-spacing: 0.05em;
}

.concept img {
	display: block;
	margin: 0 auto;
	padding: 0 10px;
}

.service {
	padding-right: 20px;
}

.service ul::after{
  content:"";
  display: block;
  width:32%;
}

.service li {
	width: 32%;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 25px;
	margin-bottom: 24px;
}

.service li img {
	margin-bottom: 30px;
}

.service li i {
	font-size: 40px;
	margin-bottom: 32px;
	color: #D5A379;
}

.service li h3 {
	margin-bottom: 24px;
	font-weight: normal;
	font-size: 18px;
}

.service .button , .home_works .button {
	margin-top: 32px;
}

a:hover {
	opacity: 0.3;
	transition: .3s;
}
.b_width {
	width: 250px;
	margin-left: auto;
}

.button {
	margin-left: auto;
	width: 250px;
	height: 50px;   
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	border: 1px solid #5D472E;
	cursor: pointer;
	font-family: 'Montserrat', sans-serif;
}

.arrow {
	margin-left: 10px;
	width: 40px;
	height: 8px;
	border-bottom: 1px solid #D5A379;
	border-right: 1px solid #D5A379;
	transform: skew(45deg);
}

.home_works {
	padding-right: 20px;
}

.home_works li {
	width: 30%;
}

.contact {
	position: relative;
	margin-bottom: 80px;
	padding-right: 20px;
}

.contact p {
	width: 100%;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	letter-spacing: 0.05em;
}

.contact .button {
	position: absolute;
	top: 65%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: #fff;
}

.sub_page section {
	margin-bottom: 64px;
}

.flow .text {
	margin-bottom: 56px;
}

.flow ul {
	padding: 30px;
}

.flow_title {
	justify-content: flex-start;
	align-items: center;
}

.unit .namber {
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	color: #B99A81;
	position: absolute;
}

.circle {
	background-color: #F9F4F0;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	position: relative;
	margin-top: -15px;
  margin-left: -15px;
}

.unit h3 {
	font-weight: normal;
	font-size: 18px;
	padding-left: 48px;
}

.flow_detail {
	border-left: 2px solid #B99A81;
	margin: 20px 0 42px 22px;
	padding: 16px;
	align-items: center;
}

.flow_detail .flow_icon {
	width: 25%;
}

.flow_detail .textarea {
	width: 75%;
}

.flow_detail .flow_icon img {
	display: block;
	margin: 0 auto;
}

.pricing_list {
	flex-direction: column;
	padding: 0 20px 10px 20px;
	flex-wrap: nowrap;
}

.pricing_list li {
	padding: 15px 20px;
	border-bottom: 1px solid #B99A81;
	align-items: center;
}

.pricing_list li:first-child {
	border-top: 2px solid #B99A81;
	border-bottom: 2px solid #B99A81;
}

.pricing_list li:last-child {
	border-bottom: 2px solid #B99A81;
}

.pricing_list li:first-child .service_detail {
	text-align: center;
}

.pricing_list li:first-child .price {
	text-align: center;
	padding-left: 15px;
}

.pricing_list li:nth-child(5) .price {
	text-align: center;
	padding-left: 15px;
}

.pricing_list h3 {
	font-weight: normal;
}

.service_title {
	width: 20%;
	text-align: center;
}
.price {
	width: 15%;
	text-align: right;
}
.service_detail {
	width: 65%;
	padding-left: 30px;
	align-items: center;
}

.service_detail .b_width {
	width: 230px;
}

.service_detail .button {
	width: 230px;
	font-size: 14px;
	height: 1.8em;
	border: none;
	font-family: 'Noto Sans CJK JP', 'noto-sans-cjk-jp', 'Noto Sans JP', sans-serif;
}

.note_01 {
	flex-direction: column;
	font-size: 15px;
	padding: 0 20px 72px 20px;
}


.note_01 li {
	position: relative;
  padding-left: 18px;
}

.note_01 li::before {
	position: absolute;
	content: '';
	width:0.8em;
  height: 0.8em;
  background: #B99A81;
  border-radius: 50%;
  margin-right: 8px;
	left: 0;
	margin-top: 8px;
}


.note_02 {
	flex-direction: column;
	font-size: 14px;
	padding: 0 20px 20px 20px;
}

.note_02 li {
	position: relative;
  padding-left: 13px;
}

.note_02 li::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 6px transparent;
	border-left: solid 8px #5D472E;
	left: 0;
	margin-top: 7px;
}

#works ul , #template ul{
	padding-right: 20px;
}

#works li , #template li {
	padding-bottom: 80px;
}

#works .works_img , .template_img {
	width: 40%;
}

#works h3 {
	background-color: #B99A81;
	display: inline-block;
	color: #FFF;
	padding: 4px 8px;
	font-weight: 300;
	font-size: 14px;
}

#works .works_textbox , .template_textbox {
	width: 60%;
	padding-left: 20px;
	font-size: 14px;
}

#works .works_title , .template_title {
	font-size: 16px;
	border-bottom: #B99A81 solid 1px;
	adding-bottom: 4px;
}

#works .works_charge {
	padding-top: 4px;
}

#works .works_caption {
	padding-top: 16px;
}

#works .works_link {
	justify-content: flex-start;
}

#works .works_link p {
	margin-right: 4px;
}

.template_price {
	padding: 8px 0;
}

.template .supplement {
	background-color: #F9F4F0;
	padding: 24px 32px;
	margin-right: 20px;
	margin-bottom: 56px;
}

.arrow_02 {
	position: relative;
	padding-left: 17px;
	margin-bottom: 16px;
}
.arrow_02::before {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 5px transparent;
	border-top: solid 8px #5D472E;
	top: 14px;
	left: 0;
	margin-top: -3px;
}

#template .caution {
	margin-bottom: 16px;
}

.template .supplement ul {
	flex-direction: column;
}

#template .supplement li {
	justify-content: flex-start;
	padding-bottom: 8px;
	position: relative;
}

#template .supplement_title::before {
	position: absolute;
	content: '';
	width: 0.8em;
	height: 0.8em;
	background: #B99A81;
	border-radius: 50%;
	margin-right: 8px;
	left: 0;
	margin-top: 8px;
}

#template .supplement .flex {
	flex-wrap: nowrap;
}

.supplement_title {
	width: 33%;
	padding-left: 24px;
}

.supplement_content {
	width: 65%;
}

.sub_supplement {
	font-size: 14px;
	text-align: right;
}

#template .button {
	margin: 0 20px 80px auto;
}

.am_inner {
	padding: 40px;
}

.profile {
	padding: 56px 0 32px 0;
	flex-direction: column;
}

.profile_img {
	width: 35%;
}

.profile_01 .profile_textbox {
	width: 65%;
	font-size: 14px;
}

.profile_01 {
	margin-bottom: 32px;
}

.mf_title {
	margin-top: 20px;
	font-family: 'Montserrat', sans-serif;
}

.left_line {
	border-left: 3px solid #B99A81;
	padding-left: 12px;
}

.area {
	padding-left: 15px;
}

.myfavorite {
	padding-left: 15px;
}

.profile_02 {
	margin-top: 20px;
}

.profile_02 li {
	justify-content: flex-start;
	width: 100%;
	padding-bottom: 16px;
}

.profile_02 li:last-child {
	padding-bottom: 0;
}

.AD {
	width: 10%;
}

.tl_detail {
	width: 88%;
}

.welcome {
	letter-spacing: 0.03em;
	line-height: 1.8em;
}

.message {
	padding-bottom: 32px;
	letter-spacing: 0.03em;
}

.page_title {
	padding-top: 96px;
}

#contact .contact_form {
	max-width: 660px;
	margin: 0 auto 80px auto;
	padding: 0 48px 0 20px;
}

#contact .notice {
	font-size: 14px;
}

#contact ul {
	margin-top: 32px;
	flex-direction: column;
	flex-wrap: nowrap;
}

#contact li {
	width: 100%;
	margin-bottom: 24px;
	align-items: center;
}

#contact .co_title {
	width: 30%;
	justify-content: flex-start;
	align-items: center;
}

#contact .co_name {
	font-size: 14px;
}

#contact .hissu {
	font-size: 12px;
	color: #B99A81;
	display: block;
	padding-left: 8px;
}

#contact .input_area {
	width: 68%;
}

#contact .input {
	width: 100%;
	border: 1px solid #B99A81;
	height: 40px;
}

#contact  textarea{
	width: 100%;
  border: 1px solid #B99A81;
	padding: 1px 2px;
} 

#contact .error_msg {
	font-size: 13px;
	color: #d5502b;
}

::placeholder {
  color: rgb(178, 178, 177);
	font-family: 'Noto Sans CJK JP', 'noto-sans-cjk-jp', 'Noto Sans JP', sans-serif;
}

input:focus{
	outline: orange 2px solid;
}

textarea:focus{
	outline: orange 2px solid;
}

#contact .button {
	width: 150px;
	height: 40px;
	background-color: #5D472E;
	color: #FFF;
	font-size: 14px;
	letter-spacing: 0.03em;
}

#confirm .confirm_wrap {
	max-width: 600px;
	margin: 0 auto;
}

.confirm_notice {
	margin-bottom: 24px;
	font-size: 14px;
}

.form-group-wrap {
	border: 1px solid #B99A81;
	padding: 32px 24px;
}

.form-group {
	margin-bottom: 16px;
}

#confirm form {
	margin: 0 16px;
}

#confirm .row {
	align-items: center;
}

#confirm .col-3 {
	width: 30%;
	font-size: 14px;
}

#confirm .col-9 {
	width: 70%;
}

#confirm .offset-3 {
	margin: 28px auto 80px auto;
	width: 40%;
}

#confirm a {
	width: 80px;
	height: 40px;
	border: #5D472E solid 1px;
	color: #5D472E;
	font-size: 14px;
	letter-spacing: 0.03em;
	text-align: center;
  line-height: 37px;
	box-sizing: border-box;
}

#confirm .button {
	width: 120px;
	height: 40px;
	background-color: #5D472E;
	color: #FFF;
	font-size: 14px;
	letter-spacing: 0.03em;
}

.thanks_msg {
	margin: 20px 20px 160px 20px;
	border: 1px solid #B99A81;
  padding: 40px 24px;
}

.thanks_msg p {
	padding-bottom: 40px;
	margin: 0 auto;
}

.thanks_msg img {
	margin-left: auto;
  display: block;
}

.privacypolicy_wrap {
	margin: 40px 20px 80px 20px;
}

.privacypolicy_wrap li {
	margin-bottom: 32px;
}

.privacypolicy h3 {
	margin-bottom: 8px;
}

.privacypolicy p {
	font-size: 14px;
}

.privacypolicy_03_list {
	margin-bottom: 24px;
}

.privacypolicy_03_list li {
  padding-left: 32px;
  text-indent: -1.5em;
	list-style: inside;
	font-size: 14px;
	margin-bottom: 0;
}

.footer {
	background-color: #B99A81;
}

.footer .contener {
	padding: 32px 48px 8px 48px;
}

.footer .nav_box {
	max-width: 320px;
	margin: 0;
	padding-top: 16px;
	padding-bottom: 32px;
  font-size: 15px;
}

.footer .nav li {
	margin-bottom: 0;
}

.footer li {
	align-items: center;
}

.footer li a {
	color: #fff;
	display: inline-block;
}

.footer li img {
	vertical-align: text-top;
}

.footer .nav li a::after {
  background: #5D472E;
  /*position: absote;*/
}

.footer .nav li a:hover {
  color: #5D472E;
}

.footer .nav li a:hover::after {
  transform: scale(1, 1);
}

.footer_info {
	border-bottom: 1px solid #fff;
	padding-bottom: 32px;
}

.footer_info p {
	padding-top: 8px;
	color: #fff;
	letter-spacing: 0.03em;
}

.copyright p {
	text-align: right;
	font-size: 14px;
	color: #fff;
}

.copyright p span {
	letter-spacing: 0.07em;
}

@media screen and (max-width:1024px) {
	/* 画面サイズが768px以下は、ここを読み込む */

.pricing_inner {
	flex-direction: column;
}

.service_title {
	width: 100%;
}

.price {
	width: 100%;
	text-align: center;
}

.service_detail {
	width: 100%;
	padding-left: 0;
	text-align: center;
}

.pricing_list h3 {
	line-height: 1.8;
}

.pricing_list li:first-child .price {
	padding-left: 0;
}


.pricing_list li:nth-child(4) .price {
	padding-left: 0;
}

.sub_detail {
	justify-content: center;
}

.service_detail .b_width {
	margin-left: 0;
	justify-content: flex-end;
}



}


@media screen and (max-width:768px) {
	/* 画面サイズが768px以下は、ここを読み込む */

.inner {
	margin-left: 0;
}

.header .flex {
	flex-direction: row;

}

.h_inner {
  z-index: 999;
	padding: 0 20px 0 0;
	justify-content: space-between;
  width: 100%;
	background: rgb(255 255 255 / 40%);
	height: 60px;
}

.header_logo {
	margin: 0;
}

.header_logo img {
	width: 50%;
}

.nav_box {
	margin-top: 0;
}

.bg_color {
	display: none;
}

.mv_img {
	margin-top: 0;
}

.mv_catch {
	transform: translate(8%,-45%);
}

.contents {
	padding: 0 10px
}

.concept {
	padding-top: 0;
}

.service {
	padding-right: 0;
}

.service li {
  width: 100%;
}

.home_works {
	padding-right: 0;
}

.home_works ul {
	max-width: 450px;
  margin: 0 auto;
}

.home_works li {
	width: 100%;
	margin-bottom: 32px;
}

.home_works .button {
	margin-top: 0;
}

.contact {
	padding-right: 0;
}

#confirm form {
	margin: 0;
}

.sub_contact {
	padding: 0 20px;
}

.template .supplement {
	margin-right: 0;
}

#template .button {
	margin: 0 0 80px auto;
}

.footer .contener {
	padding: 32px 20px 8px 20px;
}

.footer .nav {
	flex-direction: column;
}

.footer .nav li {
	padding-bottom: 24px;
}

.works , .aboutme , .flow , .pricing , .template , .privacypolicy {
	padding: 0 20px;
}

#contact ,#confirm ,#thanks{
	padding: 0 20px;
}

.profile_02 {
	margin-top: 20px;
}



}







@media screen and (max-width:599px) {
	/* 画面サイズが599px以下は、ここを読み込む */

.mv_img {
	height: 100vh;
}

.mv_catch {
	transform: translate(8%,-120%);
}

.contact {
	padding: 0;
}

.contact p {
	letter-spacing: 0;
	top: 35%;
	font-size: 14px;
}

.contact .button {
	top: 75%;
}

#contact .input_area {
	width: 100%;
}

#contact textarea {
	width: 100%;
}

#confirm .row {
	flex-direction: column;
}

#confirm .col-3 {
	width: 100%;
	padding-bottom: 8px;
}

#confirm .col-9 {
	width: 100%;
	padding-bottom: 16px;
}

.thanks_msg {
	margin: 20px 0 160px 0;
	padding: 40px 24px;
}

#works li , #template li {
	flex-direction: column;
}

#works .works_img , .template_img {
	width: 100%;
	max-width: 599px;
  margin: 0 auto;
}

#works ul , #template ul {
	padding-right: 0;
}

#works .works_textbox , .template_textbox {
	width: 100%;
	padding-left: 0;
}

.supplement_title {
	width: 100%;
}

.supplement_content {
	width: 100%;
	padding-left: 24px;
}

#template .supplement li {
	padding-bottom: 16px;
}

.profile_02 li {
	flex-direction: column;
}

.AD {
	width: 100%;
}

.tl_detail {
	width: 100%;
	padding-left: 15px;
}

.am_inner {
	padding: 20px 0 0 0;
}

.profile_01 {
	flex-direction: column;
}

.profile_img {
	width: 100%;
}

.profile_01 .profile_textbox {
	width: 100%;
}

.profile_textbox {
	padding-left: 0;
}

.left_line {
	margin-top: 16px;
}

.mf_title {
	margin-top: 0;
}

.profile_01 {
	margin-bottom: 0;
}

#contact .contact_form {
	padding: 0;
}

#contact .co_title {
	width: 100%;
}

#contact .input {
	width: 100%;
}

.flow_detail {
	flex-direction: column;
	padding: 16px 0 16px 16px;
}

.flow ul {
	padding: 0 0 0 8px;
}

.flow_detail .textarea {
	width: 95%;
}

.flow_detail .flow_icon {
	padding-bottom: 16px;
}

.flow_title {
	flex-wrap: nowrap;
}

.pricing_list {
	padding: 20px 0 10px 0;
}

.pricing_list li:nth-child(6) .service_detail {
	flex-direction: column;
	justify-content: center;
}

.service_detail .button {
	justify-content: center;
}

.note_02 {
	padding: 0 0 20px 0;
}

.note_01 {
	padding: 0 0 72px 0;
}

.footer_info {
	padding: 40px 0;
}

.footer_info p {
	padding-top: 16px;
}



}