@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@100;300;400;500;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Klee+One:wght@400;600&display=swap');
/*base*/
*{
	margin: 0px;
	padding: 0px;
  box-sizing: border-box;
}

header, footer, nav, section, article {
	display:block;
}

html{
	font-size: 62.5%;
	overflow-y: scroll;
}

body{
	overflow: hidden;
	font-size: 1.4rem;
	color: #402929;
	background: #ffffff;
	font-family: 'M PLUS 1p','Helvetica','Helvetica Neue','Avenir','Arial','メイリオ',sans-serif;
	background-color: #FFC424;
}
figure {
  display: inline-block;
}
/*float*/
.alignleft{
	float: left;
}

.alignright{
	float: right;
}

.cl{
	clear: both;
}

.clearfix{
	overflow: hidden;
}
* html .clearfix { zoom: 1; }  /* IE6 */
*:first-child+html .clearfix{ zoom: 1; }  /* IE7 */

/*text-align*/

.txt_alignleft{
	text-align: left !important;
}
.txt_alignright{
	text-align: right !important;
}
.txt_aligncenter{
	text-align: center !important;
}

/*vertical-align*/

.txt_aligntop{
	vertical-align: top !important;
}
.txt_alignmiddle{
	vertical-align: middle !important;
}
.txt_alignbottom{
	vertical-align: bottom !important;
}

/*margin*/
.mt20 {
	margin-top: 20px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}

/*link*/
a img {
    border-style: none;
  }

a:link{
	color: #222222;
	text-decoration: none;
}

a:active{
	text-decoration: none;
	}

a:visited{
	color: #222222;
	}

a:hover{
	text-decoration: none;
}

a.btn_join{
	display: block;
	background: #dd0034;
	color: #ffffff;
	text-align: center;
	border-radius: 5px;
}

a img:hover,a.btn_join:hover{
	opacity: 0.8;
}


/*header*/
header {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
header .main_visual {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	min-height: 400px;
	width: 1400px;
	overflow: hidden;
	background: url('../img/curry_interview/main_visual.png') right top no-repeat;
	background-size: 680px;
	z-index: -1;
}
header .main_massege {
	width: 1000px;
  padding: 30px 520px 30px 20px;
	margin: 0 auto;
	color: #0D2396;
}
header .main_massege a {
	width: 220px;
	margin-bottom: 20px;
	display: block;
}
header .main_massege .title {
	max-width: 390px;
	margin-bottom: 15px;
}
header .main_massege img {
	width: 100%;
}
header .main_massege .main_description {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
header .main_massege .main_description strong {
	display: block;
	padding-top: 10px;
	font-size: 1.8rem;
	font-weight: bold;
}

section {
	position: relative;
	width: 100%;
	max-width: 900px;
	margin: 50px auto;
	padding: 30px 80px;
	background-color: #fff;
	border-radius: 10px;
	text-align: center;
}
section figure {
	width: 100%;
	margin: 15px auto 30px;
	text-align: center;
}
section figure.w500 img {
	max-width: 500px;
}
section figure.outline {
	padding: 5px 10px;
  border: 2px solid #60C3BB;
}
section figure img {
	width: 100%;
	max-width: 750px;
}

section figcaption {
	width: 100%;
	margin-top: 30px;
	text-align: center;
	font-size: 13px;
	color: #60C3BB;
}
section figcaption.recipe_photo {
	color: #F2503B;
}
section h2 {
	position: relative;
	display: inline-block;
	margin: 135px auto 15px;
	font-size: 3rem;
	color: #FA6F45;
	text-align: center;
	border-bottom: 2px dashed #f96f45;
}
section h2::before {
	content: "";
	position: absolute;
	width: 100px;
	height: 100px;
	background-size: contain !important;
	top: -115px;
	left: 50%;
	transform: translateX(-50%);
}
.content_wrap {
	background: url('../img/curry_interview/back_bg_01.webp') center top repeat-x;
	background-size: 1850px;
}
section.interview_01 h2::before {
	background: url('../img/curry_interview/title_no01.webp') center top no-repeat;
}
section.interview_02 h2::before {
	width: 120px;
	background: url('../img/curry_interview/title_no02.webp') center top no-repeat;
}
section.interview_03 h2::before {
	height: 125px;
  width: 150px;
  top: -135px;
	background: url('../img/curry_interview/title_no03.webp') center top no-repeat;
}
section.interview_04 h2 {
	margin-top: 160px;
}
section.interview_04 h2::before {
	width: 130px;
  height: 120px;
  top: -140px;
	background: url('../img/curry_interview/title_no04.webp') center top no-repeat;
}
section.interview_05 h2::before {
	background: url('../img/curry_interview/title_no05.webp') center top no-repeat;
}
section.interview_06 h2::before {
	width: 130px;
  height: 115px;
  top: -137px;
	background: url('../img/curry_interview/title_no06.webp') center top no-repeat;
}
section.interview_01,section.interview_02,section.interview_03,
section.interview_04,section.interview_05,section.interview_06,
section.profile, .footer_comment, .restaurant_info, .offerbox_info {
	box-shadow: 1px 1px 5px 0px rgba(108,93,93,0.3);
	-webkit-box-shadow: 1px 1px 5px 0px rgba(108,93,93,0.3);
	-moz-box-shadow: 1px 1px 5px 0px rgba(108,93,93,0.3);
}
section.profile {
	padding: 30px 50px;
}
section.profile h2 {
	position: relative;
	padding: 70px 0 0 0;
	margin: 0;
	font-size: 2.5rem;
	color: #402929;
	border: 0;
}
section.profile h2::before {
	content: "";
  position: absolute;
  width: 130px;
  height: 45px;
  top: 20px;
	background: url('../img/curry_interview/profile_title_bg.svg') center top no-repeat;
}
section.profile .profile_content {
	display: flex;
	justify-content: center;
	align-items: center;
  margin: 30px auto;
}
section.profile .profile_content figure {
	width: 200px;
  height: 100%;
  margin: 0;
  flex: 1;
}
section.profile .profile_content figure img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
section.profile .profile_content .profile_tabel {
	width: 550px;
	display: flex;
	margin-left: 30px;
	flex-wrap: wrap;
	text-align: left;
	border-top: 3px solid #FFA767;
}
section.profile .profile_content .profile_tabel dt,
section.profile .profile_content .profile_tabel dd {
	display: flex;
  flex-direction: column;
  justify-content: center;
	padding: 10px 0;
	border-bottom: 1px solid #B5B7BC;
	font-size: 1.3rem;
}
section.profile .profile_content .profile_tabel dt {
	width: 190px;
	padding-left: 15px;
}
section.profile .profile_content .profile_tabel dd {
	width: 360px;
	padding-right: 5px;
	font-weight: 500;
}

/* interview icon */
.comment_box {
	position: relative;
  display: flex;
}
.comment_ichikawa::before {
	content: "市川";
	background: url('../img/curry_interview/icon_ichikawa.png') center top no-repeat;
}
.comment_student::before {
	content: "鈴村さん";
	background: url('../img/curry_interview/icon_suzumura.png') center top no-repeat;
}
.comment_student.student_Mine::before {
	content: "峰さん";
	background: url('../img/curry_interview/icon_mine.png') center top no-repeat;
	background-size: 50px;
}
.comment_masukawa::before {
	content: "増川さん";
	background: url('../img/curry_interview/icon_masukawa_small.png') center top no-repeat;
}
.comment_box::before {
	position: relative;
	display: block;
	width: 60px;
	height: 70px;
	padding-top: 55px;
	margin: 10px auto;
	left: 0;
	text-align: center;
	box-sizing: border-box;
	background-size: 50px;
	font-size: 12px;
}
.comment_box > p {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-left: 55px;
  line-height: 2.3rem;
	text-align: left;
	flex: 1;
}
.comment_student > p,
.comment_masukawa > p {
	position: relative;
  padding: 20px 30px;
  margin: 15px 0 10px 30px;
  background: #FFC424;
  text-align: left;
  border-radius: 10px;
}
.comment_student > p::after,
.comment_masukawa > p::after {
	content: '';
  border: 10px solid transparent;
  border-top-color: #FFC424;
  position: absolute;
  top: 15px;
  left: -10px;
}
.curry_comment {
	position: relative;
	display: flex;
	justify-content: center;
  align-items: center;
	margin: 80px auto 30px;
	padding: 10px 30px;
	border-radius: 10px;
	background-color: #FFA236;
	text-align: left;
}
.curry_comment::before {
	content: "かりい食堂　店主増川さん";
	position: relative;
	display: block;
	width: 100px;
	height: 130px;
	padding-top: 95px;
	margin: 10px auto;
	left: 0;
	text-align: center;
	box-sizing: border-box;
	font-size: 12px;
	font-weight: 500;
	background: url('../img/curry_interview/icon_masukawa.png') center top no-repeat;
	background-size: 90px;
}
.curry_comment::after {
	content: "";
  position: absolute;
  width: 200px;
  height: 120px;
  top: -83px;
  right: 20px;
  background: url(../img/curry_interview/curry_comment_title_pc.png) center center no-repeat;
  background-size: contain;
}
.curry_comment p {
	display: flex;
	flex: 1;
  flex-direction: column;
  justify-content: center;
	margin-left: 20px;
	padding: 20px;
	line-height: 2.3rem;
}

.curry_comment strong {
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #FFE267));
  background: -webkit-linear-gradient(transparent 60%, #FFE267 60%);
  background: linear-gradient(transparent 60%, #FFE267 60%);
}
.recipe {
	width: 100%;
	max-width: 750px;
	min-height: 150px;
	background: url('../img/curry_interview/recipe_bg.svg') center top;
	background-size: contain;
	background-repeat: repeat-y;
}
.recipe ul {
	position: relative;
}
.recipe ul::before {
	content: "";
  position: absolute;
  width: 75px;
  height: 60px;
  left: 30px;
  top: 15px;
	background: url('../img/curry_interview/recipe_title.svg') center center no-repeat;
	background-size: contain;
}
.recipe ul li {
	padding: 0 30PX 0 150px;
	line-height: 40px;
	text-align: left;
	list-style: none;
	font-family: 'Klee One', cursive;
	font-weight: bold;
}
.c_message {
	position: relative;
	width: 100%;
	max-width: 750px;
	margin: 70px auto 30px;
	padding: 40px;
	border-radius: 20px;
	background-color: #D9E6FF;
}
.c_message h3 {
	padding: 30px 0 20px;
	font-size: 2.2rem;
	color: #3F5EE0;
	font-weight: 500;
}
.c_message .note_line {
	width: 100%;
  padding: 0 1em;
  background: linear-gradient(#A5AAC3 1px, transparent 1px) #D9E6FF;
  background-size: auto 3em;
  line-height: 3em;
  border-bottom: 1px solid #A5AAC3;
  overflow: hidden;
  text-align: left;
}
.c_message_logo {
	position: absolute;
  width: 240px;
  padding: 15px 25px;
  top: -35px;
  right: 30px;
  background-color: #fff;
  border: 5px solid #D9E6FF;
  border-radius: 20px;
}
.c_message_logo img {
	width: 100%;
}

/* common footer */
.footer_comment {
	display: flex;
	position: relative;
	margin-top: 100px;
}
.footer_comment .comments_box {
	display: flex;
	max-width: 350px;
	flex-direction: column;
	justify-content: center;
	position: relative;
  padding: 20px 30px;
  margin: 15px 0 10px 30px;
  background: #3B3BD6;
  text-align: left;
  border-radius: 10px;
	color: #fff;
}
.footer_comment .comments_box p {
	margin: 10px auto;
	line-height: 2.5rem;
}
.footer_comment .comments_box::after {
	content: '';
  border: 10px solid transparent;
  border-top-color: #3B3BD6;
  position: absolute;
  top: 15px;
  right: -10px;
}
.footer_comment .footer_comment_illust {
	position: absolute;
  max-width: 250px;
  margin: 0 30px;
  top: -70px;
  right: 110px;
}
.footer_comment .footer_comment_illust img {
	width: 100%;
}

.common_footer {
	padding: 0;
	background-color: transparent;
}
.common_footer h2 {
	padding: 50px 0 0 0;
	margin: 0;
	font-size: 2.5rem;
	color: #402929;
	border: 0;
}
.restaurant_info {
	width: 100%;
	max-width: 900px;
	margin: 30px auto;
	padding: 50px 80px 50px 400px;
	background-color: #fff;
	border-radius: 10px;
	text-align: center;
	background: url('../img/curry_interview/restaurant_photo.webp') left center no-repeat;
	background-color: #fff;
	line-height: 2.5rem;
}
.restaurant_info h3 {
	padding-bottom: 10px;
	text-align: left;
}
.restaurant_info dl {
	display: flex;
  flex-wrap: wrap;
	text-align: left;
}
.restaurant_info dl dt {
	width: 85px;
  margin-bottom: 10px;
}
.restaurant_info dl dd {
	width: calc(100% - 85px);
	word-break: break-all;
	line-height: 2.2rem;
	margin-bottom: 10px;
}
.restaurant_info dl dd a:hover{
	color: #3B3BD6;
}
.related_interview ul {
	display: flex;
	flex-wrap: wrap;
  margin: 30px auto 0;
  justify-content: space-around;
}
.related_interview ul li {
	width: 30%;
	list-style: none;
}
.related_interview ul li a img {
	width: 100%;
}
.footer_sns {
	display: flex;
  justify-content: center;
}
.footer_sns p {
	margin: 10px 5px;
}
.footer_sns p,
.footer_sns a {
	display: flex;
  justify-content: center;
  align-items: center;
}
.footer_sns img {
	max-width: 35px;
  height: auto;
}
.offerbox_info {
	display: flex;
	flex-wrap: wrap;
	padding: 25px;
	background-color: #3B3BD6;
	color: #fff;
}
.offerbox_info .offerbox_info_illsut {
	width: 300px;
}
.offerbox_info .offerbox_info_illsut img {
	width: 100%;
}
.offerbox_info .offerbox_info_txt {
	width: calc(100% - 300px);
	padding: 30px 20px;
}
.offerbox_info .offerbox_info_txt .offerbox_info_sub {
	font-size: 1.7rem;
	line-height: 2.8rem;
}
.offerbox_info .offerbox_info_txt h2 {
	margin-bottom: 20px;
	padding-top: 10px;
	color: #fff;
}
.offerbox_info .offerbox_info_txt ul {
	display: flex;
	width: 100%;
	margin-top: 30px;
	align-items: initial;
	justify-content: space-evenly;
}
.offerbox_info .offerbox_info_txt ul li {
	width: 32%;
	padding: 20px;
	background-color: #fff;
	list-style: none;
	border-radius: 15px;
	color: #012554;
	font-size: 10px;
}
.offerbox_info .offerbox_info_txt ul li strong {
  font-size: 1.5rem;
}
.offerbox_info .offerbox_info_txt ul li .info_txt_fontsize02 {
	font-size: 12px;
}
.offerbox_info .offerbox_info_txt ul li .info_txt_fontsize02 strong {
  font-size: 2rem;
}
.offerbox_info .offerbox_info_txt ul li sup {
	font-size: 50%;
}
.offerbox_info .offerbox_info_txt ul li .annotation {
	margin-top: 5px;
	font-size: 10px;
	color: #747880;
}
.offerbox_info .btn_area {
	width: 100%;
	margin: 10px auto 30px;
}
.offerbox_info .btn_area a {
	display: inline-block;
	padding: 20px 40px;
	width: 280px;
	margin: 5px;
	border-radius: 50px;
	font-size: 1.5rem;
	font-weight: bold;
}
.offerbox_info .btn_area a.btn_style01 {
	background-color: #E54949;
	color: #fff;
}
.offerbox_info .btn_area a.btn_style02 {
	background-color: #fff;
	color: #E54949;
	border:3px solid #E54949;
}
footer {
	text-align: center;
}
footer .footer__nav ul {
	display: flex;
	justify-content: center;
	width: 100%;
}
footer .footer__nav ul li {
	list-style: none;
	margin: 0 10px;
}
footer small {
	padding: 10px 0 30px;
	text-align: center;
	font-size: 1.3rem;
}
	.sp_view {
		display: none;
	}
	.pc_view {
		display: block;
	}
@media screen and (max-width:800px) and (min-width:761px) {
	header .main_massege {
    padding: 30px 620px 30px 20px;
	}
}
@media screen and (max-width:760px) {
	.sp_view {
		display: block;
	}
	.pc_view {
		display: none;
	}
	header .main_massege {
    width: 100%;
    padding: 80vw 20px 20px 20px;
		text-align: center;
	}
	header .main_massege a,
	header .main_massege .title {
    margin: 0 auto 15px;
	}
	header .main_visual {
    top: 0;
    left: 0;
    transform: none;
    min-height: 130vw;
    width: 100%;
    background: url(../img/curry_interview/main_visua_sp.webp) left top no-repeat;
    background-size: 130vw;
	}
	header .main_massege .main_description strong {
    font-size: 1.6rem;
	}
	header .main_massege .main_description {
    font-size: 1.4rem;
    line-height: 2.2rem;
	}
	section {
    padding: 30px 15px;
	}
	section h2 {
    margin: 120px ​auto 25px;
    padding-bottom: 10px;
    font-size: 2.5rem;
	}
	section figcaption {
		font-size: 1.2rem;
	}
	section.profile {
		margin-top: 20px;
    padding: 30px 20px;
	}
	section.profile .profile_content,
	section.profile .profile_content .profile_tabel {
    flex-direction: column;
		width: 100%;
    margin: 30px auto 15px;
	}
	section.profile .profile_content figure img {
    width: 100%;
    height: 220px;
	}
	section.profile .profile_content .profile_tabel dt,
	section.profile .profile_content .profile_tabel dd {
		width: 100%;
		padding: 10px 20px;
		text-align: center;
	}
	section.profile .profile_content .profile_tabel dt {
		background-color: #F5F4F4;
	}
	section.interview_04 h2 {
    margin-top: 140px;
	}
	.content_wrap {
		max-width: 380px;
    margin: 0 auto;
	}
	.comment_box > p {
    padding-left: 30px;
		font-size: 1.3rem;
		line-height: 2.2rem;
	}
	.comment_student > p, .comment_masukawa > p {
    margin: 15px 0 10px 25px;
    padding: 20px;
	}
	.comment_box::before {
		width: 50px;
	}
	.curry_comment {
    padding: 10px 15px;
		margin: 50px auto 30px;
	}
	.curry_comment p {
    margin-left: 0;
    padding: 130px 15px 20px 15px;
		font-size: 1.3rem;
    line-height: 2.2rem;
	}
	.curry_comment::before{
		position: absolute;
    top: -20px;
    left: 25px;
	}
	.curry_comment::after {
		width: 120px;
    height: 160px;
    top: -40px;
    right: 20px;
	  background: url(../img/curry_interview/curry_comment_title_sp.png) center center no-repeat;
		background-size: contain;
	}
	.curry_comment .curry_comment_highlight {
		display: block;
	}
	.recipe {
    width: 100%;
    max-width: 100%;
    min-height: 250px;
    background: url(../img/curry_interview/recipe_bg_sp.svg) left top;
    background-size: cover;
		background-size: auto;
	}
	.recipe ul {
    padding: 40px 0;
	}
	.recipe ul li {
    padding: 0 20px 0 30px;
	}
	.recipe ul::before {
		width: 140px;
		height: 35px;
		left: 23px;
		top: 7px;
    background: url(../img/curry_interview/recipe_title_sp.svg) center center no-repeat;
		background-size: contain;
	}
	figure + figcaption {
		margin-top: 0;
	}
	.c_message {
    padding: 40px 20px;
    font-size: 1.3rem;
	}
	.footer_comment {
		padding-top: 55vw;
	}
	.footer_comment .footer_comment_illust {
    position: absolute;
    max-width: 200px;
    margin: 0 auto;
    top: -70px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
	}
	.footer_comment .comments_box {
		margin: 10px;
	}
	.footer_comment .comments_box::after {
    top: -12px;
    top: -4px;
    right: 30px;
    transform: rotate(45deg);
	}
	.common_footer h2 {
    padding: 50px 20px 0 20px;
    font-size: 2.2rem;
	}
	.restaurant_info {
    width: 100%;
    max-width: 900px;
    margin: 30px auto;
    padding: 380px 0 0 0;
    border-radius: 10px;
    text-align: center;
    background: url(../img/curry_interview/restaurant_photo.webp) center bottom no-repeat;
    background-size: cover;
    background-color: #fff;
    line-height: 2.5rem;
	}
	.restaurant_info h3 {
		padding:20px 20px 0 20px;
    background-color: rgba(255,255,255,0.8);
	}
	.restaurant_info dl {
		padding:10px 20px 20px 20px;
    background-color: rgba(255,255,255,0.8);
    font-size: 1.3rem;
		line-height: 2rem;
		border-radius: 0 0 10px 10px;
	}
	.restaurant_info dl dt {
    width: 70px;
	}
	.related_interview ul li {
		width: 100%;
		margin:0 15px 10px 15px;
		list-style: none;
	}
	.offerbox_info {
    padding: 25px;
    margin-top: 80px;
	}
	.offerbox_info .offerbox_info_illsut {
    width: 300px;
    position: relative;
    top: -70px;
    margin: 0 auto -35px;
	}
	.offerbox_info .offerbox_info_txt {
    width: 100%;
    padding: 0;
	}
	.offerbox_info .offerbox_info_txt ul {
    flex-direction: column;
	}
	.offerbox_info .offerbox_info_txt ul li {
    width: 100%;
    margin-bottom: 10px;
		font-size: 15px;
	}
	.offerbox_info .offerbox_info_txt ul li br {
		display: none;
	}
	.offerbox_info .btn_area a {
    width: 100%;
    max-width: 280px;
	}
	footer .footer__nav ul {
		flex-direction: column;
		line-height: 3rem;
	}
}
